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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x581d59
sub esp, 0x50
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x74]
mov eax, dword [esp + 0x5c]
jmp 0x581967
lea eax, [esi + ebp*8 + 4]
mov eax, dword [eax]
mov ebx, ecx
mov ebp, edi
mov esi, edx
test eax, eax
je 0x581cfe
mov ecx, dword [ebp + 4]
mov edx, esi
mov esi, dword [ebp]
cmp eax, ecx
jae 0x581d53
mov esi, dword [esi + eax*4]
mov ecx, ebx
mov ebx, dword [ebp + 0x10]
mov edi, ebx
mov ebx, dword [ebp + 0x14]
mov ebp, dword [ebp + 0xc]
cmp edi, esi
jbe 0x5819a0
lea ebp, [ebp + esi*8]
cmp dword [ebp], eax
je 0x581a65
lea ebp, [edi + 1]
cmp ebx, ebp
jb 0x581d4a
mov ebx, dword [esp + 0x58]
mov dword [ebx + 0x10], ebp
mov esi, dword [ebx + 0xc]
cmp edi, ebp
jae 0x581d41
lea ebp, [esi + edi*8 + 4]
mov ebx, dword [0x7e2780]
lea esi, [esi + edi*8]
test ebx, ebx
jne 0x5819d7
mov dword [ebp], 0
jmp 0x5819ec
mov dword [esp + 0x34], eax
mov ebx, edi
mov edi, ebp
xor eax, eax
call fcn.00463860
mov eax, dword [esp + 0x34]
mov edi, ebx
mov dword [esp + 0x4c], ebp
mov dword [esi], eax
mov ebx, dword [esp + 0x58]
mov esi, dword [ebx + 4]
mov ebp, dword [ebx]
cmp eax, esi
jae 0x581d3a
mov dword [ebp + eax*4], edi
mov ebp, dword [ecx + 4]
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
cmp eax, ebp
jae 0x581d33
lea ebp, [eax + eax*2]
lea eax, [esi + ebp*8]
mov edi, ebx
lea ebx, [esi + ebp*8]
movzx ebx, byte [ebx]
cmp bl, 3
ja 0x581ba2
mov dword [esp + 0x48], esi
mov dword [esp + 0x30], ebp
cmp bl, 1
jbe 0x581b3d
mov dword [esp + 0x44], edx
cmp bl, 2
jne 0x581aed
lea ebx, [esi + ebp*8 + 8]
mov dword [esp + 0x40], ebx
mov eax, dword [ebx]
mov ebx, dword [esp + 0x68]
cmp ebx, eax
jle 0x58195b
jmp 0x581a6d
mov dword [esp + 0x78], edx
add esp, 0x50
ret
jbe 0x581d2c
mov edx, dword [esp + 0x64]
mov ebx, dword [edx + eax*4]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x60]
mov dword [edx + eax*4], ebx
lea eax, [esi + ebp*8 + 4]
mov eax, dword [eax]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], 0
call fcn.00581930
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 0x68]
cmp ecx, eax
jbe 0x581d27
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x64]
mov dword [edx + eax*4], ecx
mov edx, dword [esp + 0x44]
jmp 0x581cf6
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea ebx, [esi + ebp*8 + 8]
mov ebx, dword [ebx]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov byte [esp + 8], bl
call fcn.00580dd0
movzx eax, byte [esp + 0xc]
test al, al
je 0x581b34
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
lea eax, [ecx + eax*8 + 4]
mov eax, dword [eax]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x44]
jmp 0x581967
mov edx, dword [esp + 0x44]
jmp 0x581cf6
lea eax, [esi + ebp*8 + 4]
mov eax, dword [eax]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
call fcn.00581930
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
lea eax, [ecx + eax*8 + 8]
mov eax, dword [eax]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov ebx, ecx
mov ebp, edx
jmp 0x581967
cmp bl, 5
jbe 0x581bc7
cmp bl, 6
jne 0x581bbd
lea eax, [esi + ebp*8 + 4]
mov eax, dword [eax]
mov ebx, ecx
mov ebp, edi
mov esi, edx
jmp 0x581967
cmp bl, 0xa
jbe 0x581bd0
jmp 0x581d0f
cmp bl, 4
jne 0x581cf6
test edx, edx
je 0x581bf1
mov ebx, dword [0x7e2780]
test ebx, ebx
jne 0x581be5
mov dword [edx], eax
jmp 0x581c94
mov edi, edx
call fcn.00463860
jmp 0x581c94
nop
mov edx, dword [ecx + 0x3c]
mov ebx, dword [ecx + 0x38]
test edx, edx
je 0x581c06
mov ebx, dword [ebx + edx*4 - 4]
dec edx
mov dword [ecx + 0x3c], edx
jmp 0x581c7b
mov dword [esp + 0x3c], eax
lea eax, [0x5fc4c0]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx + 0x4c]
mov dword [esp + 0x30], edx
mov ecx, dword [ecx + 0x50]
mov dword [esp + 0x2c], ecx
lea ebx, [0x5f0580]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0044a1a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x2c]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x581c6d
mov dword [edx + 4], eax
jmp 0x581c75
lea edi, [edx + 4]
call fcn.00463860
mov eax, dword [esp + 0x3c]
mov ebx, edx
test byte [ebx], al
mov edx, dword [0x7e2780]
test edx, edx
jne 0x581c8b
mov dword [ebx], eax
jmp 0x581c92
mov edi, ebx
call fcn.00463860
mov edx, ebx
mov ebx, dword [esp + 0x68]
test ebx, ebx
je 0x581cd7
mov ebp, dword [edx + 8]
mov esi, dword [edx + 4]
test ebp, ebp
jbe 0x581d06
mov ecx, dword [esp + 0x64]
cmp ecx, esi
je 0x581cd7
cmp ebx, ebp
jge 0x581cb6
cmp ecx, esi
jmp 0x581cba
cmp ecx, esi
mov ebx, ebp
je 0x581cd7
mov dword [esp + 0x44], edx
mov dword [esp], esi
mov dword [esp + 4], ecx
shl ebx, 2
mov dword [esp + 8], ebx
call fcn.00464180
mov edx, dword [esp + 0x44]
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x581ce9
mov eax, dword [esp + 0x4c]
mov dword [eax], edx
jmp 0x581cf4
mov edi, dword [esp + 0x4c]
mov eax, edx
call fcn.00463860
xor edx, edx
mov dword [esp + 0x78], edx
add esp, 0x50
ret
mov dword [esp + 0x78], esi
add esp, 0x50
ret
xor eax, eax
mov ecx, eax
call fcn.004638e0
lea eax, [0x5f0d80]
mov dword [esp], eax
lea eax, [0x67417c]
mov dword [esp + 4], eax
call fcn.00435790
call fcn.004638f0
mov ecx, ebx
call fcn.004638f0
mov ecx, ebp
call fcn.004638f0
mov ecx, esi
call fcn.004638f0
mov eax, edi
mov ecx, ebp
call fcn.004638e0
mov ecx, ebp
mov edx, ebx
call fcn.00463920
call fcn.004638f0
nop
call fcn.00462450
jmp fcn.00581930