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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x55831d
sub esp, 0x74
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x5580a9
mov ebx, dword [edx]
mov ecx, dword [edx + 4]
cmp ecx, eax
jbe 0x558317
lea ebp, [eax + eax*2]
mov eax, ecx
lea ecx, [ebx + ebp*8]
cmp byte [ecx], 3
jne 0x55809d
lea ecx, [ebx + ebp*8 + 8]
mov ecx, dword [ecx]
test cl, 4
je 0x55809d
xor ecx, ecx
jmp 0x5580ba
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
lea ebx, [edi + 0x18]
mov edx, esi
mov dword [esp + 0x14], ecx
lea edi, [esp + 0x38]
mov esi, ebx
call fcn.0045de14
mov ecx, dword [edx + 4]
mov ebp, dword [edx]
mov esi, edx
mov edx, dword [esp + 0x3c]
cmp ecx, edx
jbe 0x558310
lea edx, [edx + edx*2]
lea edx, [ebp + edx*8]
movzx edx, byte [edx]
mov edi, ebx
movzx ebx, byte [esp + 0x38]
cmp bl, 1
ja 0x558111
cmp dl, 4
je 0x558136
mov edx, dword [esp + 0x40]
cmp edx, ecx
jae 0x558309
lea ecx, [edx + edx*2]
lea ecx, [ebp + ecx*8]
cmp byte [ecx], 4
jne 0x55812b
jmp 0x558136
cmp bl, 3
jne 0x558126
cmp dl, 4
jne 0x55812b
mov ecx, dword [esp + 0x40]
test cl, 8
jne 0x55812b
jmp 0x558142
cmp dl, 4
je 0x558184
mov ecx, dword [esp + 0x14]
inc ecx
cmp eax, ecx
jg 0x5580b5
jmp 0x55814e
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp], esi
call fcn.00556320
mov eax, dword [esp + 4]
mov dword [esp], eax
call fcn.00556720
mov eax, dword [esp + 4]
test eax, eax
je 0x558190
nop
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
test edx, edx
je 0x558190
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
xor ebx, ebx
jmp 0x5581a5
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], eax
add esp, 0x74
ret
mov ebp, dword [esp + 0x1c]
add ebp, 0x18
mov edx, esi
mov ebx, ecx
mov ecx, ebp
mov dword [esp + 0x1c], ecx
lea edi, [esp + 0x20]
mov esi, ecx
call fcn.0045de14
movzx ecx, byte [esp + 0x20]
cmp cl, 6
ja 0x558210
cmp cl, 1
jbe 0x558215
mov ebp, dword [eax]
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x558302
lea ecx, [ebx + ebx*8]
mov dword [ebp + ecx*4 + 0x1c], 0
mov dword [ebp + ecx*4 + 0x20], 0
lea edi, [ebp + ecx*4 + 0x18]
mov esi, edx
mov edx, dword [0x705d20]
test edx, edx
jne 0x558200
mov dword [ebp + ecx*4 + 0x18], 0
jmp 0x5582e4
mov ecx, eax
xor eax, eax
call fcn.0045d700
mov eax, ecx
jmp 0x5582e4
cmp cl, 7
jne 0x55821c
mov esi, edx
jmp 0x5582e4
cmp cl, 0xa
ja 0x5582e2
mov ebp, dword [eax]
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x5582fb
lea ecx, [ebx + ebx*8]
mov dword [ebp + ecx*4 + 0x1c], 0
mov dword [ebp + ecx*4 + 0x20], 0
lea edi, [ebp + ecx*4 + 0x18]
mov esi, edx
mov edx, dword [0x705d20]
test edx, edx
jne 0x55825f
mov dword [ebp + ecx*4 + 0x18], 0
jmp 0x55826a
mov edx, eax
xor eax, eax
call fcn.0045d700
mov eax, edx
mov dword [esp + 0x10], ecx
lea edi, [esp + 0x50]
mov edx, eax
xor eax, eax
call fcn.0045d937
lea edi, [esp + 0x50]
mov eax, esi
lea esi, [esp + 0x20]
call fcn.0045de14
mov ecx, dword [edx + 4]
mov ebp, dword [edx]
cmp ebx, ecx
jae 0x5582f4
mov ecx, dword [esp + 0x10]
lea edi, [ebp + ecx*4]
mov ecx, dword [0x705d20]
test ecx, ecx
jne 0x5582b0
lea esi, [esp + 0x50]
call fcn.0045ddf6
jmp 0x5582da
mov dword [esp + 0xc], ebx
lea eax, [0x58bf00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
call fcn.0040fb30
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
mov eax, edx
mov esi, dword [esp + 0x14]
jmp 0x5582e4
mov esi, edx
lea ecx, [ebx + 1]
cmp esi, ecx
jg 0x558198
jmp 0x558190
mov eax, ebx
call fcn.0045d780
mov eax, ebx
call fcn.0045d780
mov eax, ebx
call fcn.0045d780
mov eax, edx
call fcn.0045d790
mov eax, edx
call fcn.0045d790
call fcn.0045d780
nop
call fcn.0045c2f0
jmp fcn.00558050