Function at 0x467100
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.004b30f0
test eax, eax
je 0x469496
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], 0x585480
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
call fcn.004b30f0
test eax, eax
je 0x469496
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], 0x585480
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 0x467250
lea edi, [eax + 4]
lea ebx, [eax + 8]
mov dword [esp + 0x13c], eax
mov eax, dword [ebx]
test eax, eax
jne 0x46729b
jmp 0x4675fa
mov edx, dword [esi]
lea ecx, [esp + 0x58]
lea edi, [esp + 0xcc]
lea ebx, [esp + 0xd0]
call fcn.00435bb0
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 0x4675fa
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 0x4672e0
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x170]
mov edx, dword [eax]
push dword [eax + 4]
call fcn.004624f0
add esp, 4
mov eax, dword [esp + 0xa0]
cmp eax, dword [esp + 0x94]
mov dword [esp + 0xc], eax
je 0x4675fa
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 [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x467323
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4693ea
mov dword [0x5970d8], eax
push 4
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4693ea
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 0x4673b0
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x1c]
test eax, eax
je 0x467560
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 0x4673f0
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 0x4673d0
jmp 0x4673a4
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x28]
jne 0x467410
lea ecx, [esp + 0x28]
call fcn.004b4b10
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
jmp 0x467414
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 0x4673a0
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 0x467440
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 0x4673a0
mov eax, dword [ebx]
mov esi, ebx
test eax, eax
je 0x4674b5
mov ecx, dword [ebp + 0x10]
lea ebx, [esi + 0x10]
test ecx, ecx
je 0x467480
mov edi, dword [esp + 0xc]
mov edx, dword [edi]
push dword [esi + 4]
push eax
push dword [edi + 4]
call fcn.0045f590
add esp, 0xc
test al, al
je 0x467480
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 0x467528
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 0x4674d0
cmp dword [esi + 0xb0], 0
je 0x467528
mov edx, dword [esp + 0x40]
cmp edx, dword [esp + 0x38]
jne 0x467515
lea ecx, [esp + 0x38]
call fcn.004b4b10
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 0x46753f
lea ecx, [esp + 0x58]
call fcn.004375b0
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 0x467480
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 0x46758c
push dword [esp + 0x3c]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x28], 0
je 0x4675a4
push dword [esp + 0x2c]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
test ebx, ebx
lea esi, [esp + 0x170]
je 0x4675d9
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.004624f0
add esp, 4
add ebx, 0xfffffff8
mov eax, edi
jne 0x4675c0
cmp dword [esp + 8], 0
je 0x4672b0
push dword [esp + 4]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4672b0
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.0042f0a0
cmp dword [esp + 0x1c0], 0
je 0x468574
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 0x46861d
lea esi, [edi*8 + 8]
test esi, esi
js 0x46861d
mov eax, dword [esp + 0x1c8]
mov ebx, dword [esp + 0x1cc]
mov dword [esp + 4], eax
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x467709
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4694c8
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4694c8
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 0x4677b0
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.0042f0a0
cmp dword [esp + 0x1b0], 1
jne 0x46782f
mov edi, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x1b8]
cmp esi, dword [esp + 0x38]
mov eax, dword [esp + 4]
jne 0x4677a0
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.00437a00
add esp, 4
mov eax, dword [esp + 0x3c]
jmp 0x4677a0
mov eax, dword [esp + 0x68]
test eax, eax
je 0x46784c
cmp dword [esp + 0x6c], 0
je 0x46784c
push eax
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x78]
test eax, eax
je 0x467869
cmp dword [esp + 0x7c], 0
je 0x467869
push eax
push 0
push dword [0x5970d8]
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 0x467b20
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 0x467908
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp ebx, dword [esp + 0xa0]
je 0x467b20
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 0x467980
mov edx, dword [esp + 0x1c]
lea ecx, [esi + 0x38]
shl edx, 6
lea edx, [edx + edx*4]
jmp 0x46795e
add ecx, 0x140
add edx, 0xfffffec0
je 0x467980
cmp dword [ecx + 0x18], 0
jne 0x467950
cmp dword [ecx + 0x44], 0x110000
jne 0x467950
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
xor eax, dword [esp + 4]
xor ebx, edi
or eax, ebx
jne 0x467950
jmp 0x467900
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 0x4679c0
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 0x4679a0
jmp 0x467900
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x50]
nop dword [eax + eax]
test eax, eax
je 0x4679ee
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 0x4679d0
jmp 0x467900
mov eax, dword [esp + 0x90]
test eax, eax
je 0x467b10
cmp dword [eax + 0x28], 0
je 0x467b10
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.00462b90
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 0x467ab4
nop word cs:[eax + eax]
pcmpeqb xmm1, xmm3
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x467b10
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 0x467a80
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 0x46935f
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 0x467a71
jmp 0x467900
mov ebx, dword [esp + 0x18]
jmp 0x467d92
test ecx, ecx
je 0x467e77
cmp ecx, dword [esp + 0xa4]
je 0x467e77
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 0x467ba1
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0xa4]
je 0x467e77
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 0x467c00
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x50]
jmp 0x467bdd
add ecx, 0x140
add eax, 0xfffffec0
je 0x467c00
cmp dword [ecx + 0x18], 0
jne 0x467bd0
cmp dword [ecx + 0x44], 0x110000
jne 0x467bd0
mov edx, dword [ecx]
mov edi, dword [ecx + 4]
xor edx, dword [esp + 8]
xor edi, dword [esp + 4]
or edi, edx
jne 0x467bd0
jmp 0x467b90
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 0x467c40
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 0x467c20
jmp 0x467b90
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x90]
nop
test eax, eax
je 0x467c70
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 0x467c50
jmp 0x467b90
mov ebx, dword [esp + 0xc4]
mov edi, dword [esp + 8]
test ebx, ebx
je 0x467d90
cmp dword [ebx + 0x28], 0
je 0x467d90
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.00462b90
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 0x467d34
mov edi, dword [esp + 8]
nop word [eax + eax]
pcmpeqb xmm1, xmm3
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x467d90
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 0x467d00
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 0x46936d
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 0x467cf1
jmp 0x467b90
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 0x46937b
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 0x467db0
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], 0x576624
call fcn.00453ca0
test al, al
jne 0x4693f9
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.00461e70
mov ecx, dword [esp + 0x14]
test ebx, ebx
jne 0x4678c0
jmp 0x467b20
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 4
mov dword [esp + 0xc0], 0
jmp 0x467ed2
lea ecx, [esp + 0xb8]
call fcn.00437150
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 0x4684da
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 0x467f40
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 0x467f20
jmp 0x467f60
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 4]
cmp eax, dword [esp + 0xa0]
jne 0x467ef1
jmp 0x4684da
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x4680d0
mov edx, dword [esp + 8]
lea ecx, [esp + 0x58]
push dword [esp + 0x20]
call fcn.00435900
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 0x467fa8
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x4c]
je 0x4680d6
cmp dword [esi + 0x28], 0
mov eax, ecx
lea ecx, [ecx + 8]
je 0x467fa8
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.00462b90
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 0x46806e
nop word cs:[eax + eax]
nop
pcmpeqb xmm1, xmm3
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x467fa0
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 0x468040
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 0x469320
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 0x46802f
cmp dword [esp + 0x58], 0
je 0x467ed2
push dword [esp + 0x24]
jmp 0x4684ab
mov edi, dword [esp + 8]
jmp 0x4680f7
cmp dword [esp + 0x58], 0
je 0x4680ee
push dword [esp + 0x24]
push 0
push dword [0x5970d8]
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.00435900
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 0x4681b7
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 0x468180
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 0x468150
jmp 0x4681a0
mov ecx, dword [esp + 4]
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x10]
cmp ecx, eax
jne 0x468125
jmp 0x4681b7
lea ecx, [esp + 0x58]
call fcn.00431b60
cmp dword [esp + 0x58], 0x80000000
mov edi, dword [esp + 8]
jne 0x4681e0
lea ecx, [esp + 0x38]
mov edx, 4
push 1
push 0x574ff8
push 0
call fcn.004532c0
add esp, 0xc
jmp 0x4683a5
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
je 0x4681f6
mov esi, dword [esp + 0x10]
jmp 0x46820c
call sub.KERNEL32.dll_GetProcessHeap
mov esi, dword [esp + 0x10]
test eax, eax
je 0x46945d
mov dword [0x5970d8], eax
push 0x30
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x46945d
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 0x468294
jmp 0x46833c
lea ecx, [esp + 0x38]
mov edx, ebx
push 1
call fcn.004b7790
add esp, 4
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
jmp 0x46830d
mov ecx, dword [esp + 4]
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x10]
cmp ecx, esi
je 0x46833c
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 0x468280
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 0x4682c0
lea ecx, [esp + 0x58]
call fcn.00431b60
cmp dword [esp + 0x58], 0x80000000
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x10]
je 0x46833c
mov ebx, dword [esp + 0xc]
cmp ebx, dword [esp + 0x38]
je 0x46825c
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 0x468294
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 0x574ff8
mov edi, dword [esp + 0x14]
push edi
call fcn.004532c0
add esp, 0xc
test edi, edi
je 0x468390
lea ebx, [esi + 4]
jmp 0x468376
add ebx, 0xc
dec edi
je 0x468390
cmp dword [ebx - 4], 0
je 0x468370
push dword [ebx]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x468370
cmp dword [esp + 4], 0
je 0x4683a5
push esi
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x28], 0
je 0x4683bd
push dword [esp + 0x2c]
push 0
push dword [0x5970d8]
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], 0x576224
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], 0x461c30
mov dword [esp + 0x64], 1
mov dword [esp + 0x1a8], esi
mov dword [esp + 0x1ac], eax
call fcn.0042a380
cmp dword [esp + 0x38], 0
je 0x468439
push esi
push 0
push dword [0x5970d8]
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 0x468476
add ebx, 0xc
add edi, 0xc
cmp eax, edi
je 0x4684c0
cmp dword [ebx + 8], esi
jne 0x468470
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 0x468470
cmp dword [esp + 0x28], 0
je 0x467ed2
push dword [esp + 8]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x467ed2
mov edx, dword [esp + 0xc]
cmp edx, dword [esp + 0xb8]
je 0x467e9a
mov esi, dword [esp + 4]
jmp 0x467eb4
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 0x46932e
add eax, ecx
mov ecx, dword [esp + 0x108]
sub eax, edi
mov edx, ecx
sub edx, edi
cmp edx, eax
jae 0x468630
add edi, eax
jb 0x46861d
xor edx, edx
cmp edi, 0x8000000
mov eax, edi
setb dl
shl eax, 4
shl edx, 2
test ecx, ecx
je 0x4685e8
mov ebx, dword [esp + 0x10c]
shl ecx, 4
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], 4
mov dword [esp + 0x60], ecx
jmp 0x4685f0
mov eax, dword [esp + 0x150]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 8
mov dword [esp + 0xb0], 0
test eax, eax
je 0x4685b8
cmp dword [esp + 0x154], 0
je 0x4685b8
push eax
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x160]
test eax, eax
je 0x467883
cmp dword [esp + 0x164], 0
je 0x467883
push eax
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x467883
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 0x468622
cmp ecx, 0x80000001
je 0x468630
test ecx, ecx
jne 0x46950b
call fcn.00429f00
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 0x46868b
mov eax, dword [esp + 4]
lea ebx, [eax + 0xc]
nop word cs:[eax + eax]
nop
mov eax, dword [ebx - 0xc]
cmp eax, 0x80000000
je 0x46868b
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.00461e70
add esi, 0xc
add ebx, 0xc
cmp esi, edi
jne 0x468650
jmp 0x4686cd
mov eax, edi
mov ecx, 0xaaaaaaab
sub eax, ebx
mul ecx
cmp edi, ebx
je 0x4686cd
mov esi, edx
add ebx, 4
shr esi, 3
jmp 0x4686b6
add ebx, 0xc
dec esi
je 0x4686cd
cmp dword [ebx - 4], 0
je 0x4686b0
push dword [ebx]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4686b0
cmp dword [esp + 8], 0
je 0x4686e5
push dword [esp + 4]
push 0
push dword [0x5970d8]
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 0x4687da
lea ecx, [eax + 0x10]
mov dword [esp + 0xd8], ecx
mov ecx, esi
mov edx, dword [eax]
push dword [eax + 4]
call fcn.0045d160
add esp, 4
test eax, eax
je 0x4687a0
mov ebx, eax
cmp dword [ebx + 0x20], 0
jne 0x468839
jmp 0x4694b4
mov dword [esp + 0xd8], 0
mov eax, dword [esp + 0xe0]
test eax, eax
je 0x4691e8
mov esi, dword [esp + 0xe4]
nop dword [eax + eax]
cmp eax, esi
je 0x4691e8
lea edi, [eax + 8]
lea ecx, [esp + 0x58]
mov dword [esp + 0xe0], edi
mov edx, dword [eax]
push dword [eax + 4]
call fcn.0045d160
add esp, 4
mov ebx, eax
test eax, eax
mov eax, edi
je 0x468800
lea esi, [esp + 0x58]
cmp dword [ebx + 0x20], 0
je 0x4694b4
mov edi, dword [ebx + 0x24]
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x46885e
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4694d4
mov dword [0x5970d8], eax
push 0x20
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4694d4
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 0x468948
nop
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x60]
je 0x468940
lea ecx, [eax + 0x10]
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0x38]
mov edx, dword [eax]
push dword [eax + 4]
call fcn.0045d160
add esp, 4
test eax, eax
je 0x468910
mov ebx, eax
jmp 0x468988
mov dword [esp + 0x5c], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14], edi
test eax, eax
je 0x4689dc
mov esi, dword [esp + 0x68]
nop dword [eax]
cmp eax, esi
je 0x4689dc
lea edi, [eax + 8]
lea ecx, [esp + 0x38]
mov dword [esp + 0x64], edi
mov edx, dword [eax]
push dword [eax + 4]
call fcn.0045d160
add esp, 4
mov ebx, eax
test eax, eax
mov eax, edi
mov edi, dword [esp + 0x14]
je 0x468960
cmp dword [ebx + 0x20], 0
mov eax, dword [esp + 4]
je 0x4694b4
mov esi, dword [ebx + 0x24]
cmp edi, dword [esp + 0x28]
je 0x4689cb
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 0x4688f0
lea ecx, [esp + 0x28]
mov edx, edi
call fcn.00437960
mov eax, dword [esp + 0x2c]
jmp 0x46899f
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
cmp edi, 0x15
mov dword [esp + 0x24], eax
mov dword [esp + 0xc4], ecx
jae 0x468a12
cmp edi, 1
jbe 0x4690d2
mov ecx, dword [esp + 0x24]
mov edx, edi
push 1
call fcn.00440fd0
add esp, 4
jmp 0x4690da
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x468a34
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4694e3
mov dword [0x5970d8], 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 0x4694e3
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x468a78
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4694f7
mov dword [0x5970d8], eax
push pe_nt_image_headers32
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4694f7
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 0x468ae1
mov ebx, 1
mov eax, dword [esp + 0x50]
cmp eax, edi
jae 0x4690b3
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 0x468b70
mov ebx, dword [esp + 0xc]
mov edx, edi
mov edi, edx
sub edi, ecx
jb 0x469417
cmp edx, dword [esp + 0x14]
ja 0x469417
jae 0x468ba0
cmp ebx, 0xa
jae 0x468ba0
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 0x46946c
cmp ebx, 1
mov ecx, edx
mov edx, edi
adc ebx, 0
push ebx
call fcn.00440fd0
add esp, 4
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x9c]
cmp dword [esp + 0x18], eax
je 0x468bb1
mov ebx, dword [esp + 0x18]
jmp 0x468c25
mov dword [esp + 0x20], esi
mov edx, dword [eax]
mov esi, dword [eax + 8]
cmp esi, edx
jae 0x468f00
cmp dword [esp + 0xc], 2
jne 0x468f18
mov esi, dword [esp + 0x20]
lea edx, [ecx + 2]
mov ebx, 2
jmp 0x468f92
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x9c]
cmp dword [esp + 0x18], eax
jne 0x468b62
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x468bd3
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x469449
mov dword [0x5970d8], 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 0x469449
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 [0x5970d8]
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 0x468ca4
jmp 0x468ad5
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 0x468ad0
mov eax, dword [esi + ebx*8 - 8]
mov ecx, dword [esi + ebx*8 - 4]
add ecx, eax
cmp ecx, edi
je 0x468d00
mov edx, dword [esi + ebx*8 - 0x10]
cmp edx, eax
jbe 0x468d00
cmp ebx, 2
jbe 0x46908e
lea ecx, [ebx - 3]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + ebx*8 - 0x18]
lea esi, [edx + eax]
cmp ecx, esi
jbe 0x468edd
cmp ebx, 3
jbe 0x469098
mov esi, dword [esp + 0x20]
add edx, ecx
mov edi, dword [esp + 0x1c]
cmp dword [esi + ebx*8 - 0x20], edx
jbe 0x468d0c
jmp 0x4690aa
cmp ebx, 3
jb 0x468d10
mov ecx, dword [esi + ebx*8 - 0x18]
lea edi, [ebx - 3]
cmp ecx, eax
jb 0x468d13
lea edi, [ebx - 2]
cmp ebx, edi
jbe 0x46938f
lea eax, [edi + 1]
mov dword [esp + 0x18], ebx
cmp ebx, eax
jbe 0x46939a
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 0x4693d0
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
cmp esi, eax
ja 0x4693dc
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 0x468e30
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 0x468c40
test eax, eax
jle 0x468c40
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 0x468c40
add ecx, 0xfffffff8
cmp edx, dword [esp + 0x10]
ja 0x468de0
jmp 0x468c40
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 0x468ed0
cmp dword [esp + 8], esi
jle 0x468ed0
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 0x468eb8
mov dl, al
lea ebx, [ebx + edx*8]
cmp ebx, dword [esp + 8]
jb 0x468e80
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov edx, edi
jmp 0x468c4a
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 4]
jmp 0x468c4a
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
cmp ecx, eax
jae 0x468d10
jmp 0x468d13
cmp dword [esp + 0xc], 2
jne 0x468f45
mov esi, dword [esp + 0x20]
lea edx, [ecx + 2]
mov ebx, 2
jmp 0x468b05
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 0x468f77
lea edx, [ecx + edi + 1]
inc edi
cmp edx, 1
jne 0x468f30
jmp 0x468f73
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 0x468f77
lea edx, [ecx + edi + 1]
inc edi
cmp edx, 1
jne 0x468f60
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 0x468b05
cmp ecx, edx
ja 0x46947e
cmp edx, edi
ja 0x469488
cmp ebx, 2
jb 0x468b05
mov edi, ebx
xor esi, esi
mov dword [esp + 0xc], ebx
shr edi, 1
cmp ebx, 4
jb 0x46901e
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 0x468fe0
mov edi, dword [esp + 4]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
cmp edi, esi
jne 0x46901e
mov esi, dword [esp + 0x20]
jmp 0x468b05
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 0x469050
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 0x468b05
mov ebx, 2
jmp 0x468ad5
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
mov ebx, 3
jmp 0x468ad5
mov edi, dword [esp + 0x14]
jmp 0x468ad5
push esi
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 0x10]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
test edi, edi
je 0x4691cd
mov eax, dword [esp + 0x24]
lea ecx, [eax + edi*8]
mov dword [esp + 0x10], ecx
jmp 0x469180
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], 0x576624
call fcn.00453ca0
test al, al
jne 0x46942b
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.00461e70
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x10]
je 0x4691cd
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 0x4690f0
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 0x4691b0
jmp 0x469176
cmp dword [esp + 0xc4], 0
je 0x4691e8
push dword [esp + 0x24]
push 0
push dword [0x5970d8]
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 0x469260
push dword [esp + 0xac]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x134], 0
jne 0x4692cb
mov esi, dword [esp + 0xd0]
test esi, esi
je 0x4692ad
mov edi, dword [esp + 0xcc]
add edi, 0xc
jmp 0x469296
add edi, 0x18
dec esi
je 0x4692ad
cmp dword [edi - 4], 0
je 0x469290
push dword [edi]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x469290
cmp dword [esp + 0xc8], 0
je 0x4692cb
push dword [esp + 0xcc]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x190]
test eax, eax
je 0x4692fa
mov ecx, dword [esp + 0x18c]
lea eax, [eax*4 + 0x13]
and eax, 0xfffffff0
neg eax
push dword [ecx + eax - 4]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x180], 0
je 0x469318
push dword [esp + 0x184]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 4]
push 0x585d84
call fcn.00469a50
lea ecx, [esp + 0x114]
push edi
push dword [esp + 0x110]
call fcn.00461770
add esp, 8
mov edi, dword [esp + 0x110]
mov ecx, dword [esp + 0x11c]
mov eax, dword [esp + 0x120]
jmp 0x46851e
mov edx, dword [esp + 0x20]
push 0x585d84
call fcn.00469a50
mov edx, dword [esp + 0x54]
push 0x585d84
call fcn.00469a50
mov ecx, 0x5766ad
mov edx, 0x63
push 0x5767cc
call fcn.0046f1c0
lea ecx, [esp + 0x58]
mov edx, 0x585938
jmp 0x4693a3
lea ecx, [esp + 0x58]
mov edx, 0x585948
mov dword [esp + 0x58], str.Index_out_of_bounds
mov dword [esp + 0x5c], 1
mov dword [esp + 0x68], 0
mov dword [esp + 0x60], str.vmesh_src_char_anim.rs
mov dword [esp + 0x64], 0
call fcn.004696f0
mov edx, esi
push 0x585958
call fcn.0046ea80
mov ecx, esi
mov edx, eax
push 0x585958
call fcn.0046a7e0
mov ecx, 4
mov edx, 4
call fcn.00429f40
lea eax, [esp + 0x28]
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_alloc_src_string.rs
mov edx, 0x37
push 0x586194
push 0x57663c
push eax
call fcn.0046f150
mov ecx, str.assertion_failed:_end___start__end___len
mov edx, 0x2c
push 0x5859c4
call fcn.0046b190
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_alloc_src_string.rs
mov edx, 0x37
push 0x586194
push 0x57663c
lea eax, [esp + 0x30]
push eax
call fcn.0046f150
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x585988
call fcn.0046b190
mov ecx, 4
mov edx, 0x30
call fcn.00429f40
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x50]
push 0x5859d4
call fcn.0046ea80
push 0x585928
call fcn.0046ea80
mov ecx, edx
mov edx, edi
push 0x585928
call fcn.0046a7e0
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 0x5765ec
push 0x57658c
push eax
call fcn.0046f150
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x5767dc
call fcn.0046b190
mov ecx, 8
mov edx, esi
call fcn.00429f40
mov ecx, 4
mov edx, 0x20
call fcn.00429f40
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x585968
call fcn.0046b190
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x585978
call fcn.0046b190
mov edx, dword [esp + 0x40]
call fcn.00429f40
nop word cs:[eax + eax]
nop