File trigona_be6dfedd91e1ebc81d58a61b05b0ef93322425b247636a0f7f5c3eeebbc52edd.exe
Function:
    004114f0
    004114f0fn_4114f0:
    004114f0push rbp
    004114f1push r14
    004114f3push r13
    004114f5push rdi
    004114f6push rsi
    004114f7push rbx
    004114f8sub rsp, 1176
    004114ffmov rbp, rsp
    00411502mov [rbp+32], rcx
    00411506mov [rbp+40], rdx
    0041150amov rbx, r8
    0041150dmov rsi, [rbp+40]
    00411511lea rcx, [rip+492]
    00411518call GetModuleHandleW
    0041151dtest rax, rax
    00411520je 0x411576
    00411522mov rcx, rax
    00411525lea rdx, [rip+498]
    0041152ccall GetProcAddress
    00411531mov rdi, rax
    00411534test rax, rax
    00411537je 0x411576
    00411539mov rcx, [rbp+40]
    0041153dxor edx, edx
    0041153fxor r8, r8
    00411542call rdi
    00411544mov r13l, eax
    00411547test r13l, r13l
    0041154ajle 0x411576
    0041154cmov rcx, rbx
    0041154fmov edx, r13l
    00411552sub edx, 1
    00411555call fn_40d8d0
    0041155amov rcx, [rbx]
    0041155dcall fn_40d710
    00411562mov rsi, rax
    00411565mov rcx, [rbp+40]
    00411569mov rdx, rsi
    0041156cmov r8l, r13l
    0041156fcall rdi
    00411571jmp 0x4116f0
    00411576
    00411576loc_411576:
    00411576mov rax, [rbp+40]
    0041157acmp [rax], 92
    0041157ejne 0x4115c9
    00411580mov rax, [rbp+40]
    00411584cmp [rax+2], 92
    00411589jne 0x4116f0
    0041158fmov rcx, [rbp+32]
    00411593mov rax, [rbp+40]
    00411597lea rdx, [rax+4]
    0041159bcall fn_4114c0
    004115a0mov rbx, rax
    004115a3cmp [rbx], 0
    004115a7je 0x4116f0
    004115admov rcx, [rbp+32]
    004115b1lea rdx, [rbx+2]
    004115b5call fn_4114c0
    004115bamov rbx, rax
    004115bdcmp [rbx], 0
    004115c1je 0x4116f0
    004115c7jmp 0x4115d1
    004115c9
    004115c9loc_4115c9:
    004115c9mov rax, [rbp+40]
    004115cdlea rbx, [rax+4]
    004115d1
    004115d1loc_4115d1:
    004115d1mov r13, rbx
    004115d4mov rax, [rbp+40]
    004115d8sub r13, rax
    004115dbsar r13, 1
    004115dfjns 0x4115e5
    004115e1adc r13, 0
    004115e5
    004115e5loc_4115e5:
    004115e5mov eax, r13l
    004115e8add eax, 1
    004115ebcmp eax, 261
    004115f1jg 0x4116f0
    004115f7lea rcx, [rbp+54]
    004115fbmov edx, eax
    004115fdmov r8, [rbp+40]
    00411601call fn_410cf0
    00411606jmp 0x4116d4
    0041160b
    0041160bloc_41160b:
    0041160bmov rcx, [rbp+32]
    0041160flea rdx, [rbx+2]
    00411613call fn_4114c0
    00411618mov rdi, rax
    0041161bmov rax, rdi
    0041161esub rax, rbx
    00411621movsxd rcx, r13l
    00411624mov rdx, rax
    00411627sar rdx, 1
    0041162bjns 0x411631
    0041162dadc rdx, 0
    00411631
    00411631loc_411631:
    00411631lea rcx, [rcx+rdx+1]
    00411636cmp rcx, 261
    0041163djg 0x4116f0
    00411643movsxd r14, r13l
    00411646lea rcx, [rbp+2*r14+54]
    0041164bmov rdx, rax
    0041164esar rdx, 1
    00411652jns 0x411658
    00411654adc rdx, 0
    00411658
    00411658loc_411658:
    00411658add edx, 1
    0041165bmov r8, rbx
    0041165ecall fn_410cf0
    00411663lea rcx, [rbp+54]
    00411667lea rdx, [rbp+576]
    0041166ecall FindFirstFileW
    00411673cmp rax, -1
    00411677je 0x4116f0
    00411679mov rcx, rax
    0041167ccall FindClose
    00411681lea rcx, [rbp+620]
    00411688call lstrlenW
    0041168dmov ecx, r13l
    00411690add ecx, eax
    00411692add ecx, 2
    00411695cmp ecx, 261
    0041169bjg 0x4116f0
    0041169dmov [rbp+2*r14+54], 92
    004116a5lea rcx, [rbp+2*r14+56]
    004116aamov edx, 260
    004116afsub edx, r13l
    004116b2lea r8, [rbp+620]
    004116b9call fn_410cf0
    004116belea rcx, [rbp+620]
    004116c5call lstrlenW
    004116caadd r13l, eax
    004116cdadd r13l, 1
    004116d1mov rbx, rdi
    004116d4
    004116d4loc_4116d4:
    004116d4cmp [rbx], 0
    004116d8jne 0x41160b
    004116demov rcx, [rbp+40]
    004116e2mov edx, 261
    004116e7lea r8, [rbp+54]
    004116ebcall fn_410cf0
    004116f0
    004116f0loc_4116f0:
    004116f0mov rax, rsi
    004116f3lea rsp, [rbp+1176]
    004116fapop rbx
    004116fbpop rsi
    004116fcpop rdi
    004116fdpop r13
    004116ffpop r14
    00411701pop rbp
    00411702ret
    004114f0
    00411703
    00411703 00 6b 00 65 00 72 00 6e 00 65 00 6c 00 .k.e.r.n.e.l.
    00411710 33 00 32 00 2e 00 64 00 6c 00 6c 00 00 00 47 65 3.2...d.l.l...Ge
    00411720 74 4c 6f 6e 67 50 61 74 68 4e 61 6d 65 57 00 cc tLongPathNameW..
    00411730
    00411730fn_411730:
    00411730push rbp
    00411731sub rsp, 640
    00411738mov rbp, rsp
    0041173bmov [rbp+88], 0
    00411743mov [rbp+56], rbp
    00411747mov [rbp+656], rcx
    0041174emov [rbp+664], rdx
    00411755mov rcx, [rbp+664]
    0041175ccall fn_40bec0
    00411761nop
    00411762cmp [rbp+664], 0
    0041176ajne 0x41177f
    0041176cxor ecx, ecx
    0041176elea rdx, [rbp+102]
    00411772mov r8l, 261
    00411778call GetModuleFileNameW
    0041177djmp 0x41179c
    0041177f
    0041177floc_41177f:
    0041177fmov rcx, [rbp+664]
    00411786call fn_40d710
    0041178blea rcx, [rbp+102]
    0041178fmov edx, 261
    00411794mov r8, rax
    00411797call fn_410cf0
    0041179c
    0041179cloc_41179c:
    0041179ccmp [rbp+102], 0
    004117a1je 0x4119f6
    004117a7mov [rbp+632], 0
    004117b2mov ecx, 0xffffffff80000001
    004117b7lea rdx, [rip+714]
    004117bexor r8, r8
    004117c1mov r9l, 0x20019
    004117c7lea rax, [rbp+624]
    004117cemov [rsp+32], rax
    004117d3call RegOpenKeyExW
    004117d8test eax, eax
    004117daje 0x4118be
    004117e0mov ecx, 0xffffffff80000002
    004117e5lea rdx, [rip+668]
    004117ecxor r8, r8
    004117efmov r9l, 0x20019
    004117f5lea rax, [rbp+624]
    004117fcmov [rsp+32], rax
    00411801call RegOpenKeyExW
    00411806test eax, eax
    00411808je 0x4118be
    0041180emov ecx, 0xffffffff80000001
    00411813lea rdx, [rip+680]
    0041181axor r8, r8
    0041181dmov r9l, 0x20019
    00411823lea rax, [rbp+624]
    0041182amov [rsp+32], rax
    0041182fcall RegOpenKeyExW
    00411834test eax, eax
    00411836je 0x4118be
    0041183cmov ecx, 0xffffffff80000002
    00411841lea rdx, [rip+634]
    00411848xor r8, r8
    0041184bmov r9l, 0x20019
    00411851lea rax, [rbp+624]
    00411858mov [rsp+32], rax
    0041185dcall RegOpenKeyExW
    00411862test eax, eax
    00411864je 0x4118be
    00411866mov ecx, 0xffffffff80000001
    0041186blea rdx, [rip+644]
    00411872xor r8, r8
    00411875mov r9l, 0x20019
    0041187blea rax, [rbp+624]
    00411882mov [rsp+32], rax
    00411887call RegOpenKeyExW
    0041188ctest eax, eax
    0041188eje 0x4118be
    00411890mov ecx, 0xffffffff80000001
    00411895lea rdx, [rip+652]
    0041189cxor r8, r8
    0041189fmov r9l, 0x20019
    004118a5lea rax, [rbp+624]
    004118acmov [rsp+32], rax
    004118b1call RegOpenKeyExW
    004118b6test eax, eax
    004118b8jne 0x4119f5
    004118be
    004118beloc_4118be:
    004118benop
    004118bfmov rcx, rbp
    004118c2lea rdx, [rbp+102]
    004118c6lea r8, [rbp+88]
    004118cacall fn_4114f0
    004118cfmov [rbp+80], rax
    004118d3mov rcx, [rbp+624]
    004118damov rdx, [rbp+80]
    004118dexor r8, r8
    004118e1xor r9, r9
    004118e4mov [rsp+32], 0
    004118edlea rax, [rbp+76]
    004118f1mov [rsp+40], rax
    004118f6call RegQueryValueExW
    004118fbtest eax, eax
    004118fdjne 0x411952
    004118ffmovsxd rcx, [rbp+76]
    00411903call fn_405700
    00411908mov [rbp+632], rax
    0041190fmov rcx, [rbp+624]
    00411916mov rdx, [rbp+80]
    0041191axor r8, r8
    0041191dxor r9, r9
    00411920mov rax, [rbp+632]
    00411927mov [rsp+32], rax
    0041192clea rax, [rbp+76]
    00411930mov [rsp+40], rax
    00411935call RegQueryValueExW
    0041193amov rcx, [rbp+656]
    00411941mov rdx, [rbp+632]
    00411948call fn_40d780
    0041194djmp 0x4119d2
    00411952
    00411952loc_411952:
    00411952mov rcx, [rbp+624]
    00411959lea rdx, [rip+520]
    00411960xor r8, r8
    00411963xor r9, r9
    00411966mov [rsp+32], 0
    0041196flea rax, [rbp+76]
    00411973mov [rsp+40], rax
    00411978call RegQueryValueExW
    0041197dtest eax, eax
    0041197fjne 0x4119d2
    00411981movsxd rcx, [rbp+76]
    00411985call fn_405700
    0041198amov [rbp+632], rax
    00411991mov rcx, [rbp+624]
    00411998lea rdx, [rip+457]
    0041199fxor r8, r8
    004119a2xor r9, r9
    004119a5mov rax, [rbp+632]
    004119acmov [rsp+32], rax
    004119b1lea rax, [rbp+76]
    004119b5mov [rsp+40], rax
    004119bacall RegQueryValueExW
    004119bfmov rcx, [rbp+656]
    004119c6mov rdx, [rbp+632]
    004119cdcall fn_40d780
    004119d2
    004119d2loc_4119d2:
    004119d2nop
    004119d3cmp [rbp+632], 0
    004119dbje 0x4119e9
    004119ddmov rcx, [rbp+632]
    004119e4call fn_405730
    004119e9
    004119e9loc_4119e9:
    004119e9mov rcx, [rbp+624]
    004119f0call RegCloseKey
    004119f5
    004119f5loc_4119f5:
    004119f5nop
    004119f6
    004119f6loc_4119f6:
    004119f6lea rcx, [rbp+88]
    004119facall fn_40bcf0
    004119fflea rcx, [rbp+664]
    00411a06call fn_40bcf0
    00411a0bmov rax, [rbp+656]
    00411a12lea rsp, [rbp+640]
    00411a19pop rbp
    00411a1aret
    00411730
    00411a1b
    00411a1b 48 8d 44 20 00 H.D .
    00411a20
    00411a20fn_411a20:
    00411a20push rbp
    00411a21push rbx
    00411a22sub rsp, 40
    00411a26mov rbp, rsp
    00411a29mov rbx, rdx
    00411a2ccmp [rbx+632], 0
    00411a34je 0x411a42
    00411a36mov rcx, [rbx+632]
    00411a3dcall fn_405730
    00411a42
    00411a42loc_411a42:
    00411a42mov rcx, [rbx+624]
    00411a49call RegCloseKey
    00411a4elea rsp, [rbp+40]
    00411a52pop rbx
    00411a53pop rbp
    00411a54ret
    00411a20
    00411a55
    00411a55 48 8b c0 48 8d 04 05 00 00 00 00 H..H.......
    00411a60
    00411a60fn_411a60:
    00411a60push rbp
    00411a61push rbx
    00411a62sub rsp, 40
    00411a66mov rbp, rsp
    00411a69mov rbx, rdx
    00411a6clea rcx, [rbx+88]
    00411a70call fn_40bcf0
    00411a75lea rcx, [rbx+664]
    00411a7ccall fn_40bcf0
    00411a81lea rsp, [rbp+40]
    00411a85pop rbx
    00411a86pop rbp
    00411a87ret
    00411a60
    00411a88
    00411a88 53 00 6f 00 66 00 74 00 S.o.f.t.
    00411a90 77 00 61 00 72 00 65 00 5c 00 45 00 6d 00 62 00 w.a.r.e.\.E.m.b.
    00411aa0 61 00 72 00 63 00 61 00 64 00 65 00 72 00 6f 00 a.r.c.a.d.e.r.o.
    00411ab0 5c 00 4c 00 6f 00 63 00 61 00 6c 00 65 00 73 00 \.L.o.c.a.l.e.s.
    00411ac0 00 00 53 00 6f 00 66 00 74 00 77 00 61 00 72 00 ..S.o.f.t.w.a.r.
    00411ad0 65 00 5c 00 43 00 6f 00 64 00 65 00 47 00 65 00 e.\.C.o.d.e.G.e.
    00411ae0 61 00 72 00 5c 00 4c 00 6f 00 63 00 61 00 6c 00 a.r.\.L.o.c.a.l.
    00411af0 65 00 73 00 00 00 53 00 6f 00 66 00 74 00 77 00 e.s...S.o.f.t.w.
    00411b00 61 00 72 00 65 00 5c 00 42 00 6f 00 72 00 6c 00 a.r.e.\.B.o.r.l.
    00411b10 61 00 6e 00 64 00 5c 00 4c 00 6f 00 63 00 61 00 a.n.d.\.L.o.c.a.
    00411b20 6c 00 65 00 73 00 00 00 53 00 6f 00 66 00 74 00 l.e.s...S.o.f.t.
    00411b30 77 00 61 00 72 00 65 00 5c 00 42 00 6f 00 72 00 w.a.r.e.\.B.o.r.
    00411b40 6c 00 61 00 6e 00 64 00 5c 00 44 00 65 00 6c 00 l.a.n.d.\.D.e.l.
    00411b50 70 00 68 00 69 00 5c 00 4c 00 6f 00 63 00 61 00 p.h.i.\.L.o.c.a.
    00411b60 6c 00 65 00 73 00 00 00 00 00 cc cc cc cc cc cc l.e.s...........
    00411b70
    00411b70fn_411b70:
    00411b70push rbp
    00411b71sub rsp, 64
    00411b75mov rbp, rsp
    00411b78mov [rbp+40], rcx
    00411b7cmov [rbp+48], rdx
    00411b80mov [rbp+56], 0
    00411b88nop
    00411b89cmp [rip+0x4a10f], 0
    00411b91jne 0x411ba9
    00411b93lea rcx, [rbp+56]
    00411b97mov rdx, [rbp+48]
    00411b9bcall fn_411730
    00411ba0mov rcx, [rbp+56]
    00411ba4call fn_411bf0
    00411ba9
    00411ba9loc_411ba9:
    00411ba9mov rcx, [rbp+40]
    00411badmov rdx, [rip+0x4a0ec]
    00411bb4call fn_40d780
    00411bb9nop
    00411bbalea rcx, [rbp+56]
    00411bbecall fn_40bcf0
    00411bc3mov rax, [rbp+40]
    00411bc7lea rsp, [rbp+64]
    00411bcbpop rbp
    00411bccret
    00411b70
    00411bcd
    00411bcd 48 8b c0 H..
    00411bd0
    00411bd0fn_411bd0:
    00411bd0push rbp
    00411bd1sub rsp, 32
    00411bd5mov rbp, rsp
    00411bd8lea rcx, [rdx+56]
    00411bdccall fn_40bcf0
    00411be1lea rsp, [rbp+32]
    00411be5pop rbp
    00411be6ret
    00411bd0
    00411be7
    00411be7 // align 0x10
    00411bf0
    00411bf0fn_411bf0:
    00411bf0push rsi
    00411bf1push rbx
    00411bf2sub rsp, 40
    00411bf6mov rbx, rcx
    00411bf9cmp [rip+0x4a09f], 0
    00411c01je 0x411c0f
    00411c03mov rcx, [rip+0x4a096]
    00411c0acall fn_404120
    00411c0f
    00411c0floc_411c0f:
    00411c0fxor eax, eax
    00411c11mov rcx, rbx
    00411c14test rcx, rcx
    00411c17je 0x411c1c
    00411c19mov eax, [rcx-4]
    00411c1c
    00411c1cloc_411c1c:
    00411c1ctest eax, eax
    00411c1ejle 0x411c58
    00411c20add eax, 1
    00411c23mov esi, eax
    00411c25add esi, esi
    00411c27movsxd rsi, esi
    00411c2amov rcx, rsi
    00411c2dcall fn_403d50
    00411c32mov [rip+0x4a067], rax
    00411c39mov rcx, rbx
    00411c3ccall fn_40d710
    00411c41mov rcx, [rip+0x4a058]
    00411c48mov rdx, rcx
    00411c4bmov r8, rsi
    00411c4emov rcx, rax
    00411c51call fn_405ac0
    00411c56jmp 0x411c63
    00411c58
    00411c58loc_411c58:
    00411c58mov [rip+0x4a03d], 0
    00411c63
    00411c63loc_411c63:
    00411c63add rsp, 40
    00411c67pop rbx
    00411c68pop rsi
    00411c69ret
    00411bf0
    00411c6a
    00411c6a // align 0x10
    00411c70
    00411c70fn_411c70:
    00411c70push rbp
    00411c71sub rsp, 640
    00411c78mov rbp, rsp
    00411c7bmov [rbp+664], rdx
    00411c82mov rcx, [rbp+664]
    00411c89call fn_40bec0
    00411c8enop
    00411c8fmov rcx, [rbp+664]
    00411c96call fn_40d710
    00411c9bmov rcx, rax
    00411c9elea rdx, [rbp+48]
    00411ca2call FindFirstFileW
    00411ca7cmp rax, -1
    00411cabsetne cl
    00411caemov [rbp+47], cl
    00411cb1movzx rcx, [rbp+47]
    00411cb6test cl, cl
    00411cb8je 0x411cc2
    00411cbamov rcx, rax
    00411cbdcall FindClose
    00411cc2
    00411cc2loc_411cc2:
    00411cc2nop
    00411cc3lea rcx, [rbp+664]
    00411ccacall fn_40bcf0
    00411ccfmovzx rax, [rbp+47]
    00411cd4lea rsp, [rbp+640]
    00411cdbpop rbp
    00411cdcret
    00411c70
    00411cdd
    00411cdd 48 8b c0 H..
    00411ce0
    00411ce0fn_411ce0:
    00411ce0push rbp
    00411ce1sub rsp, 32
    00411ce5mov rbp, rsp
    00411ce8lea rcx, [rdx+664]
    00411cefcall fn_40bcf0
    00411cf4lea rsp, [rbp+32]
    00411cf8pop rbp
    00411cf9ret
    00411ce0
    00411cfa
    00411cfa // align 0x10
    00411d00
    00411d00fn_411d00:
    00411d00push rbp
    00411d01push rbx
    00411d02sub rsp, 72
    00411d06mov rbp, rsp
    00411d09mov [rbp+40], rcx
    00411d0dmov [rbp+48], rdx
    00411d11mov [rbp+56], 0
    00411d19mov [rbp+112], r8
    00411d1dmov [rbp+120], r9
    00411d21mov rcx, [rbp+112]
    00411d25call fn_40bec0
    00411d2amov rcx, [rbp+120]
    00411d2ecall fn_40bec0
    00411d33nop
    00411d34mov rcx, [rbp+48]
    00411d38call fn_40bcf0
    00411d3dmov ebx, 1
    00411d42jmp 0x411dae
    00411d44
    00411d44loc_411d44:
    00411d44mov eax, ebx
    00411d46jmp 0x411d4b
    00411d48
    00411d48loc_411d48:
    00411d48add ebx, 1
    00411d4b
    00411d4bloc_411d4b:
    00411d4bxor ecx, ecx
    00411d4dmov rdx, [rbp+120]
    00411d51test rdx, rdx
    00411d54je 0x411d59
    00411d56mov ecx, [rdx-4]
    00411d59
    00411d59loc_411d59:
    00411d59cmp ebx, ecx
    00411d5bjg 0x411d6c
    00411d5dmov rcx, [rbp+120]
    00411d61movsxd rdx, ebx
    00411d64cmp [rcx+2*rdx-2], 44
    00411d6ajne 0x411d48
    00411d6c
    00411d6cloc_411d6c:
    00411d6ccmp eax, ebx
    00411d6eje 0x411dab
    00411d70lea rcx, [rbp+56]
    00411d74mov rdx, [rbp+120]
    00411d78mov r8l, eax
    00411d7bmov r9l, ebx
    00411d7esub r9l, eax
    00411d81call fn_40dca0
    00411d86mov rcx, [rbp+48]
    00411d8amov rdx, [rbp+112]
    00411d8emov r8, [rbp+56]
    00411d92call fn_40da80
    00411d97mov rcx, [rbp+40]
    00411d9bmov rax, [rbp+48]
    00411d9fmov rdx, [rax]
    00411da2call fn_411c70
    00411da7test al, al
    00411da9jne 0x411dca
    00411dab
    00411dabloc_411dab:
    00411dabadd ebx, 1
    00411dae
    00411daeloc_411dae:
    00411daexor eax, eax
    00411db0mov rcx, [rbp+120]
    00411db4test rcx, rcx
    00411db7je 0x411dbc
    00411db9mov eax, [rcx-4]
    00411dbc
    00411dbcloc_411dbc:
    00411dbccmp ebx, eax
    00411dbejle 0x411d44
    00411dc0mov rcx, [rbp+48]
    00411dc4call fn_40bcf0
    00411dc9nop
    00411dca
    00411dcaloc_411dca:
    00411dcalea rcx, [rbp+56]
    00411dcecall fn_40bcf0
    00411dd3lea rcx, [rbp+112]
    00411dd7mov edx, 2
    00411ddccall fn_40bdd0
    00411de1mov rax, [rbp+48]
    00411de5lea rsp, [rbp+72]
    00411de9pop rbx
    00411deapop rbp
    00411debret
    00411d00
    00411dec
    00411dec 48 8d 40 00 H.@.
    00411df0
    00411df0fn_411df0:
    00411df0push rbp
    00411df1push rbx
    00411df2sub rsp, 40
    00411df6mov rbp, rsp
    00411df9mov rbx, rdx
    00411dfclea rcx, [rbx+56]
    00411e00call fn_40bcf0
    00411e05lea rcx, [rbx+112]
    00411e09mov edx, 2
    00411e0ecall fn_40bdd0
    00411e13lea rsp, [rbp+40]
    00411e17pop rbx
    00411e18pop rbp
    00411e19ret
    00411df0
    00411e1a
    00411e1a // align 0x10
    00411e20
    00411e20fn_411e20:
    00411e20push rbp
    00411e21sub rsp, 80
    00411e25mov rbp, rsp
    00411e28mov [rbp+32], rcx
    00411e2cmov [rbp+40], rdx
    00411e30mov [rbp+48], 0
    00411e38mov [rbp+56], 0
    00411e40mov [rbp+112], r8
    00411e44mov rcx, [rbp+112]
    00411e48call fn_40bec0
    00411e4dnop
    00411e4ecall GetUserDefaultUILanguage
    00411e53movzx ecx, ax
    00411e56mov edx, 3
    00411e5blea r8, [rbp+72]
    00411e5fmov r9l, 4
    00411e65call GetLocaleInfoW
    00411e6alea rcx, [rbp+56]
    00411e6elea rdx, [rbp+72]
    00411e72mov r8l, 4
    00411e78call fn_40d7b0
    00411e7dmov rcx, [rbp+40]
    00411e81mov rdx, [rbp+112]
    00411e85mov r8, [rbp+56]
    00411e89call fn_40da80
    00411e8emov rcx, [rbp+32]
    00411e92mov rax, [rbp+40]
    00411e96mov rdx, [rax]
    00411e99call fn_411c70
    00411e9etest al, al
    00411ea0jne 0x411eea
    00411ea2mov [rbp+76], 0
    00411ea8lea rcx, [rbp+48]
    00411eaclea rdx, [rbp+72]
    00411eb0mov r8l, 4
    00411eb6call fn_40d7b0
    00411ebbmov rcx, [rbp+40]
    00411ebfmov rdx, [rbp+112]
    00411ec3mov r8, [rbp+48]
    00411ec7call fn_40da80
    00411eccmov rcx, [rbp+32]
    00411ed0mov rax, [rbp+40]
    00411ed4mov rdx, [rax]
    00411ed7call fn_411c70
    00411edctest al, al
    00411edejne 0x411eea
    00411ee0mov rcx, [rbp+40]
    00411ee4call fn_40bcf0
    00411ee9nop
    00411eea
    00411eealoc_411eea:
    00411eealea rcx, [rbp+48]
    00411eeemov edx, 2
    00411ef3call fn_40bdd0
    00411ef8lea rcx, [rbp+112]
    00411efccall fn_40bcf0
    00411f01mov rax, [rbp+40]
    00411f05lea rsp, [rbp+80]
    00411f09pop rbp
    00411f0aret
    00411e20
    00411f0b
    00411f0b 48 8d 44 20 00 H.D .
    00411f10
    00411f10fn_411f10:
    00411f10push rbp
    00411f11push rbx
    00411f12sub rsp, 40
    00411f16mov rbp, rsp
    00411f19mov rbx, rdx
    00411f1clea rcx, [rbx+48]
    00411f20mov edx, 2
    00411f25call fn_40bdd0
    00411f2alea rcx, [rbx+112]
    00411f2ecall fn_40bcf0
    00411f33lea rsp, [rbp+40]
    00411f37pop rbx
    00411f38pop rbp
    00411f39ret
    00411f10
    00411f3a
    00411f3a // align 0x10
    00411f40
    00411f40fn_411f40:
    00411f40push rbp
    00411f41sub rsp, 112
    00411f45mov rbp, rsp
    00411f48mov [rbp+40], rcx
    00411f4cmov [rbp+48], 0
    00411f54mov [rbp+64], 0
    00411f5cmov [rbp+56], 0
    00411f64mov [rbp+80], 0
    00411f6cmov [rbp+72], 0
    00411f74mov [rbp+88], 0
    00411f7cmov [rbp+104], 0
    00411f84mov [rbp+96], 0
    00411f8cmov [rbp+136], rdx
    00411f93mov [rbp+144], r8
    00411f9amov rcx, [rbp+136]
    00411fa1call fn_40bec0
    00411fa6mov rcx, [rbp+144]
    00411fadcall fn_40bec0
    00411fb2nop
    00411fb3mov rcx, [rbp+40]
    00411fb7call fn_40bcf0
    00411fbccmp [rbp+144], 0
    00411fc4je 0x4120ff
    00411fcalea rcx, [rbp+96]
    00411fcemov rdx, [rbp+144]
    00411fd5call fn_40c3e0
    00411fdaxor eax, eax
    00411fdcmov rcx, [rbp+144]
    00411fe3test rcx, rcx
    00411fe6je 0x411feb
    00411fe8mov eax, [rcx-4]
    00411feb
    00411febloc_411feb:
    00411febcmp eax, 1
    00411feejl 0x412024
    00411ff0
    00411ff0loc_411ff0:
    00411ff0mov rcx, [rbp+144]
    00411ff7movsxd rdx, eax
    00411ffacmp [rcx+2*rdx-2], 46
    00412000jne 0x41201d
    00412002lea rcx, [rbp+96]
    00412006mov rdx, [rbp+144]
    0041200dmov r8l, 1
    00412013mov r9l, eax
    00412016call fn_40dca0
    0041201bjmp 0x412024
    0041201d
    0041201dloc_41201d:
    0041201dsub eax, 1
    00412020test eax, eax
    00412022jne 0x411ff0
    00412024
    00412024loc_412024:
    00412024nop
    00412025lea rcx, [rbp+104]
    00412029mov rdx, [rbp+136]
    00412030call fn_411b70
    00412035cmp [rbp+104], 0
    0041203aje 0x412062
    0041203cmov rcx, rbp
    0041203flea rdx, [rbp+88]
    00412043mov r8, [rbp+96]
    00412047mov r9, [rbp+104]
    0041204bcall fn_411d00
    00412050mov rcx, [rbp+40]
    00412054mov rdx, [rbp+88]
    00412058call fn_40c360
    0041205djmp 0x4120fe
    00412062
    00412062loc_412062:
    00412062call GetUserDefaultUILanguage
    00412067lea rcx, [rbp+72]
    0041206bmov edx, eax
    0041206dcall fn_411300
    00412072mov rcx, rbp
    00412075lea rdx, [rbp+80]
    00412079mov r8, [rbp+96]
    0041207dmov r9, [rbp+72]
    00412081call fn_411d00
    00412086mov rcx, [rbp+40]
    0041208amov rdx, [rbp+80]
    0041208ecall fn_40c360
    00412093mov rax, [rbp+40]
    00412097cmp [rax], 0
    0041209bjne 0x4120d7
    0041209dcmp [rip+0x57e44], 0
    004120a4jne 0x4120d7
    004120a6call GetSystemDefaultUILanguage
    004120ablea rcx, [rbp+56]
    004120afmov edx, eax
    004120b1call fn_411300
    004120b6mov rcx, rbp
    004120b9lea rdx, [rbp+64]
    004120bdmov r8, [rbp+96]
    004120c1mov r9, [rbp+56]
    004120c5call fn_411d00
    004120camov rcx, [rbp+40]
    004120cemov rdx, [rbp+64]
    004120d2call fn_40c360
    004120d7
    004120d7loc_4120d7:
    004120d7mov rax, [rbp+40]
    004120dbcmp [rax], 0
    004120dfjne 0x4120fe
    004120e1mov rcx, rbp
    004120e4lea rdx, [rbp+48]
    004120e8mov r8, [rbp+96]
    004120eccall fn_411e20
    004120f1mov rcx, [rbp+40]
    004120f5mov rdx, [rbp+48]
    004120f9call fn_40c360
    004120fe
    004120feloc_4120fe:
    004120fenop
    004120ff
    004120ffloc_4120ff:
    004120fflea rcx, [rbp+48]
    00412103mov edx, 8
    00412108call fn_40bdd0
    0041210dlea rcx, [rbp+136]
    00412114mov edx, 2
    00412119call fn_40bdd0
    0041211emov rax, [rbp+40]
    00412122lea rsp, [rbp+112]
    00412126pop rbp
    00412127ret
    00411f40
    00412128
    00412128 48 8d 04 05 00 00 00 00 H.......
    00412130
    00412130fn_412130:
    00412130push rbp
    00412131push rbx
    00412132sub rsp, 40
    00412136mov rbp, rsp
    00412139mov rbx, rdx
    0041213clea rcx, [rbx+48]
    00412140mov edx, 8
    00412145call fn_40bdd0
    0041214alea rcx, [rbx+136]
    00412151mov edx, 2
    00412156call fn_40bdd0
    0041215blea rsp, [rbp+40]
    0041215fpop rbx
    00412160pop rbp
    00412161ret
    00412130
    00412162
    00412162 // align 0x10
    00412170
    00412170fn_412170:
    00412170push rbp
    00412171sub rsp, 608
    00412178mov rbp, rsp
    0041217bmov [rbp+32], rcx
    0041217fmov [rbp+56], 0
    00412187mov [rbp+48], 0
    0041218fmov [rbp+72], 0
    00412197nop
    00412198xor eax, eax
    0041219amov [rbp+40], rax
    0041219exor ecx, ecx
    004121a0lea rdx, [rbp+86]
    004121a4mov r8l, 261
    004121aacall GetModuleFileNameW
    004121aflea rcx, [rbp+56]
    004121b3lea rdx, [rbp+86]
    004121b7mov r8l, 261
    004121bdcall fn_40d7b0
    004121c2lea rcx, [rbp+48]
    004121c6mov rdx, [rbp+32]
    004121cacall fn_40d780
    004121cflea rcx, [rbp+72]
    004121d3mov rdx, [rbp+56]
    004121d7mov r8, [rbp+48]
    004121dbcall fn_411f40
    004121e0cmp [rbp+72], 0
    004121e5je 0x412204
    004121e7mov rcx, [rbp+72]
    004121ebcall fn_40d710
    004121f0mov rcx, rax
    004121f3xor edx, edx
    004121f5mov r8l, 2
    004121fbcall LoadLibraryExW
    00412200mov [rbp+40], rax
    00412204
    00412204loc_412204:
    00412204nop
    00412205lea rcx, [rbp+48]
    00412209mov edx, 2
    0041220ecall fn_40bdd0
    00412213lea rcx, [rbp+72]
    00412217call fn_40bcf0
    0041221cmov rax, [rbp+40]
    00412220lea rsp, [rbp+608]
    00412227pop rbp
    00412228ret
    00412170
    00412229
    00412229 48 8d 80 00 00 00 00 H......
    00412230
    00412230fn_412230:
    00412230push rbp
    00412231push rbx
    00412232sub rsp, 40
    00412236mov rbp, rsp
    00412239mov rbx, rdx
    0041223clea rcx, [rbx+48]
    00412240mov edx, 2
    00412245call fn_40bdd0
    0041224alea rcx, [rbx+72]
    0041224ecall fn_40bcf0
    00412253lea rsp, [rbp+40]
    00412257pop rbx
    00412258pop rbp
    00412259ret
    00412230
    0041225a
    0041225a // align 0x10
    00412260
    00412260fn_412260:
    00412260push rdi
    00412261push rsi
    00412262push rbx
    00412263sub rsp, 32
    00412267mov rbx, rcx
    0041226amov rsi, rdx
    0041226dmov rdi, [rip+0x46ddc]
    00412274test rdi, rdi
    00412277je 0x412295
    00412279
    00412279loc_412279:
    00412279mov rcx, rdi
    0041227ccall fn_410930
    00412281mov rcx, rax
    00412284mov rdx, rsi
    00412287call rbx
    00412289test al, al
    0041228bje 0x412296
    0041228dmov rdi, [rdi]
    00412290test rdi, rdi
    00412293jne 0x412279
    00412295
    00412295loc_412295:
    00412295nop
    00412296
    00412296loc_412296:
    00412296add rsp, 32
    0041229apop rbx
    0041229bpop rsi
    0041229cpop rdi
    0041229dret
    00412260
    0041229e
    0041229e // align 0x10
    004122a0
    004122a0fn_4122a0:
    004122a0sub rsp, 40
    004122a4call fn_4122c0
    004122a9add rsp, 40
    004122adret
    004122a0
    004122ae
    004122ae // align 0x10
    004122b0
    004122b0fn_4122b0:
    004122b0sub rsp, 40
    004122b4call fn_4122f0
    004122b9add rsp, 40
    004122bdret
    004122b0
    004122be
    004122be // align 0x10
    004122c0
    004122c0fn_4122c0:
    004122c0push rbx
    004122c1sub rsp, 32
    004122c5mov rbx, rcx
    004122c8mov ecx, 16
    004122cdcall fn_405700
    004122d2mov rcx, [rip+0x46d7f]
    004122d9mov [rax], rcx
    004122dcmov [rax+8], rbx
    004122e0mov [rip+0x46d71], rax
    004122e7add rsp, 32
    004122ebpop rbx
    004122ecret
    004122c0
    004122ed
    004122ed // align 0x10
    004122f0
    004122f0fn_4122f0:
    004122f0sub rsp, 40
    004122f4mov rax, [rip+0x46d5d]
    004122fbtest rax, rax
    004122feje 0x412321
    00412300cmp [rax+8], rcx
    00412304jne 0x412321
    00412306mov rcx, [rip+0x46d4b]
    0041230dmov rcx, [rcx]
    00412310mov [rip+0x46d41], rcx
    00412317mov rcx, rax
    0041231acall fn_405730
    0041231fjmp 0x412353
    00412321
    00412321loc_412321:
    00412321mov rdx, rax
    00412324test rdx, rdx
    00412327je 0x412352
    00412329
    00412329loc_412329:
    00412329mov r8, [rdx]
    0041232ctest r8, r8
    0041232fje 0x41234a
    00412331cmp [r8+8], rcx
    00412335jne 0x41234a
    00412337mov rax, r8
    0041233amov rcx, [r8]
    0041233dmov [rdx], rcx
    00412340mov rcx, rax
    00412343call fn_405730
    00412348jmp 0x412352
    0041234a
    0041234aloc_41234a:
    0041234amov rdx, [rdx]
    0041234dtest rdx, rdx
    00412350jne 0x412329
    00412352
    00412352loc_412352:
    00412352nop
    00412353
    00412353loc_412353:
    00412353add rsp, 40
    00412357ret
    004122f0
    00412358
    00412358 // align 0x10
    00412360
    00412360fn_412360:
    00412360push rbp
    00412361push rbx
    00412362sub rsp, 72
    00412366mov rbp, rsp
    00412369mov [rbp+40], rbp
    0041236dmov [rbp+96], rcx
    00412371mov rax, [rip+0x46ce0]
    00412378mov [rbp+56], rax
    0041237ccmp [rbp+56], 0
    00412381je 0x4123ab
    00412383
    00412383loc_412383:
    00412383nop
    00412384mov rcx, [rbp+96]
    00412388mov rbx, [rbp+56]
    0041238ccall [rbx+8]
    0041238fjmp 0x412399
    00412391
    00412391 90 90 e8 88 8d ff ff 90 ........
    00412399
    00412399loc_412399:
    00412399mov rax, [rbp+56]
    0041239dmov rax, [rax]
    004123a0mov [rbp+56], rax
    004123a4cmp [rbp+56], 0
    004123a9jne 0x412383
    004123ab
    004123abloc_4123ab:
    004123abnop
    004123aclea rsp, [rbp+72]
    004123b0pop rbx
    004123b1pop rbp
    004123b2ret
    00412360
    004123b3
    004123b3 48 8d 44 20 00 48 8d 04 05 00 00 00 00 H.D .H.......
    004123c0
    004123c0fn_4123c0:
    004123c0sub rsp, 40
    004123c4call fn_40b050
    004123c9add rsp, 40
    004123cdret
    004123c0
    004123ce
    004123ce // align 0x10
    004123d0
    004123d0fn_4123d0:
    004123d0mov rax, [rip+0x46c79]
    004123d7test rax, rax
    004123daje 0x4123e9
    004123dc
    004123dcloc_4123dc:
    004123dccmp rax, rcx
    004123dfje 0x4123fb
    004123e1mov rax, [rax]
    004123e4test rax, rax
    004123e7jne 0x4123dc
    004123e9
    004123e9loc_4123e9:
    004123e9nop
    004123eamov rax, [rip+0x46c5f]
    004123f1mov [rcx], rax
    004123f4mov [rip+0x46c55], rcx
    004123fb
    004123fbloc_4123fb:
    004123fbret
    004123d0
    004123fc
    004123fc // align 0x10
    00412400
    00412400fn_412400:
    00412400push rbp
    00412401sub rsp, 64
    00412405mov rbp, rsp
    00412408mov [rbp+40], rbp
    0041240cmov [rbp+80], rcx
    00412410nop
    00412411mov rax, [rbp+80]
    00412415mov rcx, [rax+8]
    00412419call fn_412360
    0041241enop
    0041241fmov rax, [rbp+80]
    00412423cmp rax, [rip+0x46c26]
    0041242ajne 0x41243c
    0041242cmov rax, [rbp+80]
    00412430mov rax, [rax]
    00412433mov [rip+0x46c16], rax
    0041243ajmp 0x41247e
    0041243c
    0041243cloc_41243c:
    0041243cmov rax, [rip+0x46c0d]
    00412443mov [rbp+56], rax
    00412447cmp [rbp+56], 0
    0041244cje 0x41247d
    0041244e
    0041244eloc_41244e:
    0041244emov rax, [rbp+56]
    00412452mov rax, [rax]
    00412455cmp rax, [rbp+80]
    00412459jne 0x41246b
    0041245bmov rax, [rbp+56]
    0041245fmov rcx, [rbp+80]
    00412463mov rcx, [rcx]
    00412466mov [rax], rcx
    00412469jmp 0x41247d
    0041246b
    0041246bloc_41246b:
    0041246bmov rax, [rbp+56]
    0041246fmov rax, [rax]
    00412472mov [rbp+56], rax
    00412476cmp [rbp+56], 0
    0041247bjne 0x41244e
    0041247d
    0041247dloc_41247d:
    0041247dnop
    0041247e
    0041247eloc_41247e:
    0041247elea rsp, [rbp+64]
    00412482pop rbp
    00412483ret
    00412400
    00412484
    00412484 48 8d 40 00 48 8d 04 05 00 00 00 00 H.@.H.......
    00412490
    00412490fn_412490:
    00412490push rbp
    00412491mov rbp, rsp
    00412494mov rax, [rdx+80]
    00412498cmp rax, [rip+0x46bb1]
    0041249fjne 0x4124b1
    004124a1mov rax, [rdx+80]
    004124a5mov rax, [rax]
    004124a8mov [rip+0x46ba1], rax
    004124afjmp 0x4124f3
    004124b1
    004124b1loc_4124b1:
    004124b1mov rax, [rip+0x46b98]
    004124b8mov [rdx+56], rax
    004124bccmp [rdx+56], 0
    004124c1je 0x4124f2
    004124c3
    004124c3loc_4124c3:
    004124c3mov rax, [rdx+56]
    004124c7mov rax, [rax]
    004124cacmp rax, [rdx+80]
    004124cejne 0x4124e0
    004124d0mov rax, [rdx+56]
    004124d4mov rcx, [rdx+80]
    004124d8mov rcx, [rcx]
    004124dbmov [rax], rcx
    004124dejmp 0x4124f2
    004124e0
    004124e0loc_4124e0:
    004124e0mov rax, [rdx+56]
    004124e4mov rax, [rax]
    004124e7mov [rdx+56], rax
    004124ebcmp [rdx+56], 0
    004124f0jne 0x4124c3
    004124f2
    004124f2loc_4124f2:
    004124f2nop
    004124f3
    004124f3loc_4124f3:
    004124f3mov rsp, rbp
    004124f6pop rbp
    004124f7ret
    00412490
    004124f8
    004124f8 // align 0x10
    00412500
    00412500fn_412500:
    00412500push rbp
    00412501push rbx
    00412502sub rsp, 56
    00412506mov rbp, rsp
    00412509mov rbx, rcx
    0041250ccmp [rcx], 0
    00412510je 0x41252e
    00412512mov rax, [rcx]
    00412515mov [rbp+40], rax
    00412519mov [rcx], 0
    00412520mov rcx, [rbp+40]
    00412524mov rax, [rbp+40]
    00412528mov rax, [rax]
    0041252bcall [rax+16]
    0041252e
    0041252eloc_41252e:
    0041252emov rax, rbx
    00412531lea rsp, [rbp+56]
    00412535pop rbx
    00412536pop rbp
    00412537ret
    00412500
    00412538
    00412538 // align 0x10
    00412540
    00412540fn_412540:
    00412540push rbp
    00412541push rsi
    00412542push rbx
    00412543sub rsp, 48
    00412547mov rbp, rsp
    0041254amov rbx, rcx
    0041254dmov rsi, rdx
    00412550mov rax, [rbx]
    00412553mov [rbp+40], rax
    00412557test rsi, rsi
    0041255aje 0x412565
    0041255cmov rcx, rsi
    0041255fmov rax, [rsi]
    00412562call [rax+8]
    00412565
    00412565loc_412565:
    00412565mov [rbx], rsi
    00412568cmp [rbp+40], 0
    0041256dje 0x41257d
    0041256fmov rcx, [rbp+40]
    00412573mov rax, [rbp+40]
    00412577mov rax, [rax]
    0041257acall [rax+16]
    0041257d
    0041257dloc_41257d:
    0041257dlea rsp, [rbp+48]
    00412581pop rbx
    00412582pop rsi
    00412583pop rbp
    00412584ret
    00412540
    00412585
    00412585 // align 0x10
    00412590
    00412590fn_412590:
    00412590push rbp
    00412591push rdi
    00412592push rsi
    00412593push rbx
    00412594sub rsp, 56
    00412598mov rbp, rsp
    0041259bmov rbx, rcx
    0041259emov rsi, rdx
    004125a1mov rdi, r8
    004125a4test rsi, rsi
    004125a7jne 0x4125b3
    004125a9mov rcx, rbx
    004125accall fn_412500
    004125b1jmp 0x4125fc
    004125b3
    004125b3loc_4125b3:
    004125b3mov [rbp+40], 0
    004125bblea rcx, [rbp+40]
    004125bfcall fn_412500
    004125c4mov rcx, rsi
    004125c7mov rdx, rdi
    004125camov r8, rax
    004125cdmov rax, [rsi]
    004125d0call [rax]
    004125d2test eax, eax
    004125d4je 0x4125e3
    004125d6mov cl, 23
    004125d8mov rdx, [rbp+88]
    004125dccall fn_4059c0
    004125e1jmp 0x4125fc
    004125e3
    004125e3loc_4125e3:
    004125e3cmp [rbx], 0
    004125e7je 0x4125f5
    004125e9mov rax, [rbx]
    004125ecmov rcx, rax
    004125efmov rax, [rax]
    004125f2call [rax+16]
    004125f5
    004125f5loc_4125f5:
    004125f5mov rax, [rbp+40]
    004125f9mov [rbx], rax
    004125fc
    004125fcloc_4125fc:
    004125fclea rsp, [rbp+56]
    00412600pop rbx
    00412601pop rsi
    00412602pop rdi
    00412603pop rbp
    00412604ret
    00412590
    00412605
    00412605 00 00 00 10 26 41 00 00 00 00 00 ....&A.....
    00412610 14 09 50 49 6e 73 74 49 74 65 6d 68 26 41 00 00 ..PInstItemh&A..
    00412620 00 00 00 02 00 00 00 00 30 26 41 00 00 00 00 00 ........0&A.....
    00412630 0d 16 54 49 6e 73 74 49 74 65 6d 2e 54 42 75 63 ..TInstItem.TBuc
    00412640 6b 65 74 41 72 72 61 79 f8 00 00 00 1f 00 00 00 ketArray........
    00412650 70 2d 41 00 00 00 00 00 01 00 00 00 00 00 00 00 p-A.............
    00412660 00 02 00 00 00 00 00 00 70 26 41 00 00 00 00 00 ........p&A.....
    00412670 0e 09 54 49 6e 73 74 49 74 65 6d 00 02 00 00 02 ..TInstItem.....
    00412680 00 00 00 28 26 41 00 00 00 00 00 10 00 00 00 00 ...(&A..........
    00412690 00 00 00 28 26 41 00 00 00 00 00 08 01 00 00 00 ...(&A..........
    004126a0 00 00 00 00 04 00 00 00 f8 10 40 00 00 00 00 00 ..........@.....
    004126b0 00 00 00 00 00 00 00 00 00 09 46 49 6e 73 74 61 ..........FInsta
    004126c0 6e 63 65 02 00 d0 24 40 00 00 00 00 00 08 00 00 nce...$@........
    004126d0 00 00 00 00 00 00 05 46 4c 6f 63 6b 02 00 28 26 .......FLock..(&
    004126e0 41 00 00 00 00 00 10 00 00 00 00 00 00 00 00 08 A...............
    004126f0 46 42 75 63 6b 65 74 73 02 00 28 26 41 00 00 00 FBuckets..(&A...
    00412700 00 00 08 01 00 00 00 00 00 00 00 0e 46 4d 65 74 ............FMet
    00412710 68 6f 64 42 75 63 6b 65 74 73 02 00 02 00 07 00 hodBuckets......
    00412720 09 30 2f 41 00 00 00 00 00 06 43 72 65 61 74 65 .0/A......Create
    00412730 00 00 08 26 41 00 00 00 00 00 00 02 00 08 70 30 ...&A.........p0
    00412740 41 00 00 00 00 00 07 44 65 73 74 72 6f 79 00 00 A......Destroy..
    00412750 00 00 00 00 00 00 00 00 00 02 00 08 90 30 41 00 .............0A.
    00412760 00 00 00 00 04 46 72 65 65 00 00 00 10 40 00 00 .....Free....@..
    00412770 00 00 00 00 02 00 08 c0 33 41 00 00 00 00 00 0f ........3A......
    00412780 52 65 67 69 73 74 65 72 57 65 61 6b 52 65 66 00 RegisterWeakRef.
    00412790 00 00 00 00 00 00 00 00 00 01 00 f8 10 40 00 00 .............@..
    004127a0 00 00 00 07 41 64 64 72 65 73 73 02 00 02 00 08 ....Address.....
    004127b0 f0 33 41 00 00 00 00 00 11 55 6e 72 65 67 69 73 .3A......Unregis
    004127c0 74 65 72 57 65 61 6b 52 65 66 00 00 00 00 00 00 terWeakRef......
    004127d0 00 00 00 00 01 00 f8 10 40 00 00 00 00 00 07 41 ........@......A
    004127e0 64 64 72 65 73 73 02 00 02 00 08 20 34 41 00 00 ddress..... 4A..
    004127f0 00 00 00 15 52 65 67 69 73 74 65 72 57 65 61 6b ....RegisterWeak
    00412800 4d 65 74 68 6f 64 52 65 66 00 00 00 00 00 00 00 MethodRef.......
    00412810 00 00 00 01 00 f8 10 40 00 00 00 00 00 07 41 64 .......@......Ad
    00412820 64 72 65 73 73 02 00 02 00 08 50 34 41 00 00 00 dress.....P4A...
    00412830 00 00 17 55 6e 72 65 67 69 73 74 65 72 57 65 61 ...UnregisterWea
    00412840 6b 4d 65 74 68 6f 64 52 65 66 00 00 00 00 00 00 kMethodRef......
    00412850 00 00 00 00 01 00 f8 10 40 00 00 00 00 00 07 41 ........@......A
    00412860 64 64 72 65 73 73 02 00 02 00 00 00 00 00 00 00 ddress..........
    00412870 78 28 41 00 00 00 00 00 0e 0b 54 49 6e 73 74 42 x(A.......TInstB
    00412880 75 63 6b 65 74 18 00 00 00 01 00 00 00 c0 2d 41 ucket.........-A
    00412890 00 00 00 00 00 10 00 00 00 00 00 00 00 00 03 00 ................
    004128a0 00 00 d0 24 40 00 00 00 00 00 00 00 00 00 00 00 ...$@...........
    004128b0 00 00 00 05 46 4c 6f 63 6b 02 00 78 10 40 00 00 ....FLock..x.@..
    004128c0 00 00 00 08 00 00 00 00 00 00 00 00 06 46 43 6f .............FCo
    004128d0 75 6e 74 02 00 c0 2d 41 00 00 00 00 00 10 00 00 unt...-A........
    004128e0 00 00 00 00 00 00 0a 46 49 6e 73 74 49 74 65 6d .......FInstItem
    004128f0 73 02 00 02 00 07 00 08 40 36 41 00 00 00 00 00 s.......@6A.....
    00412900 0a 49 6e 69 74 69 61 6c 69 7a 65 00 00 00 00 00 .Initialize.....
    00412910 00 00 00 00 00 00 02 00 08 e0 35 41 00 00 00 00 ..........5A....
    00412920 00 08 46 69 6e 61 6c 69 7a 65 00 00 00 00 00 00 ..Finalize......
    00412930 00 00 00 00 00 02 00 08 60 36 41 00 00 00 00 00 ........`6A.....
    00412940 04 4c 6f 63 6b 00 00 00 00 00 00 00 00 00 00 00 .Lock...........
    00412950 02 00 08 10 37 41 00 00 00 00 00 06 55 6e 6c 6f ....7A......Unlo
    00412960 63 6b 00 00 00 00 00 00 00 00 00 00 00 02 00 08 ck..............
    00412970 80 34 41 00 00 00 00 00 0b 41 64 64 49 6e 73 74 .4A......AddInst
    00412980 49 74 65 6d 00 00 00 00 00 00 00 00 00 00 02 00 Item............
    00412990 78 10 40 00 00 00 00 00 06 41 49 6e 64 65 78 02 x.@......AIndex.
    004129a0 00 00 08 26 41 00 00 00 00 00 05 41 49 74 65 6d ...&A......AItem
    004129b0 02 00 02 00 08 50 35 41 00 00 00 00 00 0c 46 69 .....P5A......Fi
    004129c0 6e 64 49 6e 73 74 49 74 65 6d 00 00 08 26 41 00 ndInstItem...&A.
    004129d0 00 00 00 00 02 00 f8 10 40 00 00 00 00 00 09 41 ........@......A
    004129e0 49 6e 73 74 61 6e 63 65 02 00 20 78 10 40 00 00 Instance.. x.@..
    004129f0 00 00 00 06 41 49 6e 64 65 78 02 00 02 00 08 80 ....AIndex......
    00412a00 36 41 00 00 00 00 00 0e 52 65 6d 6f 76 65 49 6e 6A......RemoveIn
    00412a10 73 74 49 74 65 6d 00 00 08 26 41 00 00 00 00 00 stItem...&A.....
    00412a20 01 00 f8 10 40 00 00 00 00 00 09 41 49 6e 73 74 ....@......AInst
    00412a30 61 6e 63 65 02 00 02 00 40 2a 41 00 00 00 00 00 ance....@*A.....
    00412a40 0d 10 3a 54 49 6e 73 74 48 61 73 68 4d 61 70 2e ..:TInstHashMap.
    00412a50 3a 31 78 12 00 00 c5 00 00 00 70 28 41 00 00 00 :1x.......p(A...
    00412a60 00 00 01 00 00 00 00 00 00 00 00 02 00 00 00 00 ................
    00412a70 78 2a 41 00 00 00 00 00 0e 0c 54 49 6e 73 74 48 x*A.......TInstH
    00412a80 61 73 68 4d 61 70 a0 12 00 00 01 00 00 00 38 2a ashMap........8*
    00412a90 41 00 00 00 00 00 20 00 00 00 00 00 00 00 00 06 A..... .........
    00412aa0 00 00 00 40 11 40 00 00 00 00 00 00 00 00 00 00 ...@.@..........
    00412ab0 00 00 00 00 0e 46 46 72 65 65 49 6e 73 74 49 74 .....FFreeInstIt
    00412ac0 65 6d 73 14 00 90 24 40 00 00 00 00 00 30 8b 40 ems...$@.....0.@
    00412ad0 00 00 00 00 00 00 00 90 11 40 00 00 00 00 00 08 .........@......
    00412ae0 00 00 00 00 00 00 00 00 0b 46 54 61 67 43 6f 75 .........FTagCou
    00412af0 6e 74 65 72 14 00 90 24 40 00 00 00 00 00 30 8b nter...$@.....0.
    00412b00 40 00 00 00 00 00 00 00 78 10 40 00 00 00 00 00 @.......x.@.....
    00412b10 10 00 00 00 00 00 00 00 00 0a 46 46 72 65 65 43 ..........FFreeC
    00412b20 6f 75 6e 74 02 00 d0 24 40 00 00 00 00 00 18 00 ount...$@.......
    00412b30 00 00 00 00 00 00 00 09 46 49 6e 69 74 4c 6f 63 ........FInitLoc
    00412b40 6b 02 00 38 2a 41 00 00 00 00 00 20 00 00 00 00 k..8*A..... ....
    00412b50 00 00 00 00 08 46 42 75 63 6b 65 74 73 02 00 00 .....FBuckets...
    00412b60 10 40 00 00 00 00 00 98 12 00 00 00 00 00 00 00 .@..............
    00412b70 0c 46 49 6e 69 74 69 61 6c 69 7a 65 64 02 00 02 .FInitialized...
    00412b80 00 08 00 08 f0 39 41 00 00 00 00 00 07 44 65 73 .....9A......Des
    00412b90 74 72 6f 79 00 00 00 00 00 00 00 00 00 00 01 00 troy............
    00412ba0 f8 10 40 00 00 00 00 00 08 49 6e 73 74 61 6e 63 ..@......Instanc
    00412bb0 65 02 00 02 00 08 10 39 41 00 00 00 00 00 0a 49 e......9A......I
    00412bc0 6e 69 74 69 61 6c 69 7a 65 00 00 00 00 00 00 00 nitialize.......
    00412bd0 00 00 00 00 02 00 08 b0 38 41 00 00 00 00 00 08 ........8A......
    00412be0 46 69 6e 61 6c 69 7a 65 00 00 00 00 00 00 00 00 Finalize........
    00412bf0 00 00 00 02 00 08 e0 3a 41 00 00 00 00 00 0f 52 .......:A......R
    00412c00 65 67 69 73 74 65 72 57 65 61 6b 52 65 66 00 00 egisterWeakRef..
    00412c10 00 00 00 00 00 00 00 00 02 00 f8 10 40 00 00 00 ............@...
    00412c20 00 00 07 41 64 64 72 65 73 73 02 00 00 f8 10 40 ...Address.....@
    00412c30 00 00 00 00 00 08 49 6e 73 74 61 6e 63 65 02 00 ......Instance..
    00412c40 02 00 08 20 3c 41 00 00 00 00 00 11 55 6e 72 65 ... <A......Unre
    00412c50 67 69 73 74 65 72 57 65 61 6b 52 65 66 00 00 00 gisterWeakRef...
    00412c60 00 00 00 00 00 00 00 02 00 f8 10 40 00 00 00 00 ...........@....
    00412c70 00 07 41 64 64 72 65 73 73 02 00 00 f8 10 40 00 ..Address.....@.
    00412c80 00 00 00 00 08 49 6e 73 74 61 6e 63 65 02 00 02 .....Instance...
    00412c90 00 08 20 3d 41 00 00 00 00 00 15 52 65 67 69 73 .. =A......Regis
    00412ca0 74 65 72 57 65 61 6b 4d 65 74 68 6f 64 52 65 66 terWeakMethodRef
    00412cb0 00 00 00 00 00 00 00 00 00 00 02 00 f8 10 40 00 ..............@.
    00412cc0 00 00 00 00 07 41 64 64 72 65 73 73 02 00 00 f8 .....Address....
    00412cd0 10 40 00 00 00 00 00 08 49 6e 73 74 61 6e 63 65 .@......Instance
    00412ce0 02 00 02 00 08 60 3e 41 00 00 00 00 00 17 55 6e .....`>A......Un
    00412cf0 72 65 67 69 73 74 65 72 57 65 61 6b 4d 65 74 68 registerWeakMeth
    00412d00 6f 64 52 65 66 00 00 00 00 00 00 00 00 00 00 02 odRef...........
    00412d10 00 f8 10 40 00 00 00 00 00 07 41 64 64 72 65 73 ...@......Addres
    00412d20 73 02 00 00 f8 10 40 00 00 00 00 00 08 49 6e 73 s.....@......Ins
    00412d30 74 61 6e 63 65 02 00 02 00 08 60 3f 41 00 00 00 tance.....`?A...
    00412d40 00 00 0c 49 73 52 65 67 69 73 74 65 72 65 64 00 ...IsRegistered.
    00412d50 00 00 10 40 00 00 00 00 00 01 00 f8 10 40 00 00 ...@.........@..
    00412d60 00 00 00 08 49 6e 73 74 61 6e 63 65 02 00 02 00 ....Instance....
    00412d70 78 2d 41 00 00 00 00 00 11 17 54 41 72 72 61 79 x-A.......TArray
    00412d80 3c 53 79 73 74 65 6d 2e 50 50 6f 69 6e 74 65 72 <System.PPointer
    00412d90 3e 08 00 00 00 00 00 00 00 00 00 00 00 ff ff ff >...............
    00412da0 ff e8 29 40 00 00 00 00 00 06 53 79 73 74 65 6d ..)@......System
    00412db0 e8 29 40 00 00 00 00 00 02 00 00 00 00 00 00 00 .)@.............
    00412dc0 c8 2d 41 00 00 00 00 00 11 18 54 41 72 72 61 79 .-A.......TArray
    00412dd0 3c 53 79 73 74 65 6d 2e 50 49 6e 73 74 49 74 65 <System.PInstIte
    00412de0 6d 3e 08 00 00 00 00 00 00 00 00 00 00 00 ff ff m>..............
    00412df0 ff ff 08 26 41 00 00 00 00 00 06 53 79 73 74 65 ...&A......Syste
    00412e00 6d 08 26 41 00 00 00 00 00 02 00 cc cc cc cc cc m.&A............
    00412e10
    00412e10fn_412e10:
    00412e10sub rsp, 40
    00412e14mov rax, [rcx]
    00412e17test rax, rax
    00412e1aje 0x412e4c
    00412e1cmov [rcx], 0
    00412e23mov rcx, rax
    00412e26cmp [rcx-12], 0
    00412e2ajle 0x412e4c
    00412e2cor r8l, -1
    00412e30mov edx, r8l
    00412e33lock xadd [rcx-12], r8l
    00412e39add edx, r8l
    00412e3ctest edx, edx
    00412e3ejne 0x412e4c
    00412e40sub rax, 16
    00412e44mov rcx, rax
    00412e47call fn_404120
    00412e4c
    00412e4cloc_412e4c:
    00412e4cadd rsp, 40
    00412e50ret
    00412e10
    00412e51
    00412e51 // align 0x10
    00412e60
    00412e60fn_412e60:
    00412e60push r13
    00412e62push rdi
    00412e63push rsi
    00412e64push rbx
    00412e65sub rsp, 40
    00412e69mov rbx, rcx
    00412e6cmov rsi, rdx
    00412e6fmov r13, [rbx]
    00412e72lea rax, [8*rsi+16]
    00412e7atest r13, r13
    00412e7djne 0x412e8c
    00412e7fmov rcx, rax
    00412e82call fn_4046b0
    00412e87mov r13, rax
    00412e8ajmp 0x412f04
    00412e8c
    00412e8cloc_412e8c:
    00412e8csub r13, 16
    00412e90mov rcx, r13
    00412e93mov rdi, [rcx+8]
    00412e97cmp [rcx+4], 1
    00412e9bjne 0x412ead
    00412e9dmov rcx, r13
    00412ea0mov rdx, rax
    00412ea3call fn_404340
    00412ea8mov r13, rax
    00412eabjmp 0x412ee3
    00412ead
    00412eadloc_412ead:
    00412eadmov rcx, rax
    00412eb0call fn_403d50
    00412eb5mov r13, rax
    00412eb8mov rax, rdi
    00412ebbcmp rax, rsi
    00412ebejle 0x412ec3
    00412ec0mov rax, rsi
    00412ec3
    00412ec3loc_412ec3:
    00412ec3mov rcx, [rbx]
    00412ec6lea rdx, [r13+16]
    00412ecamov r8, rax
    00412ecdadd r8, r8
    00412ed0add r8, r8
    00412ed3add r8, r8
    00412ed6call fn_405ac0
    00412edbmov rcx, [rbx]
    00412edecall fn_412e10
    00412ee3
    00412ee3loc_412ee3:
    00412ee3cmp rsi, rdi
    00412ee6jle 0x412f04
    00412ee8lea rcx, [r13+8*rdi+16]
    00412eedmov rdx, rsi
    00412ef0sub rdx, rdi
    00412ef3add rdx, rdx
    00412ef6add rdx, rdx
    00412ef9add rdx, rdx
    00412efcxor r8, r8
    00412effcall fn_4069b0
    00412f04
    00412f04loc_412f04:
    00412f04mov rax, r13
    00412f07mov [rax+4], 1
    00412f0emov [rax+8], rsi
    00412f12add r13, 16
    00412f16mov [rbx], r13
    00412f19add rsp, 40
    00412f1dpop rbx
    00412f1epop rsi
    00412f1fpop rdi
    00412f20pop r13
    00412f22ret
    00412e60
    00412f23
    00412f23 // align 0x10
    00412f30
    00412f30fn_412f30:
    00412f30push rbx
    00412f31sub rsp, 32
    00412f35mov ecx, 512
    00412f3acall fn_4046b0
    00412f3fmov rbx, rax
    00412f42call fn_409840
    00412f47mov [rbx+8], rax
    00412f4bmov rax, rbx
    00412f4eadd rsp, 32
    00412f52pop rbx
    00412f53ret
    00412f30
    00412f54
    00412f54 // align 0x10
    00412f60
    00412f60fn_412f60:
    00412f60mov r9l, 31
    00412f66lea rdx, [rcx+16]
    00412f6a
    00412f6aloc_412f6a:
    00412f6amov rax, [rdx]
    00412f6dtest rax, rax
    00412f70je 0x412f76
    00412f72mov rax, [rax-8]
    00412f76
    00412f76loc_412f76:
    00412f76xor ecx, ecx
    00412f78lea r10, [rax-1]
    00412f7cmov eax, ecx
    00412f7ecmp eax, r10l
    00412f81jg 0x412fb7
    00412f83sub r10l, ecx
    00412f86add r10l, 1
    00412f8a
    00412f8aloc_412f8a:
    00412f8amovsxd r8, eax
    00412f8dmov rcx, [rdx]
    00412f90mov rcx, [rcx+8*r8]
    00412f94test rcx, rcx
    00412f97je 0x412fab
    00412f99mov [rcx], 0
    00412fa0mov rcx, [rdx]
    00412fa3mov [rcx+8*r8], 0
    00412fab
    00412fabloc_412fab:
    00412fabadd eax, 1
    00412faesub r10l, 1
    00412fb2test r10l, r10l
    00412fb5jne 0x412f8a
    00412fb7
    00412fb7loc_412fb7:
    00412fb7nop
    00412fb8mov rax, [rdx+248]
    00412fbftest rax, rax
    00412fc2je 0x412fc8
    00412fc4mov rax, [rax-8]
    00412fc8
    00412fc8loc_412fc8:
    00412fc8xor ecx, ecx
    00412fcalea r10, [rax-1]
    00412fcemov eax, ecx
    00412fd0cmp eax, r10l
    00412fd3jg 0x413019
    00412fd5sub r10l, ecx
    00412fd8add r10l, 1
    00412fdc
    00412fdcloc_412fdc:
    00412fdcmovsxd r8, eax
    00412fdfmov rcx, [rdx+248]
    00412fe6mov rcx, [rcx+8*r8]
    00412featest rcx, rcx
    00412fedje 0x41300d
    00412fefmov [rcx], 0
    00412ff6mov [rcx+8], 0
    00412ffemov rcx, [rdx+248]
    00413005mov [rcx+8*r8], 0
    0041300d
    0041300dloc_41300d:
    0041300dadd eax, 1
    00413010sub r10l, 1
    00413014test r10l, r10l
    00413017jne 0x412fdc
    00413019
    00413019loc_413019:
    00413019nop
    0041301aadd rdx, 8
    0041301esub r9l, 1
    00413022test r9l, r9l
    00413025jne 0x412f6a
    0041302bnop
    0041302cret
    00412f60
    0041302d
    0041302d // align 0x10
    00413030
    00413030fn_413030:
    00413030sub rsp, 40
    00413034cmp [rip+0x52954], 0
    0041303cje 0x41304a
    0041303emov rcx, [rcx+8]
    00413042or edx, -1
    00413045call fn_409a50
    0041304a
    0041304aloc_41304a:
    0041304aadd rsp, 40
    0041304eret
    00413030
    0041304f
    0041304f // align 0x10
    00413050
    00413050fn_413050:
    00413050sub rsp, 40
    00413054cmp [rip+0x52934], 0
    0041305cje 0x413067
    0041305emov rcx, [rcx+8]
    00413062call fn_409c20
    00413067
    00413067loc_413067:
    00413067add rsp, 40
    0041306bret
    00413050
    0041306c
    0041306c // align 0x10
    00413070
    00413070fn_413070:
    00413070push rbx
    00413071sub rsp, 32
    00413075mov rbx, rcx
    00413078mov rcx, rbx
    0041307bcall fn_412f60
    00413080mov [rbx], 0
    00413087add rsp, 32
    0041308bpop rbx
    0041308cret
    00413070
    0041308d
    0041308d // align 0x10
    00413090
    00413090fn_413090:
    00413090push r13
    00413092push rdi
    00413093push rsi
    00413094push rbx
    00413095sub rsp, 40
    00413099mov rbx, rcx
    0041309ctest rbx, rbx
    0041309fsetne sil
    004130a3test sil, sil
    004130a6je 0x41310c
    004130a8mov rcx, rbx
    004130abcall fn_412f60
    004130b0mov r13l, 31
    004130b6lea rdi, [rbx+16]
    004130ba
    004130baloc_4130ba:
    004130bamov rcx, rdi
    004130bdcall fn_412e10
    004130c2add rdi, 8
    004130c6sub r13l, 1
    004130catest r13l, r13l
    004130cdjne 0x4130ba
    004130cfnop
    004130d0mov r13l, 31
    004130d6lea rdi, [rbx+264]
    004130dd
    004130ddloc_4130dd:
    004130ddmov rcx, rdi
    004130e0call fn_412e10
    004130e5add rdi, 8
    004130e9sub r13l, 1
    004130edtest r13l, r13l
    004130f0jne 0x4130dd
    004130f2nop
    004130f3mov rcx, [rbx+8]
    004130f7call fn_4098e0
    004130fcmov [rbx+8], 0
    00413104mov rcx, rbx
    00413107call fn_404120
    0041310c
    0041310cloc_41310c:
    0041310cmov eax, esi
    0041310fadd rsp, 40
    00413113pop rbx
    00413114pop rsi
    00413115pop rdi
    00413116pop r13
    00413118ret
    00413090
    00413119
    00413119 // align 0x10
    00413120
    00413120fn_413120:
    00413120push rbp
    00413121push rbx
    00413122sub rsp, 104
    00413126mov rbp, rsp
    00413129mov [rbp+40], rbp
    0041312dmov [rbp+128], rcx
    00413134mov [rbp+136], rdx
    0041313bmov [rbp+144], r8
    00413142mov rax, [rbp+144]
    00413149mov rcx, rax
    0041314cshr rcx, 13
    00413150shr rax, 5
    00413154lea rax, [rcx+rax]
    00413158mov ecx, 31
    0041315dcqo
    0041315fidiv rcx
    00413162mov [rbp+88], edx
    00413165mov rcx, [rbp+128]
    0041316ccall fn_413030
    00413171nop
    00413172mov rax, [rbp+136]
    00413179movsxd rcx, [rbp+88]
    0041317dmov rax, [rax+8*rcx]
    00413181mov [rbp+72], rax
    00413185mov rax, [rbp+72]
    00413189mov [rbp+64], rax
    0041318dcmp [rbp+64], 0
    00413192je 0x4131a0
    00413194mov rax, [rbp+64]
    00413198mov rax, [rax-8]
    0041319cmov [rbp+64], rax
    004131a0
    004131a0loc_4131a0:
    004131a0xor eax, eax
    004131a2mov rcx, [rbp+64]
    004131a6lea rcx, [rcx-1]
    004131aamov [rbp+92], eax
    004131adcmp [rbp+92], ecx
    004131b0jg 0x4131fb
    004131b2sub ecx, eax
    004131b4add ecx, 1
    004131b7
    004131b7loc_4131b7:
    004131b7movsxd rax, [rbp+92]
    004131bbmov rdx, [rbp+136]
    004131c2movsxd r8, [rbp+88]
    004131c6mov rdx, [rdx+8*r8]
    004131cacmp [rdx+8*rax], 0
    004131cfjne 0x4131f0
    004131d1mov rcx, [rbp+136]
    004131d8movsxd rdx, [rbp+88]
    004131dcmov rcx, [rcx+8*rdx]
    004131e0mov rdx, [rbp+144]
    004131e7mov [rcx+8*rax], rdx
    004131ebjmp 0x41328e
    004131f0
    004131f0loc_4131f0:
    004131f0add [rbp+92], 1
    004131f4sub ecx, 1
    004131f7test ecx, ecx
    004131f9jne 0x4131b7
    004131fb
    004131fbloc_4131fb:
    004131fbnop
    004131fcmovsxd rbx, [rbp+88]
    00413200mov rax, [rbp+136]
    00413207mov rax, [rax+8*rbx]
    0041320bmov [rbp+56], rax
    0041320fmov rax, [rbp+56]
    00413213mov [rbp+48], rax
    00413217cmp [rbp+48], 0
    0041321cje 0x41322a
    0041321emov rax, [rbp+48]
    00413222mov rax, [rax-8]
    00413226mov [rbp+48], rax
    0041322a
    0041322aloc_41322a:
    0041322amov eax, [rbp+48]
    0041322dmov [rbp+92], eax
    00413230cmp [rbp+92], 0
    00413234jne 0x41324d
    00413236mov rax, [rbp+136]
    0041323dlea rcx, [rax+8*rbx]
    00413241mov edx, 10
    00413246call fn_412e60
    0041324bjmp 0x413265
    0041324d
    0041324dloc_41324d:
    0041324dmov rax, [rbp+136]
    00413254lea rcx, [rax+8*rbx]
    00413258mov edx, [rbp+92]
    0041325badd edx, edx
    0041325dmovsxd rdx, edx
    00413260call fn_412e60
    00413265
    00413265loc_413265:
    00413265mov rax, [rbp+136]
    0041326cmov rax, [rax+8*rbx]
    00413270movsxd rcx, [rbp+92]
    00413274mov rdx, [rbp+144]
    0041327bmov [rax+8*rcx], rdx
    0041327fnop
    00413280mov rcx, [rbp+128]
    00413287call fn_413050
    0041328cjmp 0x413299
    0041328e
    0041328eloc_41328e:
    0041328exor ecx, ecx
    00413290mov rdx, [rbp+40]
    00413294call fn_4132a0
    00413299
    00413299loc_413299:
    00413299lea rsp, [rbp+104]
    0041329dpop rbx
    0041329epop rbp
    0041329fret
    00413120
    004132a0
    004132a0fn_4132a0:
    004132a0push rbp
    004132a1sub rsp, 32
    004132a5mov rbp, rsp
    004132a8mov rcx, [rdx+128]
    004132afcall fn_413050
    004132b4lea rsp, [rbp+32]
    004132b8pop rbp
    004132b9ret
    004132a0
    004132ba
    004132ba // align 0x10
    004132c0
    004132c0fn_4132c0:
    004132c0push rbp
    004132c1sub rsp, 80
    004132c5mov rbp, rsp
    004132c8mov [rbp+40], rbp
    004132ccmov [rbp+96], rcx
    004132d0mov [rbp+104], rdx
    004132d4mov [rbp+112], r8
    004132d8mov rax, [rbp+112]
    004132dcmov rcx, rax
    004132dfshr rcx, 13
    004132e3shr rax, 5
    004132e7lea rax, [rcx+rax]
    004132ebmov ecx, 31
    004132f0cqo
    004132f2idiv rcx
    004132f5mov [rbp+72], edx
    004132f8mov rcx, [rbp+96]
    004132fccall fn_413030
    00413301nop
    00413302mov rax, [rbp+104]
    00413306movsxd rcx, [rbp+72]
    0041330amov rax, [rax+8*rcx]
    0041330emov [rbp+56], rax
    00413312mov rax, [rbp+56]
    00413316mov [rbp+48], rax
    0041331acmp [rbp+48], 0
    0041331fje 0x41332d
    00413321mov rax, [rbp+48]
    00413325mov rax, [rax-8]
    00413329mov [rbp+48], rax
    0041332d
    0041332dloc_41332d:
    0041332dxor eax, eax
    0041332fmov rcx, [rbp+48]
    00413333lea rcx, [rcx-1]
    00413337mov [rbp+76], eax
    0041333acmp [rbp+76], ecx
    0041333djg 0x41337f
    0041333fsub ecx, eax
    00413341add ecx, 1
    00413344
    00413344loc_413344:
    00413344movsxd rax, [rbp+76]
    00413348mov rdx, [rbp+104]
    0041334cmovsxd r8, [rbp+72]
    00413350mov rdx, [rdx+8*r8]
    00413354mov rdx, [rdx+8*rax]
    00413358cmp rdx, [rbp+112]
    0041335cjne 0x413374
    0041335emov rcx, [rbp+104]
    00413362movsxd rdx, [rbp+72]
    00413366mov rcx, [rcx+8*rdx]
    0041336amov [rcx+8*rax], 0
    00413372jmp 0x41338c
    00413374
    00413374loc_413374:
    00413374add [rbp+76], 1
    00413378sub ecx, 1
    0041337btest ecx, ecx
    0041337djne 0x413344
    0041337f
    0041337floc_41337f:
    0041337fnop
    00413380nop
    00413381mov rcx, [rbp+96]
    00413385call fn_413050
    0041338ajmp 0x413397
    0041338c
    0041338cloc_41338c:
    0041338cxor ecx, ecx
    0041338emov rdx, [rbp+40]
    00413392call fn_4133a0
    00413397
    00413397loc_413397:
    00413397lea rsp, [rbp+80]
    0041339bpop rbp
    0041339cret
    004132c0
    0041339d
    0041339d 48 8b c0 H..
    004133a0
    004133a0fn_4133a0:
    004133a0push rbp
    004133a1sub rsp, 32
    004133a5mov rbp, rsp
    004133a8mov rcx, [rdx+96]
    004133accall fn_413050
    004133b1lea rsp, [rbp+32]
    004133b5pop rbp
    004133b6ret
    004133a0
    004133b7
    004133b7 // align 0x10
    004133c0
    004133c0fn_4133c0:
    004133c0sub rsp, 40
    004133c4mov rax, rcx
    004133c7lea r8, [rcx+16]
    004133cbmov r9, rdx
    004133cemov rcx, rax
    004133d1mov rdx, r8
    004133d4mov r8, r9
    004133d7call fn_413120
    004133dcadd rsp, 40
    004133e0ret
    004133c0
    004133e1
    004133e1 // align 0x10
    004133f0
    004133f0fn_4133f0:
    004133f0sub rsp, 40
    004133f4mov rax, rcx
    004133f7lea r8, [rcx+16]
    004133fbmov r9, rdx
    004133femov rcx, rax
    00413401mov rdx, r8
    00413404mov r8, r9
    00413407call fn_4132c0
    0041340cadd rsp, 40
    00413410ret
    004133f0
    00413411
    00413411 // align 0x10
    00413420
    00413420fn_413420:
    00413420sub rsp, 40
    00413424mov rax, rcx
    00413427lea r8, [rcx+264]
    0041342emov r9, rdx
    00413431mov rcx, rax
    00413434mov rdx, r8
    00413437mov r8, r9
    0041343acall fn_413120
    0041343fadd rsp, 40
    00413443ret
    00413420
    00413444
    00413444 // align 0x10
    00413450
    00413450fn_413450:
    00413450sub rsp, 40
    00413454mov rax, rcx
    00413457lea r8, [rcx+264]
    0041345emov r9, rdx
    00413461mov rcx, rax
    00413464mov rdx, r8
    00413467mov r8, r9
    0041346acall fn_4132c0
    0041346fadd rsp, 40
    00413473ret
    00413450
    00413474
    00413474 // align 0x10
    00413480
    00413480fn_413480:
    00413480push r13
    00413482push rdi
    00413483push rsi
    00413484push rbx
    00413485sub rsp, 40
    00413489mov rbx, rcx
    0041348cmov esi, edx
    0041348emov rdi, r8
    00413491mov rax, [rbx+16]
    00413495test rax, rax
    00413498je 0x41349e
    0041349amov rax, [rax-8]
    0041349e
    0041349eloc_41349e:
    0041349etest rax, rax
    004134a1jne 0x4134b3
    004134a3lea rcx, [rbx+16]
    004134a7mov edx, 10
    004134accall fn_412e60
    004134b1jmp 0x4134e5
    004134b3
    004134b3loc_4134b3:
    004134b3mov rax, [rbx+16]
    004134b7test rax, rax
    004134baje 0x4134c0
    004134bcmov rax, [rax-8]
    004134c0
    004134c0loc_4134c0:
    004134c0movsxd rcx, [rbx+8]
    004134c4cmp rcx, rax
    004134c7jne 0x4134e5
    004134c9mov rax, [rbx+16]
    004134cdtest rax, rax
    004134d0je 0x4134d6
    004134d2mov rax, [rax-8]
    004134d6
    004134d6loc_4134d6:
    004134d6lea rcx, [rbx+16]
    004134damov rdx, rax
    004134ddadd rdx, rdx
    004134e0call fn_412e60
    004134e5
    004134e5loc_4134e5:
    004134e5mov eax, [rbx+8]
    004134e8cmp esi, eax
    004134eajl 0x4134f9
    004134ecmov rcx, [rbx+16]
    004134f0movsxd rax, eax
    004134f3mov [rcx+8*rax], rdi
    004134f7jmp 0x413535
    004134f9
    004134f9loc_4134f9:
    004134f9movsxd r13, esi
    004134fcmov rcx, [rbx+16]
    00413500lea rcx, [rcx+8*r13]
    00413504mov rdx, [rbx+16]
    00413508mov r8l, esi
    0041350badd r8l, 1
    0041350fmovsxd r8, r8l
    00413512lea rdx, [rdx+8*r8]
    00413516mov r8l, eax
    00413519sub r8l, esi
    0041351cadd r8l, r8l
    0041351fadd r8l, r8l
    00413522add r8l, r8l
    00413525movsxd r8, r8l
    00413528call fn_405ac0
    0041352dmov rax, [rbx+16]
    00413531mov [rax+8*r13], rdi
    00413535
    00413535loc_413535:
    00413535lea rax, [rbx+8]
    00413539add [rax], 1
    0041353cadd rsp, 40
    00413540pop rbx
    00413541pop rsi
    00413542pop rdi
    00413543pop r13
    00413545ret
    00413480