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

Disassembly:
sub esp, 0x29c
mov eax, dword [0x77ff48]
xor eax, esp
mov dword [esp + 0x294], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2a0]
push ebx
mov dword [esp + 0x38], eax
xor ebx, ebx
mov eax, dword [esp + 0x2ac]
push ebp
mov ebp, dword [esp + 0x2c0]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2bc]
push esi
push edi
mov edi, dword [esp + 0x2d4]
mov esi, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x28c], ebx
mov dword [esp + 0x290], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebx
call fcn.0055da98
test eax, eax
jne 0x55e1cb
mov ecx, ebx
mov dword [esp + 0x30], ebx
cmp dword [esi], ebx
jbe 0x55e1c9
test edi, edi
je 0x55dcc7
mov ecx, edi
call dword [0x68f308]
call edi
test eax, eax
jne 0x55dfdc
mov ecx, dword [esp + 0x30]
imul ebx, ecx, 0xc
mov eax, dword [ebx + esi + 0x3c]
test eax, eax
je 0x55dfe3
cmp eax, 0x21
je 0x55dfe3
cmp eax, 0x30101
je 0x55dfe3
cmp eax, 0x303011b
jne 0x55de91
cmp ecx, 3
jne 0x55e1f2
mov ecx, dword [esp + 0x2b4]
mov edi, dword [ecx + 0x10]
mov ebp, dword [ecx + 8]
sub edi, ebp
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x14]
sbb ebx, eax
mov dword [esp + 0x14], eax
xor eax, eax
cmp eax, ebx
jne 0x55e1e4
mov eax, dword [esp + 0x28]
push edi
push eax
mov esi, dword [eax]
mov ecx, esi
call dword [0x68f308]
call esi
mov esi, dword [esp + 0x40]
pop ecx
pop ecx
mov dword [esi + 8], eax
test eax, eax
jne 0x55dd4a
test edi, edi
jne 0x55e1e4
add ebp, dword [esp + 0x2bc]
mov eax, dword [esp + 0x14]
adc eax, dword [esp + 0x2c0]
push eax
push ebp
mov ebp, dword [esp + 0x2c]
mov ecx, ebp
call fcn.0055d3d6
pop ecx
pop ecx
test eax, eax
jne 0x55e1cb
push dword [esp + 0x18]
mov edx, dword [esi + 8]
mov ecx, ebp
push ebx
push edi
call fcn.0055d9af
add esp, 0xc
test eax, eax
jne 0x55e1cb
mov ecx, dword [esp + 0x28c]
test cl, 3
jne 0x55e1ed
mov edx, dword [esp + 0x290]
test dl, 3
jne 0x55e1ed
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x20]
lea eax, [ebx + edx]
add eax, ecx
cmp eax, ebp
jne 0x55e1ed
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x48], eax
add eax, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x58], eax
mov eax, dword [esi]
mov dword [esp + 0x4c], eax
add eax, ecx
mov dword [esp + 0x5c], eax
mov ecx, 0x81
mov eax, dword [esi + 4]
mov dword [esp + 0x50], eax
add eax, edx
mov dword [esp + 0x60], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x54], eax
add eax, edi
mov dword [esp + 0x64], eax
lea edi, [esp + 0x84]
lea eax, [ebx + ebp]
mov dword [esp + 0x68], ebx
xor ebx, ebx
mov dword [esp + 0x6c], eax
mov eax, 0x4000400
mov dword [esp + 0x70], 3
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x48]
mov edx, edi
call fcn.0056091e
test eax, eax
jne 0x55e1cb
mov ecx, ebx
mov eax, dword [esp + ecx*4 + 0x48]
cmp eax, dword [esp + ecx*4 + 0x58]
jne 0x55e1ed
inc ecx
cmp ecx, 4
jb 0x55de4f
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x6c]
jne 0x55e1ed
cmp dword [esp + 0x70], ebx
jne 0x55e1ed
cmp dword [esp + 0x80], ebx
jne 0x55e1ed
mov esi, dword [esp + 0x1c]
jmp 0x55e1b8
cmp ecx, 1
jne 0x55e1f2
mov cl, byte [ebx + esi + 0x41]
cmp eax, 3
jne 0x55deea
cmp cl, 1
jne 0x55e1f2
xor eax, eax
push 0x100
push eax
lea eax, [esp + 0x50]
push eax
call fcn.0062bd30
mov eax, dword [ebx + esi + 0x38]
mov ecx, dword [esp + 0x38]
push edi
push ebp
push dword [esp + 0x24]
movzx edx, byte [eax + ecx]
lea ecx, [esp + 0x60]
inc edx
call fcn.0056101d
add esp, 0x18
test eax, eax
jne 0x55e1cb
jmp 0x55e1b8
cmp eax, 0xa
jne 0x55df1d
xor eax, eax
cmp cl, 4
jne 0x55df03
mov eax, dword [ebx + esi + 0x38]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + eax]
jmp 0x55df0b
test cl, cl
jne 0x55e1f2
mov ecx, dword [esp + 0x10]
mov edx, ebp
push eax
call fcn.0055e496
pop ecx
jmp 0x55e1b8
test cl, cl
jne 0x55e1f2
cmp eax, 0x3030103
je 0x55df9c
cmp eax, 0x3030205
je 0x55df8b
cmp eax, 0x3030401
je 0x55df7d
cmp eax, 0x3030501
je 0x55df6f
cmp eax, 0x3030701
je 0x55df61
cmp eax, 0x3030805
jne 0x55e1f2
push ecx
mov ecx, dword [esp + 0x14]
mov edx, ebp
call fcn.0055e5d6
jmp 0x55df17
push ecx
mov ecx, dword [esp + 0x14]
mov edx, ebp
call fcn.0055e61a
jmp 0x55df17
push ecx
mov ecx, dword [esp + 0x14]
mov edx, ebp
call fcn.0055e549
jmp 0x55df17
push ecx
mov ecx, dword [esp + 0x14]
mov edx, ebp
call fcn.0055e6a7
jmp 0x55df17
push ecx
mov ecx, dword [esp + 0x14]
mov edx, ebp
call fcn.0055e592
jmp 0x55df17
xor eax, eax
mov edx, ebp
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push edi
push eax
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.005607c0
add esp, 0xc
cmp dword [esp + 0x14], 1
jne 0x55e1b8
test edi, edi
je 0x55e1b8
mov ecx, edi
call dword [0x68f308]
call edi
test eax, eax
je 0x55e1b8
push 0x12
jmp 0x55e1ea
mov ecx, dword [esp + 0x10]
xor eax, eax
mov edx, eax
mov esi, ecx
mov eax, dword [esp + 0x1c]
mov edi, ebp
mov dword [esp + 0x34], edx
cmp dword [eax], 4
jne 0x55e0b5
mov esi, dword [esp + 0x30]
xor eax, eax
mov dword [esp + 0x2a0], eax
mov ebp, esi
mov eax, dword [esp + 0x44]
shl ebp, 2
mov dword [esp + 0x298], 3
mov dword [esp + 0x29c], 2
mov edi, dword [eax + esi*8]
mov edx, dword [esp + ebp + 0x298]
mov eax, dword [eax + esi*8 + 4]
mov dword [esp + 0x34], edx
cmp esi, 2
jae 0x55e089
xor esi, esi
cmp esi, eax
jne 0x55e1e4
mov eax, dword [esp + 0x28]
push edi
push eax
mov esi, dword [eax]
mov ecx, esi
call dword [0x68f308]
call esi
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x55e06f
test edi, edi
jne 0x55e1e4
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
sub eax, ebp
mov dword [eax + 4], esi
lea eax, [esp + 0x290]
sub eax, ebp
mov dword [eax], edi
jmp 0x55e0b5
jne 0x55e1f2
xor esi, esi
cmp eax, esi
ja 0x55e1e8
mov eax, dword [esp + 0x20]
jb 0x55e0a7
cmp edi, eax
ja 0x55e1e8
mov esi, ecx
mov dword [esp + 0x40], edi
sub esi, edi
add esi, eax
mov dword [esp + 0x3c], esi
mov ebp, dword [esp + 0x2b4]
mov ecx, dword [ebp + edx*8]
mov eax, dword [ebp + edx*8 + 4]
mov edx, dword [ebp + edx*8 + 8]
mov ebp, dword [esp + 0x34]
sub edx, ecx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x2b4]
mov ebp, dword [edx + ebp*8 + 0xc]
sbb ebp, eax
add ecx, dword [esp + 0x2bc]
adc eax, dword [esp + 0x2c0]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
call fcn.0055d3d6
pop ecx
pop ecx
test eax, eax
jne 0x55e1cb
mov eax, dword [esp + 0x1c]
mov eax, dword [ebx + eax + 0x3c]
test eax, eax
jne 0x55e147
mov eax, dword [esp + 0x14]
cmp eax, edi
jne 0x55e1ed
xor ecx, ecx
cmp ebp, ecx
jne 0x55e1ed
mov edi, dword [esp + 0x18]
mov edx, esi
mov ecx, dword [esp + 0x24]
push edi
push ebp
push eax
call fcn.0055d9af
add esp, 0xc
test eax, eax
jne 0x55e1cb
mov esi, dword [esp + 0x1c]
jmp 0x55e1b4
cmp eax, 0x30101
jne 0x55e17a
push dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push dword [esp + 0x2c]
push edi
push esi
mov esi, dword [esp + 0x2c]
push dword [esp + 0x34]
push ebp
mov ecx, dword [ebx + esi + 0x38]
movzx edx, byte [ebx + esi + 0x41]
add ecx, dword [esp + 0x44]
push eax
call fcn.0055d61b
jmp 0x55e1a9
cmp eax, 0x21
jne 0x55e1f2
push dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push dword [esp + 0x2c]
push edi
push esi
mov esi, dword [esp + 0x2c]
push dword [esp + 0x34]
push ebp
mov ecx, dword [ebx + esi + 0x38]
movzx edx, byte [ebx + esi + 0x41]
add ecx, dword [esp + 0x44]
push eax
call fcn.0055d7d6
add esp, 0x1c
test eax, eax
jne 0x55e1cb
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x30], ecx
cmp ecx, dword [esi]
jb 0x55dcad
xor eax, eax
mov ecx, dword [esp + 0x2a4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.006147ae
add esp, 0x29c
ret
push 2
jmp 0x55e1ea
push 5
pop eax
jmp 0x55e1cb
xor eax, eax
inc eax
jmp 0x55e1cb
push 4
jmp 0x55e1ea