Function at 0x467070
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1e0
movzx eax, byte [ebp + 0x14]
mov esi, edx
mov edi, ecx
mov dword [esp + 0x8c], edx
mov byte [esp + 0x9b], al
call fcn.004b3550
test eax, eax
je 0x469406
movdqu xmm0, xmmword [eax]
movd edx, xmm0
pshufd xmm1, xmm0, 0x55
add edx, 1
movd ecx, xmm1
adc ecx, 0
mov dword [eax], edx
mov dword [eax + 4], ecx
movdqu xmmword [esp + 0xf8], xmm0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 4
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0x5812f0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
call fcn.004b3550
test eax, eax
je 0x469406
movdqu xmm0, xmmword [eax]
mov dword [esp + 0x138], edi
movd edx, xmm0
pshufd xmm1, xmm0, 0x55
add edx, 1
movd ecx, xmm1
adc ecx, 0
mov dword [eax], edx
mov dword [eax + 4], ecx
movdqu xmmword [esp + 0x170], xmm0
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 8
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0x5812f0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov eax, dword [esi + 4]
test eax, eax
mov dword [esp + 0x134], eax
je 0x4671c0
lea edi, [eax + 4]
lea ebx, [eax + 8]
mov dword [esp + 0x13c], eax
mov eax, dword [ebx]
test eax, eax
jne 0x46720b
jmp 0x46756a
mov edx, dword [esi]
lea ecx, [esp + 0x58]
lea edi, [esp + 0xcc]
lea ebx, [esp + 0xd0]
call fcn.00435bd0
mov eax, dword [esp + 0x60]
movq xmm0, qword [esp + 0x58]
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xc8]
movq qword [esp + 0xc8], xmm0
mov dword [esp + 0x13c], eax
mov eax, dword [ebx]
test eax, eax
je 0x46756a
mov ecx, dword [edi]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x94], eax
jmp 0x467250
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x170]
mov edx, dword [eax]
push dword [eax + 4]
call fcn.004624e0
add esp, 4
mov eax, dword [esp + 0xa0]
cmp eax, dword [esp + 0x94]
mov dword [esp + 0xc], eax
je 0x46756a
mov eax, dword [esp + 0x8c]
mov esi, dword [eax]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 4
mov dword [esp + 0x30], 0
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x467293
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x46935a
mov dword [0x5920d8], eax
push 4
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x46935a
mov edi, eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], 0
mov dword [esp + 4], 4
mov dword [edi], eax
mov dword [esp + 0x38], 1
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 8
mov dword [esp + 0x3c], edi
mov dword [esp + 0x60], 0
lea ecx, [eax + 0x18]
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x24]
mov dword [esp + 0xa0], ecx
mov ecx, 0xfffffec0
shl eax, 6
add edx, ecx
lea eax, [eax + eax*4]
mov dword [esp + 0x18], edx
mov dword [esp + 0x4c], eax
mov eax, 1
jmp 0x467320
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x1c]
test eax, eax
je 0x4674d0
mov ecx, eax
dec eax
xor edx, edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x40], eax
mov esi, dword [edi + ecx*4 - 4]
mov ecx, dword [esp + 0x14]
lea ecx, [ecx*4]
nop dword [eax]
cmp ecx, edx
je 0x467360
mov edi, dword [esp + 4]
mov edi, dword [edi + edx]
add edx, 4
mov ebx, dword [edi]
mov edi, dword [edi + 4]
xor edi, dword [esi + 4]
xor ebx, dword [esi]
or ebx, edi
jne 0x467340
jmp 0x467314
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x28]
jne 0x467380
lea ecx, [esp + 0x28]
call fcn.004b4f70
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
jmp 0x467384
mov eax, dword [esp + 4]
mov dword [eax + edx*4], esi
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x30], ecx
mov eax, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov esi, dword [esp + 0x4c]
nop word [eax + eax]
test esi, esi
je 0x467310
mov edi, dword [ecx + 0x178]
mov ebx, dword [ecx + 0x17c]
add ecx, 0x140
add esi, 0xfffffec0
xor edi, eax
xor ebx, edx
or ebx, edi
jne 0x4673b0
mov eax, dword [ecx + 0xb0]
mov ebx, dword [ecx + 0xac]
shl eax, 4
add eax, ebx
mov dword [esp + 8], eax
nop dword [eax]
cmp ebx, dword [esp + 8]
je 0x467310
mov eax, dword [ebx]
mov esi, ebx
test eax, eax
je 0x467425
mov ecx, dword [ebp + 0x10]
lea ebx, [esi + 0x10]
test ecx, ecx
je 0x4673f0
mov edi, dword [esp + 0xc]
mov edx, dword [edi]
push dword [esi + 4]
push eax
push dword [edi + 4]
call fcn.0045f580
add esp, 0xc
test al, al
je 0x4673f0
mov eax, dword [esi + 8]
lea ebx, [esi + 0x10]
mov edi, dword [esi + 0xc]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
nop word [eax + eax]
test eax, eax
je 0x467498
mov ecx, dword [esi + 0x178]
mov edx, dword [esi + 0x17c]
add esi, 0x140
add eax, 0xfffffec0
xor ecx, dword [esp + 0x10]
xor edx, edi
or edx, ecx
jne 0x467440
cmp dword [esi + 0xb0], 0
je 0x467498
mov edx, dword [esp + 0x40]
cmp edx, dword [esp + 0x38]
jne 0x467485
lea ecx, [esp + 0x38]
call fcn.004b4f70
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
add esi, 0x38
mov dword [eax + edx*4], esi
inc edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x60]
cmp edx, dword [esp + 0x58]
jne 0x4674af
lea ecx, [esp + 0x58]
call fcn.004375d0
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x10]
mov dword [eax + edx*8], ecx
mov dword [eax + edx*8 + 4], edi
inc edx
mov dword [esp + 0x60], edx
jmp 0x4673f0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
cmp dword [esp + 0x38], 0
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
je 0x4674fc
push dword [esp + 0x3c]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x28], 0
je 0x467514
push dword [esp + 0x2c]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
test ebx, ebx
lea esi, [esp + 0x170]
je 0x467549
mov eax, dword [esp + 4]
shl ebx, 3
nop word cs:[eax + eax]
mov edx, dword [eax]
lea edi, [eax + 8]
mov ecx, esi
push dword [eax + 4]
call fcn.004624e0
add esp, 4
add ebx, 0xfffffff8
mov eax, edi
jne 0x467530
cmp dword [esp + 8], 0
je 0x467220
push dword [esp + 4]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x467220
mov eax, dword [esp + 0x8c]
lea edx, [esp + 0x13c]
mov eax, dword [eax]
mov ecx, dword [eax + 0x134]
imul eax, dword [eax + 0x138], 0x38
add eax, ecx
mov dword [esp + 0x140], ecx
lea ecx, [esp + 0x8c]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], edx
mov dword [esp + 0x14c], ecx
lea ecx, [esp + 0x1c0]
lea edx, [esp + 0x140]
mov dword [esp + 0x150], 0
mov dword [esp + 0x160], 0
call fcn.0042f0c0
cmp dword [esp + 0x1c0], 0
je 0x4684e4
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x150]
mov esi, dword [esp + 0x16c]
mov edx, dword [esp + 0x160]
mov edi, 3
sub eax, dword [esp + 0x158]
shr eax, 3
test ecx, ecx
cmove eax, ecx
sub esi, dword [esp + 0x168]
shr esi, 3
test edx, edx
cmove esi, edx
add esi, eax
cmp esi, 4
cmovae edi, esi
cmp edi, 0xffffffe
ja 0x46858d
lea esi, [edi*8 + 8]
test esi, esi
js 0x46858d
mov eax, dword [esp + 0x1c8]
mov ebx, dword [esp + 0x1cc]
mov dword [esp + 4], eax
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x467679
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x469438
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x469438
mov ecx, dword [esp + 4]
mov dword [eax + 4], ebx
mov esi, 1
inc edi
mov dword [esp + 4], eax
mov dword [eax], ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 1
movsd xmm1, qword [esp + 0x160]
movsd xmm2, qword [esp + 0x158]
movq xmm0, qword [esp + 0x168]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x150]
movsd qword [esp + 0x70], xmm2
movq xmm2, qword [esp + 0x140]
movq qword [esp + 0x80], xmm0
movsd qword [esp + 0x68], xmm1
movq xmm1, qword [esp + 0x148]
movq qword [esp + 0x58], xmm2
movq qword [esp + 0x60], xmm1
jmp 0x467720
mov dword [eax + esi*8], ebx
mov dword [eax + esi*8 + 4], edi
inc esi
mov dword [esp + 4], eax
mov dword [esp + 0x40], esi
lea ecx, [esp + 0x1b0]
lea edx, [esp + 0x58]
call fcn.0042f0c0
cmp dword [esp + 0x1b0], 1
jne 0x46779f
mov edi, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x1b8]
cmp esi, dword [esp + 0x38]
mov eax, dword [esp + 4]
jne 0x467710
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x68]
sub eax, dword [esp + 0x80]
sub edx, dword [esp + 0x70]
shr eax, 3
shr edx, 3
inc eax
test ecx, ecx
cmove edx, ecx
cmp dword [esp + 0x78], 0
mov ecx, 1
cmove eax, ecx
lea ecx, [esp + 0x38]
add eax, edx
mov edx, esi
push eax
call fcn.004379a0
add esp, 4
mov eax, dword [esp + 0x3c]
jmp 0x467710
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4677bc
cmp dword [esp + 0x6c], 0
je 0x4677bc
push eax
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4677d9
cmp dword [esp + 0x7c], 0
je 0x4677d9
push eax
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
movsd xmm0, qword [esp + 0x38]
mov eax, dword [esp + 0x40]
movsd qword [esp + 0xa8], xmm0
mov dword [esp + 0xb0], eax
mov edx, dword [esp + 0x188]
mov esi, dword [esp + 0x184]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
shl edx, 4
lea eax, [ecx + eax*8]
mov ebx, esi
mov dword [esp + 0x94], esi
add edx, esi
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], edx
test ebx, ebx
je 0x467a90
nop
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xb0]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 0x10]
shl esi, 3
mov dword [esp + 0x54], eax
mov dword [esp + 0x9c], esi
mov dword [esp + 0x90], edx
jmp 0x467878
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp ebx, dword [esp + 0xa0]
je 0x467a90
lea eax, [ebx + 0x10]
mov edx, dword [ebx + 4]
mov edi, dword [ebx]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], edx
mov ecx, dword [eax]
mov eax, dword [ecx + 0x28]
mov esi, dword [ecx + 0x24]
mov dword [esp + 8], ecx
test eax, eax
mov dword [esp + 0x1c], eax
je 0x4678f0
mov edx, dword [esp + 0x1c]
lea ecx, [esi + 0x38]
shl edx, 6
lea edx, [edx + edx*4]
jmp 0x4678ce
add ecx, 0x140
add edx, 0xfffffec0
je 0x4678f0
cmp dword [ecx + 0x18], 0
jne 0x4678c0
cmp dword [ecx + 0x44], 0x110000
jne 0x4678c0
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
xor eax, dword [esp + 4]
xor ebx, edi
or eax, ebx
jne 0x4678c0
jmp 0x467870
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x134]
imul eax, dword [eax + 0x138], 0x38
nop word cs:[eax + eax]
nop dword [eax + eax]
test eax, eax
je 0x467930
mov ebx, dword [ecx + 4]
mov edx, dword [ecx]
add eax, 0xffffffc8
add ecx, 0x38
xor ebx, dword [esp + 4]
xor edx, edi
or ebx, edx
jne 0x467910
jmp 0x467870
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x50]
nop dword [eax + eax]
test eax, eax
je 0x46795e
mov ebx, dword [ecx + 4]
mov edx, dword [ecx]
add eax, 0xfffffff8
add ecx, 8
xor ebx, dword [esp + 4]
xor edx, edi
or ebx, edx
jne 0x467940
jmp 0x467870
mov eax, dword [esp + 0x90]
test eax, eax
je 0x467a80
cmp dword [eax + 0x28], 0
je 0x467a80
mov edx, dword [eax + 4]
mov ecx, dword [eax]
push dword [esp + 4]
push edi
push dword [eax + 0xc]
push dword [eax + 8]
mov ebx, eax
call fcn.00462b80
pcmpeqd xmm3, xmm3
add esp, 0x10
mov ecx, eax
mov eax, dword [ebx + 0x14]
mov edx, dword [ebx + 0x20]
mov dword [esp + 8], edi
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x10], edx
and edx, ecx
shr ecx, 0x19
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x1c]
pshufd xmm0, xmm0, 0
movdqa xmm2, xmm0
movdqu xmm1, xmmword [eax + edx]
mov dword [esp + 0xc], eax
xor eax, eax
pcmpeqb xmm2, xmm1
pmovmskb ebx, xmm2
test bx, bx
jne 0x467a24
nop word cs:[eax + eax]
pcmpeqb xmm1, xmm3
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x467a80
lea edx, [eax + edx + 0x10]
mov ecx, dword [esp + 0xc]
movdqa xmm2, xmm0
add eax, 0x10
and edx, dword [esp + 0x10]
movdqu xmm1, xmmword [ecx + edx]
pcmpeqb xmm2, xmm1
pmovmskb ebx, xmm2
test ebx, ebx
je 0x4679f0
tzcnt ecx, ebx
mov edi, dword [esp + 0xc]
add ecx, edx
and ecx, dword [esp + 0x10]
shl ecx, 2
sub edi, ecx
mov ecx, dword [edi - 4]
cmp dword [esp + 0x20], ecx
jbe 0x4692cf
lea edi, [ebx - 1]
imul ecx, ecx, 0x38
and edi, ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x4c], edi
mov edi, dword [ebx + ecx + 0x2c]
mov ecx, dword [ebx + ecx + 0x28]
mov ebx, dword [esp + 8]
xor edi, dword [esp + 4]
xor ecx, ebx
or ecx, edi
mov edi, ebx
mov ebx, dword [esp + 0x4c]
jne 0x4679e1
jmp 0x467870
mov ebx, dword [esp + 0x18]
jmp 0x467d02
test ecx, ecx
je 0x467de7
cmp ecx, dword [esp + 0xa4]
je 0x467de7
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0xb0]
mov edi, dword [ebp + 0x10]
mov eax, dword [eax]
shl edx, 3
mov dword [esp + 0xc4], edi
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0xac]
mov esi, dword [eax + 0x24]
mov dword [esp + 0x4c], eax
mov eax, dword [eax + 0x28]
mov dword [esp + 0x90], edx
mov dword [esp + 0x1c], eax
shl eax, 6
lea edx, [esi + 0x38]
lea eax, [eax + eax*4]
mov dword [esp + 0x50], edx
mov dword [esp + 0x24], eax
jmp 0x467b11
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0xa4]
je 0x467de7
mov eax, ecx
mov ecx, dword [ecx]
cmp dword [esp + 0x1c], 0
mov edx, dword [eax + 4]
lea eax, [eax + 8]
mov dword [esp + 0x14], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
je 0x467b70
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x50]
jmp 0x467b4d
add ecx, 0x140
add eax, 0xfffffec0
je 0x467b70
cmp dword [ecx + 0x18], 0
jne 0x467b40
cmp dword [ecx + 0x44], 0x110000
jne 0x467b40
mov edx, dword [ecx]
mov edi, dword [ecx + 4]
xor edx, dword [esp + 8]
xor edi, dword [esp + 4]
or edi, edx
jne 0x467b40
jmp 0x467b00
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x134]
imul eax, dword [eax + 0x138], 0x38
nop word cs:[eax + eax]
nop dword [eax + eax]
test eax, eax
je 0x467bb0
mov edx, dword [ecx]
mov edi, dword [ecx + 4]
add eax, 0xffffffc8
add ecx, 0x38
xor edx, dword [esp + 8]
xor edi, dword [esp + 4]
or edi, edx
jne 0x467b90
jmp 0x467b00
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x90]
nop
test eax, eax
je 0x467be0
mov edx, dword [ecx]
mov edi, dword [ecx + 4]
add eax, 0xfffffff8
add ecx, 8
xor edx, dword [esp + 8]
xor edi, dword [esp + 4]
or edi, edx
jne 0x467bc0
jmp 0x467b00
mov ebx, dword [esp + 0xc4]
mov edi, dword [esp + 8]
test ebx, ebx
je 0x467d00
cmp dword [ebx + 0x28], 0
je 0x467d00
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
push dword [esp + 4]
push edi
push dword [ebx + 0xc]
push dword [ebx + 8]
call fcn.00462b80
pcmpeqd xmm3, xmm3
add esp, 0x10
mov ecx, eax
mov eax, dword [ebx + 0x14]
mov edx, dword [ebx + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x10], edx
and edx, ecx
shr ecx, 0x19
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 0x1c]
pshufd xmm0, xmm0, 0
movdqa xmm2, xmm0
movdqu xmm1, xmmword [eax + edx]
mov dword [esp + 0xc], eax
xor eax, eax
pcmpeqb xmm2, xmm1
pmovmskb ebx, xmm2
test bx, bx
jne 0x467ca4
mov edi, dword [esp + 8]
nop word [eax + eax]
pcmpeqb xmm1, xmm3
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x467d00
lea edx, [eax + edx + 0x10]
mov ecx, dword [esp + 0xc]
movdqa xmm2, xmm0
add eax, 0x10
and edx, dword [esp + 0x10]
movdqu xmm1, xmmword [ecx + edx]
pcmpeqb xmm2, xmm1
pmovmskb ebx, xmm2
test ebx, ebx
je 0x467c70
tzcnt ecx, ebx
mov edi, dword [esp + 0xc]
add ecx, edx
and ecx, dword [esp + 0x10]
shl ecx, 2
sub edi, ecx
mov ecx, dword [edi - 4]
cmp dword [esp + 0x54], ecx
jbe 0x4692dd
lea edi, [ebx - 1]
imul ecx, ecx, 0x38
and edi, ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x18], edi
mov edi, dword [ebx + ecx + 0x2c]
mov ecx, dword [ebx + ecx + 0x28]
mov ebx, dword [esp + 0x18]
xor edi, dword [esp + 4]
xor ecx, dword [esp + 8]
or ecx, edi
jne 0x467c61
jmp 0x467b00
xor ebx, ebx
mov eax, dword [esp + 0x1c]
add esi, 0xfffffec0
shl eax, 6
lea eax, [eax + eax*4]
nop word cs:[eax + eax]
nop dword [eax]
test eax, eax
je 0x4692eb
mov edx, dword [esi + 0x17c]
mov ecx, dword [esi + 0x178]
add esi, 0x140
add eax, 0xfffffec0
xor edx, dword [esp + 4]
xor ecx, edi
or edx, ecx
jne 0x467d20
lea eax, [esp + 0x38]
mov ecx, esi
lea edx, [esp + 0x58]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 1
mov dword [esp + 0x74], 0
mov dword [esp + 0x68], 0x20
mov byte [esp + 0x78], 3
mov dword [esp + 0x58], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0x57159c
call fcn.00453c90
test al, al
jne 0x469369
movq xmm0, qword [esp + 0x38]
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0xf8]
lea edx, [esp + 0x1d0]
movq qword [esp + 0x1d0], xmm0
mov dword [esp + 0x1d8], eax
call fcn.00461e60
mov ecx, dword [esp + 0x14]
test ebx, ebx
jne 0x467830
jmp 0x467a90
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 4
mov dword [esp + 0xc0], 0
jmp 0x467e42
lea ecx, [esp + 0xb8]
call fcn.00437170
mov esi, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x30]
lea eax, [edx + edx*2]
inc edx
mov dword [esi + eax*4 + 8], ecx
movq xmm0, qword [esp + 0x28]
movq qword [esi + eax*4], xmm0
mov dword [esp + 0xc0], edx
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x94]
mov dword [esp + 4], ecx
cmp eax, dword [esp + 0xa0]
je 0x46844a
mov edi, dword [ecx]
mov esi, eax
add eax, 0x10
mov ecx, dword [esi]
mov dword [esp + 0x20], esi
mov esi, dword [esi + 4]
mov dword [esp + 0x94], eax
mov edx, dword [edi + 0x134]
mov dword [esp + 8], edi
imul edi, dword [edi + 0x138], 0x38
nop dword [eax]
test edi, edi
je 0x467eb0
mov eax, dword [edx]
mov ebx, dword [edx + 4]
add edi, 0xffffffc8
add edx, 0x38
xor eax, ecx
xor ebx, esi
or ebx, eax
jne 0x467e90
jmp 0x467ed0
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 4]
cmp eax, dword [esp + 0xa0]
jne 0x467e61
jmp 0x46844a
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x468040
mov edx, dword [esp + 8]
lea ecx, [esp + 0x58]
push dword [esp + 0x20]
call fcn.00435920
add esp, 4
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x54], esi
lea eax, [ecx + eax*8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x4c], eax
jmp 0x467f18
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x4c]
je 0x468046
cmp dword [esi + 0x28], 0
mov eax, ecx
lea ecx, [ecx + 8]
je 0x467f18
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esi + 4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esi]
mov dword [esp + 0x10], eax
push eax
mov dword [esp + 0xc], edi
push edi
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.00462b80
pcmpeqd xmm3, xmm3
add esp, 0x10
mov edi, dword [esi + 0x20]
mov ecx, dword [esi + 0x14]
mov ebx, edi
mov dword [esp + 0xc], ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x1c], edi
and ebx, eax
shr eax, 0x19
movd xmm0, eax
mov eax, dword [esi + 0x1c]
xor esi, esi
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
mov dword [esp + 4], ecx
pshufd xmm0, xmm0, 0
movdqu xmm1, xmmword [eax + ebx]
movdqa xmm2, xmm0
mov dword [esp + 0x14], eax
pcmpeqb xmm2, xmm1
pmovmskb edx, xmm2
test dx, dx
jne 0x467fde
nop word cs:[eax + eax]
nop
pcmpeqb xmm1, xmm3
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x467f10
lea ebx, [esi + ebx + 0x10]
movdqa xmm2, xmm0
add esi, 0x10
and ebx, edi
movdqu xmm1, xmmword [eax + ebx]
pcmpeqb xmm2, xmm1
pmovmskb edx, xmm2
test edx, edx
je 0x467fb0
tzcnt ecx, edx
add ecx, ebx
and ecx, edi
mov edi, eax
shl ecx, 2
sub edi, ecx
mov ecx, dword [edi - 4]
cmp dword [esp + 4], ecx
jbe 0x469290
mov eax, dword [esp + 0xc]
lea edi, [edx - 1]
imul ecx, ecx, 0x38
and edi, edx
mov edx, dword [eax + ecx + 0x2c]
mov ecx, dword [eax + ecx + 0x28]
mov eax, dword [esp + 0x14]
xor edx, dword [esp + 0x10]
xor ecx, dword [esp + 8]
or ecx, edx
mov edx, edi
mov edi, dword [esp + 0x1c]
jne 0x467f9f
cmp dword [esp + 0x58], 0
je 0x467e42
push dword [esp + 0x24]
jmp 0x46841b
mov edi, dword [esp + 8]
jmp 0x468067
cmp dword [esp + 0x58], 0
je 0x46805e
push dword [esp + 0x24]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x8c]
mov edi, dword [eax]
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x28]
mov edx, edi
push eax
call fcn.00435920
add esp, 4
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov dword [esp + 8], edi
lea eax, [ecx + eax*8]
mov dword [esp + 0x10], eax
cmp ecx, eax
je 0x468127
mov esi, dword [edi + 0x28]
lea eax, [ecx + 8]
mov edx, dword [edi + 0x24]
mov edi, 0xfffffec0
mov dword [esp + 4], eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
shl esi, 6
add edx, edi
lea edi, [esi + esi*4]
nop word cs:[eax + eax]
nop
test edi, edi
je 0x4680f0
mov esi, dword [edx + 0x178]
mov ebx, dword [edx + 0x17c]
add edx, 0x140
add edi, 0xfffffec0
xor esi, eax
xor ebx, ecx
or ebx, esi
jne 0x4680c0
jmp 0x468110
mov ecx, dword [esp + 4]
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x10]
cmp ecx, eax
jne 0x468095
jmp 0x468127
lea ecx, [esp + 0x58]
call fcn.00431b80
cmp dword [esp + 0x58], 0x80000000
mov edi, dword [esp + 8]
jne 0x468150
lea ecx, [esp + 0x38]
mov edx, 4
push 1
push 0x56ff74
push 0
call fcn.004532b0
add esp, 0xc
jmp 0x468315
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
je 0x468166
mov esi, dword [esp + 0x10]
jmp 0x46817c
call sub.KERNEL32.dll_GetProcessHeap
mov esi, dword [esp + 0x10]
test eax, eax
je 0x4693cd
mov dword [0x5920d8], eax
push 0x30
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4693cd
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], 1
mov dword [eax + 8], ecx
movq xmm0, qword [esp + 0x58]
movq qword [eax], xmm0
mov dword [esp + 0x38], 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 1
mov ecx, dword [esp + 4]
cmp ecx, esi
jne 0x468204
jmp 0x4682ac
lea ecx, [esp + 0x38]
mov edx, ebx
push 1
call fcn.004b7be0
add esp, 4
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
jmp 0x46827d
mov ecx, dword [esp + 4]
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x10]
cmp ecx, esi
je 0x4682ac
mov esi, dword [edi + 0x28]
lea eax, [ecx + 8]
mov edx, dword [edi + 0x24]
mov edi, 0xfffffec0
mov dword [esp + 4], eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
shl esi, 6
add edx, edi
lea esi, [esi + esi*4]
nop word cs:[eax + eax]
nop dword [eax]
test esi, esi
je 0x4681f0
mov ebx, dword [edx + 0x178]
mov edi, dword [edx + 0x17c]
add edx, 0x140
add esi, 0xfffffec0
xor ebx, eax
xor edi, ecx
or edi, ebx
jne 0x468230
lea ecx, [esp + 0x58]
call fcn.00431b80
cmp dword [esp + 0x58], 0x80000000
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x10]
je 0x4682ac
mov ebx, dword [esp + 0xc]
cmp ebx, dword [esp + 0x38]
je 0x4681cc
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x1c]
lea eax, [ebx + ebx*2]
inc ebx
mov dword [esp + 0xc], ebx
mov dword [edx + eax*4 + 8], ecx
movq xmm0, qword [esp + 0x58]
movq qword [edx + eax*4], xmm0
mov dword [esp + 0x40], ebx
mov ecx, dword [esp + 4]
cmp ecx, esi
jne 0x468204
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x38]
mov dword [esp + 4], eax
mov edx, esi
push 1
push 0x56ff74
mov edi, dword [esp + 0x14]
push edi
call fcn.004532b0
add esp, 0xc
test edi, edi
je 0x468300
lea ebx, [esi + 4]
jmp 0x4682e6
add ebx, 0xc
dec edi
je 0x468300
cmp dword [ebx - 4], 0
je 0x4682e0
push dword [ebx]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4682e0
cmp dword [esp + 4], 0
je 0x468315
push esi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x28], 0
je 0x46832d
push dword [esp + 0x2c]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x1a8]
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x58], 0x5711a0
mov dword [esp + 0x5c], 2
mov dword [esp + 0x68], 0
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x28]
lea edx, [esp + 0x58]
mov dword [esp + 0x1a4], 0x461c20
mov dword [esp + 0x64], 1
mov dword [esp + 0x1a8], esi
mov dword [esp + 0x1ac], eax
call fcn.0042a3a0
cmp dword [esp + 0x38], 0
je 0x4683a9
push esi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0xc0]
mov ebx, dword [esp + 0xbc]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
xor edi, edi
mov dword [esp + 0xc], eax
lea eax, [eax*4]
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
lea eax, [eax + eax*2]
mov dword [esp + 0x10], eax
jmp 0x4683e6
add ebx, 0xc
add edi, 0xc
cmp eax, edi
je 0x468430
cmp dword [ebx + 8], esi
jne 0x4683e0
push esi
push dword [esp + 0xc]
mov eax, dword [esp + 0xc]
push dword [eax + edi + 4]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x4683e0
cmp dword [esp + 0x28], 0
je 0x467e42
push dword [esp + 8]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x467e42
mov edx, dword [esp + 0xc]
cmp edx, dword [esp + 0xb8]
je 0x467e0a
mov esi, dword [esp + 4]
jmp 0x467e24
mov eax, dword [esp + 0xb8]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xbc]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x120]
lea edx, [esi + 1]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x110]
shr edx, 1
test eax, eax
cmove edx, esi
cmp ecx, edx
jb 0x46929e
add eax, ecx
mov ecx, dword [esp + 0x108]
sub eax, edi
mov edx, ecx
sub edx, edi
cmp edx, eax
jae 0x4685a0
add edi, eax
jb 0x46858d
xor edx, edx
cmp edi, 0x8000000
mov eax, edi
setb dl
shl eax, 4
shl edx, 2
test ecx, ecx
je 0x468558
mov ebx, dword [esp + 0x10c]
shl ecx, 4
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], 4
mov dword [esp + 0x60], ecx
jmp 0x468560
mov eax, dword [esp + 0x150]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 8
mov dword [esp + 0xb0], 0
test eax, eax
je 0x468528
cmp dword [esp + 0x154], 0
je 0x468528
push eax
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x160]
test eax, eax
je 0x4677f3
cmp dword [esp + 0x164], 0
je 0x4677f3
push eax
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4677f3
mov dword [esp + 0x5c], 0
lea ecx, [esp + 0x38]
lea ebx, [esp + 0x58]
push ebx
push eax
call fcn.004745d0
add esp, 8
cmp dword [esp + 0x38], 0
mov ecx, dword [esp + 0x3c]
je 0x468592
cmp ecx, 0x80000001
je 0x4685a0
test ecx, ecx
jne 0x46947b
call fcn.00429f20
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x108], edi
mov ebx, dword [esp + 4]
lea eax, [esi + esi*2]
test esi, esi
lea edi, [ebx + eax*4]
je 0x4685fb
mov eax, dword [esp + 4]
lea ebx, [eax + 0xc]
nop word cs:[eax + eax]
nop
mov eax, dword [ebx - 0xc]
cmp eax, 0x80000000
je 0x4685fb
mov ecx, dword [ebx - 8]
mov edx, dword [ebx - 4]
mov dword [esp + 0x58], eax
lea esi, [ebx - 0xc]
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0xf8]
lea edx, [esp + 0x58]
call fcn.00461e60
add esi, 0xc
add ebx, 0xc
cmp esi, edi
jne 0x4685c0
jmp 0x46863d
mov eax, edi
mov ecx, 0xaaaaaaab
sub eax, ebx
mul ecx
cmp edi, ebx
je 0x46863d
mov esi, edx
add ebx, 4
shr esi, 3
jmp 0x468626
add ebx, 0xc
dec esi
je 0x46863d
cmp dword [ebx - 4], 0
je 0x468620
push dword [ebx]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x468620
cmp dword [esp + 8], 0
je 0x468655
push dword [esp + 4]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0x188]
mov eax, dword [esp + 0x184]
lea edx, [esp + 0x8c]
lea esi, [esp + 0x9b]
lea ebx, [esp + 0xec]
lea edi, [esp + 0xa8]
mov dword [esp + 0xd4], edx
mov dword [esp + 0x60], ebx
shl ecx, 4
mov dword [esp + 0xd8], eax
add ecx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xdc], ecx
lea ecx, [ebp + 0x10]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], esi
lea edx, [esp + 0xf0]
lea esi, [esp + 0xf4]
lea eax, [esp + 0xe8]
mov dword [esp + 0xf4], edi
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], esi
lea edx, [esp + 0xd4]
lea esi, [esp + 0x58]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
nop word cs:[eax + eax]
nop
mov eax, dword [esp + 0xd8]
cmp eax, dword [esp + 0xdc]
je 0x46874a
lea ecx, [eax + 0x10]
mov dword [esp + 0xd8], ecx
mov ecx, esi
mov edx, dword [eax]
push dword [eax + 4]
call fcn.0045d150
add esp, 4
test eax, eax
je 0x468710
mov ebx, eax
cmp dword [ebx + 0x20], 0
jne 0x4687a9
jmp 0x469424
mov dword [esp + 0xd8], 0
mov eax, dword [esp + 0xe0]
test eax, eax
je 0x469158
mov esi, dword [esp + 0xe4]
nop dword [eax + eax]
cmp eax, esi
je 0x469158
lea edi, [eax + 8]
lea ecx, [esp + 0x58]
mov dword [esp + 0xe0], edi
mov edx, dword [eax]
push dword [eax + 4]
call fcn.0045d150
add esp, 4
mov ebx, eax
test eax, eax
mov eax, edi
je 0x468770
lea esi, [esp + 0x58]
cmp dword [ebx + 0x20], 0
je 0x469424
mov edi, dword [ebx + 0x24]
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4687ce
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x469444
mov dword [0x5920d8], eax
push 0x20
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x469444
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [esp + 0x28], 4
mov dword [esp + 0x2c], eax
mov dword [esp + 4], eax
lea ecx, [esp + 0x70]
lea edx, [esp + 0x74]
mov edi, 1
mov dword [esp + 0x30], 1
mov dword [esp + 0x90], 0
movsd xmm1, qword [esp + 0xe4]
mov eax, dword [esp + 0xf4]
movq xmm0, qword [esp + 0xec]
movq xmm2, qword [esp + 0xd4]
movsd qword [esp + 0x68], xmm1
movq xmm1, qword [esp + 0xdc]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x78]
movq qword [esp + 0x70], xmm0
movq qword [esp + 0x58], xmm2
movq qword [esp + 0x60], xmm1
cmp dword [esp + 0x5c], 0
lea ebx, [esp + 0x6c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ebx
je 0x4688b8
nop
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x60]
je 0x4688b0
lea ecx, [eax + 0x10]
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0x38]
mov edx, dword [eax]
push dword [eax + 4]
call fcn.0045d150
add esp, 4
test eax, eax
je 0x468880
mov ebx, eax
jmp 0x4688f8
mov dword [esp + 0x5c], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14], edi
test eax, eax
je 0x46894c
mov esi, dword [esp + 0x68]
nop dword [eax]
cmp eax, esi
je 0x46894c
lea edi, [eax + 8]
lea ecx, [esp + 0x38]
mov dword [esp + 0x64], edi
mov edx, dword [eax]
push dword [eax + 4]
call fcn.0045d150
add esp, 4
mov ebx, eax
test eax, eax
mov eax, edi
mov edi, dword [esp + 0x14]
je 0x4688d0
cmp dword [ebx + 0x20], 0
mov eax, dword [esp + 4]
je 0x469424
mov esi, dword [ebx + 0x24]
cmp edi, dword [esp + 0x28]
je 0x46893b
dec dword [esp + 0x90]
mov dword [eax + edi*8], esi
mov dword [eax + edi*8 + 4], ebx
inc edi
mov dword [esp + 4], eax
lea esi, [esp + 0x58]
lea eax, [esp + 0x78]
lea ecx, [esp + 0x70]
lea edx, [esp + 0x74]
mov dword [esp + 0x30], edi
jmp 0x468860
lea ecx, [esp + 0x28]
mov edx, edi
call fcn.00437900
mov eax, dword [esp + 0x2c]
jmp 0x46890f
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
cmp edi, 0x15
mov dword [esp + 0x24], eax
mov dword [esp + 0xc4], ecx
jae 0x468982
cmp edi, 1
jbe 0x469042
mov ecx, dword [esp + 0x24]
mov edx, edi
push 1
call fcn.00440f70
add esp, 4
jmp 0x46904a
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4689a4
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x469453
mov dword [0x5920d8], eax
lea ecx, [edi*4]
and ecx, 0x7ffffff8
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0x10], eax
je 0x469453
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4689e8
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x469467
mov dword [0x5920d8], eax
push pe_nt_image_headers32
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x469467
mov esi, eax
mov eax, dword [esp + 0x24]
xor ebx, ebx
mov dword [esp + 0x9c], 0x10
lea ecx, [eax - 0x10]
lea edx, [eax - 4]
mov dword [esp + 0x128], ecx
lea ecx, [eax + 4]
add eax, 0xfffffff8
mov dword [esp + 0x12c], edx
mov dword [esp + 0xa4], eax
xor eax, eax
mov dword [esp + 0x130], ecx
jmp 0x468a51
mov ebx, 1
mov eax, dword [esp + 0x50]
cmp eax, edi
jae 0x469023
mov edx, edi
mov ecx, eax
mov dword [esp + 0x18], ebx
sub edx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], ecx
cmp edx, 2
mov dword [esp + 0xc], edx
lea eax, [eax + ecx*8]
jae 0x468ae0
mov ebx, dword [esp + 0xc]
mov edx, edi
mov edi, edx
sub edi, ecx
jb 0x469387
cmp edx, dword [esp + 0x14]
ja 0x469387
jae 0x468b10
cmp ebx, 0xa
jae 0x468b10
mov edx, eax
mov eax, dword [esp + 0x14]
lea edi, [ecx + 0xa]
cmp edi, eax
cmovae edi, eax
mov dword [esp + 0x50], edi
sub edi, ecx
jb 0x4693dc
cmp ebx, 1
mov ecx, edx
mov edx, edi
adc ebx, 0
push ebx
call fcn.00440f70
add esp, 4
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x9c]
cmp dword [esp + 0x18], eax
je 0x468b21
mov ebx, dword [esp + 0x18]
jmp 0x468b95
mov dword [esp + 0x20], esi
mov edx, dword [eax]
mov esi, dword [eax + 8]
cmp esi, edx
jae 0x468e70
cmp dword [esp + 0xc], 2
jne 0x468e88
mov esi, dword [esp + 0x20]
lea edx, [ecx + 2]
mov ebx, 2
jmp 0x468f02
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x9c]
cmp dword [esp + 0x18], eax
jne 0x468ad2
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x468b43
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4693b9
mov dword [0x5920d8], eax
mov ebx, dword [esp + 0x18]
mov ecx, ebx
shl ecx, 4
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4693b9
mov ecx, eax
lea eax, [ebx + ebx]
mov dword [esp + 0x9c], eax
lea eax, [ebx*8]
push eax
push esi
push ecx
mov dword [esp + 0x10], ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
push esi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esi + ebx*8], edi
mov edi, dword [esp + 0x14]
mov dword [esi + ebx*8 + 4], ecx
inc ebx
mov dword [esp + 0x20], esi
cmp ebx, 2
jae 0x468c14
jmp 0x468a45
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
mov eax, ebx
mov edi, dword [esp + 0x18]
sub edx, ecx
lea ebx, [edi - 1]
push edx
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x94]
add eax, esi
mov esi, dword [esp + 0x20]
mov dword [esi + ecx*8 + 8], eax
mov eax, dword [esp + 0xa0]
mov dword [esi + ecx*8 + 0xc], eax
not ecx
lea eax, [edx + 8]
add ecx, edi
shl ecx, 3
push ecx
push eax
push edx
call sub.msvcrt.dll_memmove
add esp, 0xc
mov edi, dword [esp + 0x14]
cmp ebx, 1
jbe 0x468a40
mov eax, dword [esi + ebx*8 - 8]
mov ecx, dword [esi + ebx*8 - 4]
add ecx, eax
cmp ecx, edi
je 0x468c70
mov edx, dword [esi + ebx*8 - 0x10]
cmp edx, eax
jbe 0x468c70
cmp ebx, 2
jbe 0x468ffe
lea ecx, [ebx - 3]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + ebx*8 - 0x18]
lea esi, [edx + eax]
cmp ecx, esi
jbe 0x468e4d
cmp ebx, 3
jbe 0x469008
mov esi, dword [esp + 0x20]
add edx, ecx
mov edi, dword [esp + 0x1c]
cmp dword [esi + ebx*8 - 0x20], edx
jbe 0x468c7c
jmp 0x46901a
cmp ebx, 3
jb 0x468c80
mov ecx, dword [esi + ebx*8 - 0x18]
lea edi, [ebx - 3]
cmp ecx, eax
jb 0x468c83
lea edi, [ebx - 2]
cmp ebx, edi
jbe 0x4692ff
lea eax, [edi + 1]
mov dword [esp + 0x18], ebx
cmp ebx, eax
jbe 0x46930a
mov ecx, dword [esi + edi*8 + 4]
mov eax, dword [esi + edi*8 + 8]
mov ebx, esi
mov esi, dword [esi + edi*8 + 0xc]
add esi, eax
mov edx, esi
sub edx, ecx
mov dword [esp + 8], edx
jb 0x469340
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
cmp esi, eax
ja 0x46934c
lea eax, [ebx + edi*8]
mov dword [esp + 0x1c], edi
mov edi, dword [ebx + edi*8]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x54], esi
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], edi
lea ecx, [eax + ecx*8]
mov eax, dword [esp + 8]
lea ebx, [ecx + edi*8]
mov dword [esp + 4], ecx
sub eax, edi
cmp eax, edi
jae 0x468da0
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
lea eax, [eax*8]
push eax
push ebx
mov esi, dword [esp + 0x18]
push esi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x14]
add esp, 0xc
test edi, edi
lea edx, [esi + eax*8]
jle 0x468bb0
test eax, eax
jle 0x468bb0
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x54]
lea ecx, [eax + ecx*8]
nop word [eax + eax]
mov dword [esp + 8], edx
mov eax, dword [edx - 8]
mov edx, dword [ebx - 8]
mov esi, 0
mov edi, 0
cmp eax, edx
sbb esi, esi
cmp eax, edx
adc edi, 0xffffffff
cmp eax, edx
mov edx, dword [esp + 8]
lea ebx, [ebx + esi*8]
lea edx, [edx + edi*8]
mov eax, edx
cmovb eax, ebx
cmp ebx, dword [esp + 4]
movq xmm0, qword [eax]
movq qword [ecx], xmm0
jbe 0x468bb0
add ecx, 0xfffffff8
cmp edx, dword [esp + 0x10]
ja 0x468d50
jmp 0x468bb0
lea eax, [edi*8]
push eax
push ecx
mov esi, dword [esp + 0x18]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
cmp dword [esp + 0xc], 0
lea edx, [esi + eax*8]
mov esi, dword [esp + 0xc]
jle 0x468e40
cmp dword [esp + 8], esi
jle 0x468e40
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x54]
mov edi, edx
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 8], eax
nop word cs:[eax + eax]
nop dword [eax]
mov esi, dword [ebx]
xor eax, eax
xor edx, edx
cmp esi, dword [ecx]
mov esi, ecx
cmovb esi, ebx
setae al
movq xmm0, qword [esi]
mov esi, dword [esp + 4]
lea ecx, [ecx + eax*8]
setb al
movq qword [esi], xmm0
add esi, 8
cmp ecx, edi
mov dword [esp + 4], esi
jae 0x468e28
mov dl, al
lea ebx, [ebx + edx*8]
cmp ebx, dword [esp + 8]
jb 0x468df0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov edx, edi
jmp 0x468bba
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 4]
jmp 0x468bba
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
cmp ecx, eax
jae 0x468c80
jmp 0x468c83
cmp dword [esp + 0xc], 2
jne 0x468eb5
mov esi, dword [esp + 0x20]
lea edx, [ecx + 2]
mov ebx, 2
jmp 0x468a75
mov edi, eax
mov eax, dword [esp + 0x90]
mov ebx, esi
mov dword [esp + 4], edx
add ecx, eax
mov eax, edi
mov edi, 2
mov edx, ebx
mov ebx, dword [eax + edi*8]
cmp ebx, edx
jae 0x468ee7
lea edx, [ecx + edi + 1]
inc edi
cmp edx, 1
jne 0x468ea0
jmp 0x468ee3
mov edi, eax
mov eax, dword [esp + 0x90]
mov ebx, esi
mov dword [esp + 4], edx
add ecx, eax
mov eax, edi
mov edi, 2
nop dword [eax]
mov edx, ebx
mov ebx, dword [eax + edi*8]
cmp ebx, edx
jb 0x468ee7
lea edx, [ecx + edi + 1]
inc edi
cmp edx, 1
jne 0x468ed0
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 8]
cmp esi, dword [esp + 4]
mov ebx, edi
mov esi, dword [esp + 0x20]
lea edx, [edi + ecx]
mov edi, dword [esp + 0x14]
jae 0x468a75
cmp ecx, edx
ja 0x4693ee
cmp edx, edi
ja 0x4693f8
cmp ebx, 2
jb 0x468a75
mov edi, ebx
xor esi, esi
mov dword [esp + 0xc], ebx
shr edi, 1
cmp ebx, 4
jb 0x468f8e
add ecx, ebx
mov ebx, eax
mov eax, dword [esp + 0x128]
mov esi, edi
mov dword [esp + 4], edi
and esi, 0xfffffffe
lea edi, [eax + ecx*8]
mov eax, ebx
mov ebx, esi
mov ecx, eax
nop word [eax + eax]
movdqu xmm0, xmmword [ecx]
movdqu xmm1, xmmword [edi]
pshufd xmm1, xmm1, 0x4e
pshufd xmm0, xmm0, 0x4e
movdqu xmmword [ecx], xmm1
movdqu xmmword [edi], xmm0
add ecx, 0x10
add edi, 0xfffffff0
add ebx, 0xfffffffe
jne 0x468f50
mov edi, dword [esp + 4]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
cmp edi, esi
jne 0x468f8e
mov esi, dword [esp + 0x20]
jmp 0x468a75
mov dword [esp + 0x1c], eax
sub edi, esi
mov eax, ebx
shl esi, 3
mov dword [esp + 0x50], edx
mov ebx, edi
lea edi, [ecx + eax]
shl edi, 3
sub edi, esi
lea esi, [esi + ecx*8]
add esi, dword [esp + 0x130]
add edi, dword [esp + 0x12c]
nop dword [eax + eax]
mov eax, dword [esi]
mov ecx, dword [esi - 4]
mov edx, dword [edi]
mov dword [esp + 4], eax
mov eax, dword [edi - 4]
mov dword [esi - 4], eax
mov dword [esi], edx
mov dword [edi - 4], ecx
mov ecx, dword [esp + 4]
add esi, 8
mov dword [edi], ecx
add edi, 0xfffffff8
dec ebx
jne 0x468fc0
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
jmp 0x468a75
mov ebx, 2
jmp 0x468a45
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
mov ebx, 3
jmp 0x468a45
mov edi, dword [esp + 0x14]
jmp 0x468a45
push esi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 0x10]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
test edi, edi
je 0x46913d
mov eax, dword [esp + 0x24]
lea ecx, [eax + edi*8]
mov dword [esp + 0x10], ecx
jmp 0x4690f0
mov ecx, dword [esp + 8]
lea edx, [esp + 0x58]
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 1
mov dword [esp + 0x74], 0
mov dword [esp + 0x68], 0x20
mov byte [esp + 0x78], 3
mov dword [esp + 0x58], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0x57159c
call fcn.00453c90
test al, al
jne 0x46939b
movq xmm0, qword [esp + 0x38]
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0xf8]
lea edx, [esp + 0x28]
movq qword [esp + 0x28], xmm0
mov dword [esp + 0x30], eax
call fcn.00461e60
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x10]
je 0x46913d
mov esi, dword [eax + 4]
add eax, 8
mov edx, dword [esp + 0xac]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov ecx, dword [esi + 0x38]
mov dword [esp + 8], esi
mov esi, dword [esi + 0x3c]
shl eax, 3
nop word cs:[eax + eax]
nop
test eax, eax
je 0x469060
mov edi, dword [edx]
mov ebx, dword [edx + 4]
add eax, 0xfffffff8
add edx, 8
xor edi, ecx
xor ebx, esi
or ebx, edi
jne 0x469120
jmp 0x4690e6
cmp dword [esp + 0xc4], 0
je 0x469158
push dword [esp + 0x24]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x138]
movsd xmm1, qword [esp + 0x118]
movsd xmm2, qword [esp + 0x110]
movsd xmm0, qword [esp + 0x120]
cmp dword [esp + 0xa8], 0
movsd qword [eax + 0x20], xmm1
movsd xmm1, qword [esp + 0x108]
movsd qword [eax + 0x18], xmm2
movsd xmm2, qword [esp + 0xf8]
movsd qword [eax + 0x28], xmm0
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esp + 0x100]
movsd qword [eax], xmm2
movsd qword [eax + 8], xmm1
je 0x4691d0
push dword [esp + 0xac]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x134], 0
jne 0x46923b
mov esi, dword [esp + 0xd0]
test esi, esi
je 0x46921d
mov edi, dword [esp + 0xcc]
add edi, 0xc
jmp 0x469206
add edi, 0x18
dec esi
je 0x46921d
cmp dword [edi - 4], 0
je 0x469200
push dword [edi]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x469200
cmp dword [esp + 0xc8], 0
je 0x46923b
push dword [esp + 0xcc]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x190]
test eax, eax
je 0x46926a
mov ecx, dword [esp + 0x18c]
lea eax, [eax*4 + 0x13]
and eax, 0xfffffff0
neg eax
push dword [ecx + eax - 4]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x180], 0
je 0x469288
push dword [esp + 0x184]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 4]
push 0x581154
call fcn.004699c0
lea ecx, [esp + 0x114]
push edi
push dword [esp + 0x110]
call fcn.00461760
add esp, 8
mov edi, dword [esp + 0x110]
mov ecx, dword [esp + 0x11c]
mov eax, dword [esp + 0x120]
jmp 0x46848e
mov edx, dword [esp + 0x20]
push 0x581154
call fcn.004699c0
mov edx, dword [esp + 0x54]
push 0x581154
call fcn.004699c0
mov ecx, 0x571625
mov edx, 0x63
push 0x571744
call fcn.0046f130
lea ecx, [esp + 0x58]
mov edx, 0x580f84
jmp 0x469313
lea ecx, [esp + 0x58]
mov edx, 0x580f94
mov dword [esp + 0x58], str.Index_out_of_bounds
mov dword [esp + 0x5c], 1
mov dword [esp + 0x68], 0
mov dword [esp + 0x60], str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
mov dword [esp + 0x64], 0
call fcn.00469660
mov edx, esi
push 0x580fa4
call fcn.0046e9f0
mov ecx, esi
mov edx, eax
push 0x580fa4
call fcn.0046a750
mov ecx, 4
mov edx, 4
call fcn.00429f60
lea eax, [esp + 0x28]
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_alloc_src_string.rs
mov edx, 0x37
push 0x581d00
push 0x5715b4
push eax
call fcn.0046f0c0
mov ecx, str.assertion_failed:_end___start__end___len_
mov edx, 0x2c
push 0x581010
call fcn.0046b100
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_alloc_src_string.rs
mov edx, 0x37
push 0x581d00
push 0x5715b4
lea eax, [esp + 0x30]
push eax
call fcn.0046f0c0
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x580fd4
call fcn.0046b100
mov ecx, 4
mov edx, 0x30
call fcn.00429f60
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x50]
push 0x581020
call fcn.0046e9f0
push 0x580f74
call fcn.0046e9f0
mov ecx, edx
mov edx, edi
push 0x580f74
call fcn.0046a750
lea eax, [esp + 0x28]
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destructionlibrary_std_src_threadlocal.rs
mov edx, 0x46
push 0x571568
push 0x571508
push eax
call fcn.0046f0c0
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x571754
call fcn.0046b100
mov ecx, 8
mov edx, esi
call fcn.00429f60
mov ecx, 4
mov edx, 0x20
call fcn.00429f60
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x580fb4
call fcn.0046b100
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x580fc4
call fcn.0046b100
mov edx, dword [esp + 0x40]
call fcn.00429f60
nop word cs:[eax + eax]
nop