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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x558e22
sub esp, 0x74
mov eax, 0
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x7c]
mov ebx, dword [edx + 4]
test ecx, 1
jne 0x558e00
test ebx, 1
jne 0x558e00
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
lea eax, [0x5be300]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00444f30
mov eax, dword [esp + 0xc]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
lea eax, [0x5bec00]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00444f30
mov eax, dword [esp + 0xc]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov byte [esp + 0x22], 1
lea eax, [0x601ec8]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x22]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x64], eax
mov byte [esp + 0x23], 1
mov dword [esp + 0x2c], 0xffffffff
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x40]
jmp 0x55872d
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x28]
cmp ebp, ecx
jge 0x558d11
mov esi, dword [esp + 0x24]
cmp esi, ebx
jl 0x558912
mov esi, dword [esp + 0x2c]
test esi, esi
jle 0x5587fe
mov edi, dword [eax + 4]
mov edx, dword [eax]
cmp ebp, edi
jae 0x558de5
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
mov edx, dword [edx + ebp*4]
cmp esi, edi
jae 0x558ddc
lea ebx, [ebx + esi*4]
cmp dword [ebx], edx
jl 0x5587fe
xor edx, edx
mov byte [esp + 0x22], dl
movzx edx, byte [esp + 0x22]
test dl, dl
jne 0x558725
mov eax, dword [0x74dbe0]
mov ecx, dword [0x74dbd0]
mov edx, dword [0x74dbe4]
mov ebx, dword [0x74dbd4]
mov ebp, dword [0x74dbd8]
mov esi, dword [0x74dbe8]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebp
mov byte [esp + 0x23], 0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0055ac90
add esp, 0x74
ret
mov edx, dword [eax + 4]
mov ebx, dword [eax]
cmp ebp, edx
jae 0x558dd3
mov esi, dword [ebx + ebp*4]
lea edi, [ebp + 1]
cmp edi, edx
jae 0x558dca
mov dword [esp + 0x38], esi
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x34], edx
lea edi, [edx + 2]
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x60]
mov ebx, dword [ebx + ebp*4 + 4]
cmp edx, edi
jb 0x5588c7
mov edx, dword [esp + 0x34]
lea ebp, [edx + 2]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x38]
mov dword [esi + edx*4], ebp
mov dword [esi + edx*4 + 4], ebx
add dword [esp + 0x28], 2
add dword [esp + 0x2c], 2
mov edx, dword [esp + 0x50]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x54]
cmp ebx, esi
ja 0x55888b
lea ebx, [edx + 1]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x80]
mov dword [ebp + edx*4], ebx
mov edx, 1
jmp 0x55877e
lea eax, [0x5bec00]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004450a0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
jmp 0x55886f
mov dword [esp + 0x30], ebx
lea eax, [0x5be300]
mov dword [esp], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edi
call fcn.004450a0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x58], esi
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x30]
jmp 0x558840
cmp ebp, ecx
jl 0x558a6d
mov ebp, dword [esp + 0x2c]
test ebp, ebp
jle 0x558954
mov edi, dword [edx + 4]
mov ebx, dword [edx]
cmp esi, edi
jae 0x558dc1
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov ebx, dword [ebx + esi*4]
cmp ebp, edi
jae 0x558db8
lea edx, [edx + ebp*4]
cmp dword [edx], ebx
jl 0x558954
xor edx, edx
mov byte [esp + 0x22], dl
jmp 0x558782
mov edx, dword [esp + 0x7c]
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
cmp esi, ebx
jae 0x558daf
mov edi, dword [ebp + esi*4]
lea edx, [esi + 1]
cmp edx, ebx
jae 0x558da6
mov dword [esp + 0x38], edi
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x34], edx
lea ebx, [edx + 2]
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x60]
mov ebp, dword [ebp + esi*4 + 4]
cmp ebx, edx
ja 0x558a22
mov edx, dword [esp + 0x34]
lea ebx, [edx + 2]
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x38]
mov dword [edi + edx*4], ebx
mov dword [edi + edx*4 + 4], ebp
add dword [esp + 0x24], 2
add dword [esp + 0x2c], 2
mov edx, dword [esp + 0x50]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x54]
cmp ebx, esi
ja 0x5589e6
lea ebx, [edx + 1]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x84]
mov dword [ebp + edx*4], ebx
mov edx, 1
jmp 0x55894b
lea eax, [0x5bec00]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004450a0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
jmp 0x5589ca
mov dword [esp + 0x30], ebp
lea eax, [0x5be300]
mov dword [esp], eax
mov dword [esp + 4], edi
mov ecx, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004450a0
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x58], edi
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x30]
jmp 0x55899b
mov edi, dword [edx + 4]
mov edx, dword [edx]
cmp esi, edi
jae 0x558df7
mov dword [esp + 0x34], edi
mov dword [esp + 0x48], edx
mov ebx, dword [edx + esi*4]
mov edx, dword [eax + 4]
mov edi, dword [eax]
cmp ebp, edx
jae 0x558dee
mov dword [esp + 0x44], edi
mov edi, dword [edi + ebp*4]
cmp ebx, edi
jge 0x558bd7
mov edx, dword [esp + 0x2c]
test edx, edx
jle 0x558acb
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
cmp edx, ebp
jae 0x558d9d
lea edx, [edi + edx*4]
cmp dword [edx], ebx
jl 0x558acb
xor edx, edx
mov byte [esp + 0x22], dl
jmp 0x558782
lea edx, [esi + 1]
mov ebp, dword [esp + 0x34]
cmp edx, ebp
jae 0x558d94
mov dword [esp + 0x38], ebx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x34], edx
lea ebp, [edx + 2]
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
mov edx, dword [edx + esi*4 + 4]
cmp ebx, ebp
jb 0x558b8c
mov ebx, dword [esp + 0x34]
lea ebp, [ebx + 2]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x38]
mov dword [edi + ebx*4], ebp
mov dword [edi + ebx*4 + 4], edx
add dword [esp + 0x24], 2
add dword [esp + 0x2c], 2
mov edx, dword [esp + 0x50]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x54]
cmp esi, ebx
jb 0x558b50
lea ebx, [edx + 1]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x84]
mov dword [ebp + edx*4], ebx
mov edx, 1
jmp 0x558ac2
lea eax, [0x5bec00]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004450a0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
jmp 0x558b34
mov dword [esp + 0x30], edx
lea eax, [0x5be300]
mov dword [esp], eax
mov dword [esp + 4], edi
mov ecx, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.004450a0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x58], edi
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x30]
jmp 0x558b05
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jle 0x558c05
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
cmp esi, ebx
jbe 0x558d8b
lea edx, [edx + ebx*4]
cmp dword [edx], edi
jl 0x558c05
xor edx, edx
mov byte [esp + 0x22], dl
jmp 0x558782
lea edx, [ebp + 1]
mov ebx, dword [esp + 0x34]
cmp ebx, edx
jbe 0x558d82
mov dword [esp + 0x38], edi
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x34], edx
lea ebx, [edx + 2]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x60]
mov edx, dword [esp + 0x44]
mov edx, dword [edx + ebp*4 + 4]
cmp edi, ebx
jb 0x558cc6
mov ebx, dword [esp + 0x34]
lea ebp, [ebx + 2]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x38]
mov dword [esi + ebx*4], ebp
mov dword [esi + ebx*4 + 4], edx
add dword [esp + 0x28], 2
add dword [esp + 0x2c], 2
mov edx, dword [esp + 0x50]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x54]
cmp esi, ebx
jb 0x558c8a
lea ebx, [edx + 1]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x80]
mov dword [ebp + edx*4], ebx
mov edx, 1
jmp 0x558bfc
lea eax, [0x5bec00]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004450a0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
jmp 0x558c6e
mov dword [esp + 0x30], edx
lea eax, [0x5be300]
mov dword [esp], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
call fcn.004450a0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x58], esi
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x30]
jmp 0x558c3f
cmp dword [esp + 0x24], ebx
jl 0x558739
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], esi
mov byte [esp + 0x23], 0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0055ac90
add esp, 0x74
ret
mov eax, edx
mov ecx, ebx
call fcn.0045dff0
mov eax, ebx
mov ecx, esi
call fcn.0045dff0
mov eax, edx
mov ecx, ebp
call fcn.0045dff0
mov eax, edx
mov ecx, ebp
call fcn.0045dff0
mov eax, edx
mov ecx, ebx
call fcn.0045dff0
mov eax, esi
mov ecx, ebx
call fcn.0045dff0
mov eax, ebp
mov ecx, edi
call fcn.0045dff0
mov eax, esi
mov ecx, edi
call fcn.0045dff0
mov eax, edi
mov ecx, edx
call fcn.0045dff0
mov eax, ebp
mov ecx, edx
call fcn.0045dff0
mov eax, esi
mov ecx, edi
call fcn.0045dff0
mov eax, ebp
mov ecx, edi
call fcn.0045dff0
mov eax, ebp
mov ecx, edx
call fcn.0045dff0
mov eax, esi
mov ecx, edi
call fcn.0045dff0
lea eax, [0x5beac0]
mov dword [esp], eax
lea eax, [0x637ed0]
mov dword [esp + 4], eax
call fcn.00431a00
nop
call fcn.00430c90
add esp, 0x74
ret
call fcn.0045ca10
jmp fcn.005585c0