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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x5f0
movzx eax, byte [0x94bfc4]
mov esi, dword [ebp + 0x1c]
mov edi, ecx
cmp al, 2
jne 0x55ef11
mov ebx, dword [edi + 0x20]
mov eax, ebx
mov ecx, ebx
and eax, 7
shr ecx, 3
cmp eax, 1
mov al, 1
sbb ecx, 0xffffffff
cmp ecx, esi
jne 0x55fd09
mov eax, dword [ebp + 8]
mov dword [esp + 0x78], esi
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x44], edi
push edx
mov dword [esp + 0x18], edx
call dword [eax + 0x10]
add esp, 4
xorps xmm0, xmm0
lea edi, [esp + 0x80]
mov edx, esi
movaps xmmword [esp + 0xf0], xmm0
movaps xmmword [esp + 0xe0], xmm0
movaps xmmword [esp + 0xd0], xmm0
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0xb0], xmm0
movaps xmmword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0x80], xmm0
mov ecx, edi
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x100], xmm0
movsd qword [esp + 0x108], xmm1
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x110], xmm0
movsd xmm0, qword [eax + 0x18]
movsd qword [esp + 0x118], xmm0
movsd xmm0, qword [eax + 0x20]
movsd qword [esp + 0x120], xmm0
movsd xmm0, qword [eax + 0x28]
movsd qword [esp + 0x128], xmm0
movsd xmm0, qword [eax + 0x30]
movsd qword [esp + 0x130], xmm0
movsd xmm0, qword [eax + 0x38]
movsd qword [esp + 0x138], xmm0
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x148], eax
mov dword [esp + 0x150], 0
push dword [ebp + 0x14]
call fcn.00557170
add esp, 4
lea eax, [esp + 0x1a8]
push 0xd8
push edi
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x270]
lea esi, [esp + 0x228]
lea edi, [esp + 0x158]
mov ecx, 0x14
mov eax, dword [eax + 0x50]
rep movsd dword es:[edi], dword [esi]
cmp eax, 0x81
jae 0x55fec9
mov edi, dword [ebp + 0xc]
lea esi, [esp + 0x5a8]
lea edx, [esp + 0x158]
mov ecx, esi
push dword [esp + 0x278]
push eax
lea eax, [esp + 0x1b0]
push eax
call fcn.00557400
add esp, 0xc
push 0x89f568
push edi
push ebx
mov edi, dword [ebp + 0x1c]
push edi
push dword [ebp + 0x18]
push esi
push dword [esp + 0x2c]
mov eax, dword [ebp + 8]
call dword [eax + 0x14]
add esp, 0x1c
test al, al
jne 0x55fd07
mov esi, dword [esp + 0x44]
mov edx, edi
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], edi
mov dword [esp + 0x160], ecx
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x164], ecx
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x168], ebx
push edi
push eax
call fcn.0055e1c0
add esp, 8
test eax, eax
je 0x55fd07
mov ebx, dword [esi + 0x44]
mov edi, dword [esi + 0x38]
mov ecx, dword [esi + 0x3c]
mov dword [esp + 0x28], edx
mov edx, dword [esi + 0x40]
mov dword [esp + 0x50], eax
mov dword [esp + 0x60], ebx
mov ebx, dword [esi + 0x48]
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edi
mov edi, dword [esi + 0x6c]
mov dword [esp + 0x68], edx
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x48], edi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], ebx
lea ebx, [esp + 0x88]
mov ecx, eax
push edi
lea eax, [esp + 0x84]
push eax
call fcn.0055e370
add esp, 8
mov dword [esp + 0x14], edx
push edx
push ebx
push dword [esp + 0x88]
push dword [esi + 0x4c]
push eax
mov dword [esp + 0x4c], eax
push eax
call fcn.00762040
add esp, 0x18
mov edi, dword [esp + 0x84]
mov eax, dword [esi + 0x54]
mov edx, dword [esi + 0x58]
mov ebx, dword [esp + 0x80]
mov ecx, edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], edx
shl ecx, 5
mov dword [esp + 0x3c], ecx
je 0x55ef1f
cmp ecx, 0x1fffffff
ja 0x55fec4
mov esi, edi
shl esi, 7
js 0x55fec4
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x18], eax
je 0x55fa70
mov esi, dword [esp + 0x3c]
sub esi, edi
jb 0x55ef33
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x80]
push edi
call fcn.0055e020
add esp, 4
cmp esi, edi
jb 0x55feda
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], ebx
cmp edi, esi
jne 0x55fee8
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x18]
lea edx, [esi*4]
mov dword [esp + 0x4c], edx
lea ecx, [eax + 8]
add eax, 0x5c
mov dword [esp + 0x74], eax
lea eax, [ebx + esi*4]
mov dword [esp + 0x70], ecx
push edx
push dword [esp + 0x3c]
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, esi
lea edi, [esi + esi]
neg eax
mov dword [esp + 8], eax
lea eax, [ebx + esi*8]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov eax, 2
mov ecx, esi
sub ecx, edi
nop word [eax + eax]
mov dword [esp + 0xc], ecx
mov ecx, eax
mov edx, eax
shr ecx, 1
test al, 1
mov eax, 1
cmove eax, ecx
cmp edi, esi
ja 0x55fe3a
mov ebx, edi
mov edi, dword [esp + 0x14]
lea esi, [edx - 1]
test dl, 1
mov dword [esp + 0x1c], edx
cmove esi, ecx
mov ecx, esi
imul ecx, edi
cmp ecx, ebx
ja 0x55fe92
imul esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
add esi, ebx
cmp esi, edi
jb 0x55fe82
mov esi, eax
imul esi, edi
cmp esi, ebx
ja 0x55fe90
imul eax, dword [esp + 8]
mov dword [esp + 0x30], ebx
add eax, ebx
cmp eax, edi
jb 0x55fe9e
mov ebx, edx
mov eax, edi
sub ebx, edi
jb 0x55feac
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [edx + ecx*4]
inc edi
mov dword [esp + 0xc], ecx
lea ecx, [edx + esi*4]
push eax
lea edx, [esp + 0x8c]
push edx
push dword [esp + 0x28]
push ecx
push dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
push esi
call fcn.00762040
mov eax, edi
add esp, 0x18
add esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov ecx, ebx
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x3c]
add edi, edx
cmp eax, 0x20
jne 0x55ee00
mov ebx, edx
test edx, edx
je 0x55ef43
cmp ebx, 0x1fffffff
ja 0x55fec4
mov edx, dword [esp + 0x4c]
test edx, edx
js 0x55fec4
mov ecx, 8
call fcn.0071ee80
test eax, eax
je 0x55fef6
mov edi, dword [esp + 0x40]
mov dword [esp + 8], eax
test edi, edi
jne 0x55ef58
jmp 0x55f901
mov ebx, edx
call fcn.007cb1f0
mov edx, ebx
jmp 0x55ea83
mov dword [esp + 0x18], 4
mov esi, dword [esp + 0x3c]
sub esi, edi
jae 0x55ed7d
mov edx, dword [esp + 0x3c]
mov ecx, edi
push 0x89c08c
call fcn.007c1c40
mov eax, 4
mov edi, dword [esp + 0x40]
mov dword [esp + 8], eax
test edi, edi
je 0x55f901
mov ecx, edi
mov edx, 0xcccccccd
mov esi, 0x1b
shl ecx, 5
mov eax, ecx
mul edx
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
mov eax, 0x20
sub eax, ecx
test ecx, ecx
cmovne esi, eax
push esi
push 0
mov eax, dword [esp + 0x34]
push dword [eax + edi*4 - 4]
mov edi, eax
call fcn.00772b90
add esp, 0xc
push eax
push ebx
push dword [esp + 0x20]
push dword [esp + 0x44]
call fcn.007729e0
add esp, 0x10
cmp eax, 1
jne 0x55fe1c
mov eax, dword [esp + 0x40]
add esi, 0xfffffffb
mov ecx, esi
lea edx, [edi + eax*4]
xor eax, eax
jmp 0x55efdc
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x14]
add ecx, 0x20
mov eax, dword [esp + 0x1c]
add edx, 0xfffffffc
cmp edx, dword [esp + 0x2c]
je 0x55f1a8
mov dword [esp + 0x30], edx
mov edx, dword [edx - 4]
cmp ecx, 0x1c
mov dword [esp + 0x1c], edx
jb 0x55f0d0
push ecx
push eax
push edx
mov dword [esp + 0x1c], ecx
call fcn.00772b90
add esp, 0xc
mov dword [esp + 0xc], eax
push ebx
lea edi, [esp + 0x8c]
push edi
mov edi, dword [esp + 0x28]
push edi
mov esi, dword [esp + 0x44]
push esi
push esi
push esi
call fcn.00762040
add esp, 0x18
push ebx
lea eax, [esp + 0x8c]
push eax
push edi
push esi
push esi
push esi
call fcn.00762040
add esp, 0x18
push ebx
lea eax, [esp + 0x8c]
push eax
push edi
push esi
push esi
push esi
call fcn.00762040
add esp, 0x18
push ebx
lea eax, [esp + 0x8c]
push eax
push edi
push esi
push esi
push esi
call fcn.00762040
add esp, 0x18
push ebx
lea eax, [esp + 0x8c]
push eax
push edi
push esi
push esi
push esi
call fcn.00762040
add esp, 0x18
push dword [esp + 0xc]
push ebx
push dword [esp + 0x20]
push dword [esp + 0x14]
call fcn.007729e0
add esp, 0x10
cmp eax, 1
jne 0x55fe1c
mov ebx, dword [esp + 0x10]
add ebx, 0xfffffffb
push dword [esp + 0x14]
lea eax, [esp + 0x8c]
push eax
push edi
push dword [esp + 0x14]
push esi
push esi
call fcn.00762040
add esp, 0x18
cmp ebx, 0x1f
mov ecx, ebx
mov ebx, edi
jbe 0x55f0e0
jmp 0x55efc0
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x20]
nop dword [eax + eax]
mov dword [esp + 0x10], ecx
push ecx
push dword [esp + 0x20]
call fcn.00772bb0
add esp, 8
mov dword [esp + 0xc], eax
push dword [esp + 0x14]
mov edi, ebx
lea ebx, [esp + 0x8c]
push ebx
push edi
push esi
push esi
push esi
call fcn.00762040
add esp, 0x18
push dword [esp + 0x14]
push ebx
push edi
push esi
push esi
push esi
call fcn.00762040
add esp, 0x18
push dword [esp + 0x14]
push ebx
push edi
push esi
push esi
push esi
call fcn.00762040
add esp, 0x18
push dword [esp + 0x14]
push ebx
push edi
push esi
push esi
push esi
call fcn.00762040
add esp, 0x18
push dword [esp + 0x14]
push ebx
mov ebx, edi
push edi
push esi
push esi
push esi
call fcn.00762040
add esp, 0x18
push dword [esp + 0xc]
push dword [esp + 0x18]
push dword [esp + 0x20]
push dword [esp + 0x14]
call fcn.007729e0
add esp, 0x10
cmp eax, 1
jne 0x55fe1c
mov edi, dword [esp + 0x10]
add edi, 0xfffffffb
push dword [esp + 0x14]
lea eax, [esp + 0x8c]
push eax
push ebx
push dword [esp + 0x14]
push esi
push esi
call fcn.00762040
add esp, 0x18
cmp edi, 0x20
mov ecx, edi
jb 0x55f0e0
jmp 0x55efc0
test ebx, ebx
je 0x55f233
push dword [esp + 8]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
lea eax, [esp + 0x1ac]
push 0x3fc
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
cmp ebx, 0x101
lea eax, [esp + 0x88]
mov dword [esp + 0x1a8], 1
jae 0x55ff04
push ebx
push eax
push ecx
lea eax, [esp + 0x1b4]
push eax
push esi
push esi
call fcn.00762040
add esp, 0x18
push dword [esp + 0x18]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x28]
test esi, esi
jne 0x55f285
jmp 0x55fcf0
lea eax, [esp + 0x1ac]
push 0x3fc
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov dword [esp + 0x1a8], 1
push 0
lea eax, [esp + 0x8c]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x1b4]
push eax
mov esi, dword [esp + 0x48]
push esi
push esi
call fcn.00762040
add esp, 0x18
mov ecx, dword [esp + 0x28]
test esi, esi
je 0x55fcf0
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov ebx, dword [edx + 0x5c]
mov esi, dword [edx + 0x60]
mov eax, dword [edx + 0x64]
mov dword [esp + 0x24], edi
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], eax
mov eax, dword [edx + 0x68]
mov edx, dword [esp + 0x34]
cmp edi, edx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x7c], edx
mov dword [esp + 0x90], edi
jne 0x55ff15
lea edi, [esi + esi]
lea eax, [esp + 0x1a8]
mov dword [esp + 0x64], ecx
mov dword [esp + 8], esi
cmp edi, ecx
mov dword [esp + 0x24], edi
jne 0x55ff35
mov esi, ecx
push 0x400
push 0
push eax
call fcn.007bdf30
add esp, 0xc
cmp esi, 0x101
jae 0x55ff53
lea eax, [esi*4]
push eax
push dword [esp + 0x54]
lea eax, [esp + 0x1b0]
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 8]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], ebx
test eax, eax
je 0x55f369
cmp eax, 0x1fffffff
ja 0x55fec4
lea esi, [eax*4]
test esi, esi
js 0x55fec4
mov ecx, 8
mov edx, esi
call fcn.0071ee80
mov ebx, eax
test eax, eax
jne 0x55f36e
jmp 0x55fa70
mov ebx, 4
lea esi, [esp + 0x88]
push esi
mov edi, dword [esp + 0xc]
push edi
push dword [esp + 0x18]
push dword [esp + 0x34]
lea eax, [esp + 0x1b8]
push eax
push edi
push ebx
call fcn.00773ce0
add esp, 0x1c
cmp eax, 1
jne 0x55ff64
push edi
push esi
push dword [esp + 0x88]
mov esi, dword [esp + 0x50]
push dword [esi + 0x70]
push ebx
push ebx
call fcn.00762040
add esp, 0x18
mov eax, dword [esi + 0x78]
mov edi, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 0x7c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x5c], eax
mov eax, edi
shl eax, 5
mov dword [esp + 0x40], eax
je 0x55f8cc
cmp eax, 0x1fffffff
ja 0x55fec4
mov esi, edi
mov dword [esp + 0xc], edi
shl esi, 7
js 0x55fec4
mov ecx, 8
mov edx, esi
call fcn.0071ee80
mov edi, dword [esp + 0xc]
test eax, eax
mov dword [esp + 0x20], eax
je 0x55fa70
mov esi, dword [esp + 0x40]
sub esi, edi
jb 0x55f8e0
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x80]
push edi
call fcn.0055e020
add esp, 4
cmp esi, edi
jb 0x55feda
mov esi, dword [esp + 8]
cmp edi, esi
jne 0x55fee8
mov edi, dword [esp + 0x20]
lea ecx, [esi*4]
mov dword [esp + 0x34], ecx
lea eax, [edi + esi*4]
push ecx
mov dword [esp + 0x30], ebx
push ebx
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, esi
lea ecx, [edi + esi*8]
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 8]
neg eax
mov dword [esp + 0x30], ecx
mov ecx, 2
mov dword [esp + 0x18], eax
mov edx, esi
sub edx, ebx
nop word cs:[eax + eax]
mov dword [esp + 0x3c], edx
mov edx, ecx
shr ecx, 1
mov eax, 1
test dl, 1
cmove eax, ecx
cmp ebx, esi
ja 0x55fe3a
lea esi, [edx - 1]
test dl, 1
mov dword [esp + 0xc], edx
cmove esi, ecx
mov ecx, esi
imul ecx, edi
cmp ecx, ebx
ja 0x55fe92
imul esi, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
add esi, ebx
cmp esi, edi
jb 0x55fe82
mov esi, eax
imul esi, edi
cmp esi, ebx
ja 0x55fe90
imul eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
add eax, ebx
cmp eax, edi
jb 0x55fe9e
mov ebx, edx
sub ebx, edi
jb 0x55feb8
mov edx, dword [esp + 0x20]
inc dword [esp + 0xc]
lea eax, [edx + ecx*4]
lea ecx, [edx + esi*4]
push edi
lea edx, [esp + 0x8c]
push edx
push dword [esp + 0x18]
push ecx
push eax
mov esi, dword [esp + 0x44]
push esi
call fcn.00762040
mov ecx, dword [esp + 0x24]
add esp, 0x18
add esi, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
mov edx, ebx
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x40]
add eax, edi
cmp ecx, 0x20
mov ebx, eax
jne 0x55f4a0
test edi, edi
je 0x55f8f0
mov esi, dword [esp + 0x5c]
cmp edi, 0x20000000
jae 0x55fec4
mov edx, dword [esp + 0x34]
mov ecx, 8
call fcn.0071ee80
test eax, eax
je 0x55f8be
test esi, esi
je 0x55f901
mov ecx, esi
mov dword [esp + 0xc], eax
mov edx, 0xcccccccd
mov ebx, 0x1b
shl ecx, 5
mov eax, ecx
mul edx
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
mov eax, 0x20
sub eax, ecx
test ecx, ecx
cmovne ebx, eax
push ebx
push 0
mov eax, esi
mov esi, dword [esp + 0x74]
push dword [esi + eax*4 - 4]
call fcn.00772b90
add esp, 0xc
push eax
push edi
push dword [esp + 0x28]
push dword [esp + 0x38]
call fcn.007729e0
add esp, 0x10
cmp eax, 1
jne 0x55fe1c
mov eax, dword [esp + 0x5c]
add ebx, 0xfffffffb
mov edi, ebx
lea ecx, [esi + eax*4]
xor eax, eax
jmp 0x55f618
mov ecx, dword [esp + 0x3c]
add edi, 0x20
mov esi, eax
mov eax, edx
add ecx, 0xfffffffc
cmp ecx, dword [esp + 0x6c]
je 0x55f7dc
mov edx, dword [ecx - 4]
cmp edi, 0x1c
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], edx
jb 0x55f700
push edi
push eax
push edx
mov dword [esp + 0x28], edi
call fcn.00772b90
add esp, 0xc
mov dword [esp + 0x18], eax
push dword [esp + 8]
lea edi, [esp + 0x8c]
push edi
mov esi, dword [esp + 0x18]
push esi
mov ebx, dword [esp + 0x38]
push ebx
push ebx
push ebx
call fcn.00762040
add esp, 0x18
push dword [esp + 8]
push edi
push esi
push ebx
push ebx
push ebx
call fcn.00762040
add esp, 0x18
push dword [esp + 8]
push edi
push esi
push ebx
push ebx
push ebx
call fcn.00762040
add esp, 0x18
push dword [esp + 8]
push edi
push esi
push ebx
push ebx
push ebx
call fcn.00762040
add esp, 0x18
push dword [esp + 8]
push edi
push esi
push ebx
push ebx
push ebx
call fcn.00762040
add esp, 0x18
push dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov esi, eax
push eax
push dword [esp + 0x28]
push dword [esp + 0x18]
call fcn.007729e0
add esp, 0x10
cmp eax, 1
jne 0x55fe1c
mov edi, dword [esp + 0x1c]
add edi, 0xfffffffb
push esi
lea eax, [esp + 0x8c]
push eax
push dword [esp + 0x18]
push dword [esp + 0x18]
push ebx
push ebx
call fcn.00762040
mov eax, esi
add esp, 0x18
mov edx, dword [esp + 0x30]
cmp edi, 0x1f
jbe 0x55f710
jmp 0x55f600
mov ebx, dword [esp + 0x2c]
nop word cs:[eax + eax]
nop
mov dword [esp + 0x1c], edi
push edi
push edx
call fcn.00772bb0
add esp, 8
mov dword [esp + 0x18], eax
push dword [esp + 8]
lea edi, [esp + 0x8c]
push edi
mov esi, dword [esp + 0x18]
push esi
push ebx
push ebx
push ebx
call fcn.00762040
add esp, 0x18
push dword [esp + 8]
push edi
push esi
push ebx
push ebx
push ebx
call fcn.00762040
add esp, 0x18
push dword [esp + 8]
push edi
push esi
push ebx
push ebx
push ebx
call fcn.00762040
add esp, 0x18
push dword [esp + 8]
push edi
push esi
push ebx
push ebx
push ebx
call fcn.00762040
add esp, 0x18
push dword [esp + 8]
push edi
push esi
push ebx
push ebx
push ebx
call fcn.00762040
add esp, 0x18
push dword [esp + 0x18]
mov edi, dword [esp + 0xc]
push edi
push dword [esp + 0x28]
push dword [esp + 0x18]
call fcn.007729e0
add esp, 0x10
cmp eax, 1
jne 0x55fe1c
mov esi, dword [esp + 0x1c]
add esi, 0xfffffffb
push edi
lea eax, [esp + 0x8c]
push eax
push dword [esp + 0x18]
push dword [esp + 0x18]
push ebx
push ebx
call fcn.00762040
add esp, 0x18
mov edx, dword [esp + 0x30]
mov eax, edi
cmp esi, 0x20
mov edi, esi
jb 0x55f710
jmp 0x55f600
test esi, esi
je 0x55f90b
push dword [esp + 0xc]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
lea eax, [esp + 0x1ac]
push 0x3fc
push 0
push eax
call fcn.007bdf30
add esp, 0xc
cmp esi, 0x101
mov ecx, esi
mov esi, dword [esp + 0x54]
lea ebx, [esp + 0x88]
mov dword [esp + 0x1a8], 1
jae 0x55ff06
push ecx
push ebx
push dword [esp + 0x18]
lea eax, [esp + 0x1b4]
push eax
mov edi, dword [esp + 0x3c]
push edi
push edi
call fcn.00762040
add esp, 0x18
push dword [esp + 0x20]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test edi, edi
je 0x55fa7c
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], ebx
xor ecx, ecx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x90], eax
movzx eax, byte [0x94bfc5]
mov ebx, dword [esp + 0x34]
mov edx, ebx
call fcn.0071ee80
mov ecx, ebx
test eax, eax
mov ebx, eax
jne 0x55f99b
mov edx, dword [esp + 0x34]
mov ecx, 4
call fcn.007c1490
mov dword [esp + 0x20], 4
mov esi, dword [esp + 0x40]
sub esi, edi
jae 0x55f429
mov edx, dword [esp + 0x40]
mov ecx, edi
push 0x89c08c
call fcn.007c1c40
mov esi, dword [esp + 0x5c]
mov eax, 4
test esi, esi
jne 0x55f595
mov ecx, 0x89db7c
call fcn.007c1fe0
lea eax, [esp + 0x1ac]
push 0x3fc
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov dword [esp + 0x1a8], 1
push 0
lea ebx, [esp + 0x8c]
push ebx
push dword [esp + 0x18]
lea eax, [esp + 0x1b4]
push eax
mov edi, dword [esp + 0x3c]
push edi
push edi
call fcn.00762040
add esp, 0x18
mov esi, dword [esp + 0x54]
test edi, edi
je 0x55fa7c
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x60]
xor ecx, ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x8c], ebx
mov ebx, 4
mov dword [esp + 0x90], edx
push ecx
push edi
push ebx
call fcn.007bd9b0
add esp, 0xc
mov edi, dword [esp + 8]
mov dword [esp + 0x24], esi
cmp esi, edi
mov dword [esp + 0x64], edi
jne 0x55ff82
push esi
push dword [esp + 0x5c]
push ebx
call fcn.00772940
add esp, 0xc
push dword [esp + 0x84]
push dword [esp + 0x84]
mov dword [esp + 0x14], ebx
push ebx
mov ebx, dword [esp + 0x44]
push ebx
push ebx
call fcn.00772af0
add esp, 0x14
mov esi, dword [esp + 0x14]
push esi
push dword [esp + 0x14]
push dword [esp + 0x88]
mov eax, dword [esp + 0x50]
push dword [eax]
push ebx
push ebx
call fcn.00762040
add esp, 0x18
test edi, edi
je 0x55fa1f
push dword [esp + 0xc]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x15c]
cmp dword [esp + 0x168], eax
mov dword [esp + 0x10], ecx
jbe 0x55fa95
test ecx, ecx
je 0x55faa0
cmp ecx, 0x1fffffff
ja 0x55fec4
lea esi, [ecx*4]
test esi, esi
js 0x55fec4
mov edi, ecx
mov ecx, 8
mov edx, esi
call fcn.0071ee80
mov edx, eax
test eax, eax
mov eax, dword [esp + 0x4c]
mov ecx, edi
jne 0x55faa9
mov ecx, 4
mov edx, esi
call fcn.007c1490
cmp dword [esp + 0x14], 0
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
je 0x55fcf0
push eax
jmp 0x55fcde
xor edi, edi
test esi, esi
jne 0x55fac6
jmp 0x55fbae
mov eax, dword [esp + 0x4c]
mov edx, 4
mov esi, dword [esp + 0x14]
cmp esi, ecx
ja 0x55ffa7
push eax
push ebx
mov edi, edx
push edx
call fcn.007bd9b0
add esp, 0xc
test esi, esi
je 0x55fad5
push ebx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test edi, edi
je 0x55fbae
mov ecx, dword [esp + 0x74]
lea edx, [esp + 0x158]
call fcn.0055e110
test eax, eax
je 0x55fb98
mov esi, eax
mov dword [esp + 0x1c], edx
push edx
lea eax, [esp + 0x164]
mov dword [esp + 0x18], edi
mov edi, eax
push eax
push dword [esp + 0x160]
mov eax, dword [esp + 0x50]
push dword [eax + 0x24]
push esi
push esi
call fcn.00762040
add esp, 0x18
push dword [esp + 0x10]
push edi
mov eax, dword [esp + 0x1c]
push dword [esp + 0x160]
push esi
push eax
push eax
call fcn.00762040
add esp, 0x18
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x15c]
cmp dword [esp + 0x168], eax
mov dword [esp + 0xc], ebx
jbe 0x55fbc6
test ebx, ebx
je 0x55fbd8
cmp ebx, 0x1fffffff
ja 0x55fec4
mov edi, dword [esp + 0x2c]
lea edx, [ebx*4]
test edx, edx
js 0x55fec4
mov ecx, 8
mov dword [esp + 0x18], edx
call fcn.0071ee80
test eax, eax
jne 0x55fbe1
mov edx, dword [esp + 0x18]
mov ecx, 4
call fcn.007c1490
cmp dword [esp + 0x10], 0
je 0x55fbae
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 8], 0
mov ecx, dword [esp + 0x28]
je 0x55fcf0
push dword [esp + 0x2c]
jmp 0x55fcde
xor eax, eax
cmp dword [esp + 8], 0
mov edi, dword [esp + 0x2c]
jne 0x55fc0a
jmp 0x55fcb7
mov edi, dword [esp + 0x2c]
mov eax, 4
mov ecx, dword [esp + 0x54]
cmp ecx, ebx
ja 0x55ffb7
push dword [esp + 0x34]
push edi
push eax
mov ebx, eax
call fcn.007bd9b0
mov eax, ebx
add esp, 0xc
cmp dword [esp + 8], 0
mov ebx, dword [esp + 0xc]
je 0x55fc1d
push edi
push 0
push dword [0x94bf18]
mov edi, eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, edi
test eax, eax
je 0x55fcb7
push dword [esp + 0x15c]
push dword [esp + 0x15c]
mov edi, dword [esp + 0x1c]
push edi
push eax
mov dword [esp + 0x18], eax
push eax
call fcn.00772690
add esp, 0x14
cmp dword [esp + 0x10], 0
je 0x55fc5c
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 8]
push ebx
call fcn.00560020
add esp, 4
mov edi, dword [esp + 0x28]
mov dword [esp + 0x24], edx
cmp edx, edi
mov dword [esp + 0x80], edi
jne 0x55ffc5
mov ebx, eax
push edi
push dword [esp + 0x54]
push eax
call fcn.007727f0
add esp, 0xc
cmp eax, 0xffffffff
je 0x55fd11
test edi, edi
je 0x55fcac
push ebx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0xc], 0
mov eax, dword [esp + 8]
jmp 0x55fcc0
cmp dword [esp + 0x10], 0
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
je 0x55fcd5
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x28]
test edi, edi
je 0x55fcf0
push esi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x50]
test ecx, ecx
je 0x55fd07
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test edi, edi
mov eax, edi
je 0x55fd2a
push ebx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x1c], 0
je 0x55fd44
push esi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0xc]
test eax, eax
je 0x55fd5e
push dword [esp + 0x50]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [ebp + 0x1c]
lea eax, [esi*4]
mov dword [esp + 0x80], eax
cmp eax, ecx
mov dword [esp + 0x158], ecx
jne 0x55ffed
mov edi, dword [ebp + 0x18]
test ecx, ecx
je 0x55fdfc
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x1b0]
xor esi, esi
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x1ac]
mov dword [esp + 0x14], edx
test esi, esi
je 0x55fdb8
cmp dword [esp + 0x14], ecx
je 0x55fdb8
movzx ebx, byte [esp + ecx + 0x1b4]
jmp 0x55fdd9
mov edx, dword [esp + 8]
cmp eax, edx
je 0x55fdf1
mov ebx, dword [eax - 4]
add eax, 0xfffffffc
xor ecx, ecx
mov dword [esp + 0x14], 4
bswap ebx
mov dword [esp + 0x1b4], ebx
inc ecx
mov dl, 1
mov esi, 1
test dl, 1
je 0x55fdfc
mov byte [edi], bl
inc edi
dec dword [esp + 0x78]
jne 0x55fda4
jmp 0x55fdfc
mov eax, edx
xor esi, esi
xor edx, edx
test dl, 1
jne 0x55fde6
cmp dword [esp + 0xc], 0
je 0x55fe15
push dword [esp + 8]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
xor eax, eax
jmp 0x55fd09
lea eax, [esp + 0x24]
mov ecx, 0x93b384
mov edx, 0x2b
push 0x89c05c
push 0x89be14
push eax
call fcn.007c1f60
lea ecx, [esp + 0x1a8]
mov edx, 0x89c04c
mov dword [esp + str.mid___len], 0x93a1fc
mov dword [esp + 0x1ac], 1
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1b0], 0x93d1f8
mov dword [esp + 0x1b4], 0
call fcn.007c1b50
mov ecx, edi
mov edx, esi
push 0x89c06c
call fcn.007c1c40
mov ecx, esi
mov edx, ebx
push 0x89c07c
call fcn.007c1b80
mov ecx, edi
mov edx, eax
push 0x89c06c
call fcn.007c1c40
mov ecx, eax
push 0x89c08c
call fcn.007c1c40
mov ecx, edi
push 0x89c08c
call fcn.007c1c40
call fcn.00418cb0
mov ecx, eax
mov edx, 0x80
push 0x89cb58
call fcn.007c1c40
mov ecx, edi
mov edx, esi
push 0x89c08c
call fcn.007c1c40
mov ecx, edi
mov edx, esi
push 0x89c03c
call fcn.007c21f0
mov edx, dword [esp + 0x4c]
mov ecx, 4
call fcn.007c1490
mov ecx, ebx
mov edx, pe_nt_image_headers32
push 0x89bfec
call fcn.007c1c40
lea eax, [esp + 0x1a8]
mov dword [esp + 0x1a8], 0
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x24]
push eax
call fcn.007cb310
mov dword [esp + 0x1a8], 0
lea ecx, [esp + 0x64]
lea edx, [esp + 0x24]
push 0x89c00c
push eax
call fcn.007cb1c0
mov ecx, esi
mov edx, pe_nt_image_headers32
push 0x89c01c
call fcn.007c1c40
lea eax, [esp + 0x24]
mov ecx, 0x93b384
mov edx, 0x2b
push 0x89c110
push 0x89be14
push eax
call fcn.007c1f60
lea ecx, [esp + 0x64]
lea edx, [esp + 0x24]
mov dword [esp + 0x1a8], 0
push 0x89db4c
lea eax, [esp + 0x1ac]
push eax
call fcn.007cb1c0
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x89c02c
call fcn.007c1c40
mov edx, dword [esp + 0xc]
push 0x89c02c
call fcn.007c1c40
lea ecx, [esp + 0x24]
lea edx, [esp + 0x80]
mov dword [esp + 0x1a8], 0
push 0x89db1c
lea eax, [esp + 0x1ac]
push eax
call fcn.007cb1c0
lea ecx, [esp + 0x158]
lea edx, [esp + 0x80]
mov dword [esp + 0x1a8], 0
push 0x89db6c
lea eax, [esp + 0x1ac]
push eax
call fcn.007cb1c0
int3