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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x581cb9
sub esp, 0x70
call fcn.005816d0
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test edx, edx
jne 0x581c8c
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x74]
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x581a04
inc ebx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x40]
cmp ebx, eax
jge 0x581c83
mov ecx, dword [ecx + ebx*4]
mov eax, dword [ecx + 4]
test eax, eax
jne 0x581a19
mov eax, dword [ecx + 0x48]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], eax
test edx, edx
je 0x581a35
cmp eax, edx
jne 0x5819fb
mov dword [esp + 0x44], ecx
mov eax, dword [ecx + 0x28]
test byte [eax], al
mov dword [esp], eax
mov dword [esp + 4], 0x2710
mov dword [esp + 8], 0x2710
call fcn.0049a000
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x48], ecx
lea edi, [esp + 0x50]
mov edx, eax
xor eax, eax
call fcn.004572a8
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
mov ecx, dword [esp + 0x44]
cmp dword [ecx + 0x44], 1
jne 0x581a95
mov dword [esp + 0x6c], 1
mov edx, dword [ecx + 0x40]
cmp edx, 0x18
ja 0x581c48
cmp edx, 9
ja 0x581c26
cmp edx, 6
jne 0x581c18
or dword [esp + 0x6c], 0x12
mov edx, dword [ecx + 0x3c]
cmp edx, 0xffffffff
jne 0x581c0f
mov dword [esp + 0x54], 0xffffffff
mov edx, dword [ecx + 0x34]
test edx, edx
ja 0x581bba
mov ecx, dword [esp + 0x24]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x28]
cmp edx, ebx
ja 0x581b7e
mov ebp, dword [esp + 0x4c]
mov eax, dword [0xdd7ec0]
shl ecx, 5
lea edi, [ebp + ecx]
test eax, eax
jne 0x581b4a
lea esi, [esp + 0x50]
call fcn.00457770
mov eax, dword [esp + 0x74]
cmp dword [esp + 0x50], eax
je 0x581b21
mov esi, ebx
mov edi, edx
mov edx, eax
mov ebx, dword [esp + 0x38]
jmp 0x5819fb
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
add esp, 0x70
ret
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ebx
lea eax, [0x93ebc0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
call fcn.00410ec0
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x3c]
jmp 0x581b08
lea eax, [0x93ebc0]
mov dword [esp], eax
mov ebp, dword [esp + 0x4c]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00440660
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0x24]
jmp 0x581aee
lea eax, [0x8ebd00]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00440500
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + 0x34]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], edx
cmp edx, 8
jle 0x581bf1
mov edx, 8
add ecx, 0x2c
cmp ecx, eax
je 0x581c08
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004579b0
xor eax, eax
jmp 0x581ad7
mov dword [esp + 0x54], edx
jmp 0x581acc
cmp edx, 9
je 0x581ab3
jmp 0x581ab8
cmp edx, 0x17
jne 0x581c35
or dword [esp + 0x6c], 0x18
jmp 0x581ab8
cmp edx, 0x18
jne 0x581ab8
or dword [esp + 0x6c], 0x14
jmp 0x581ab8
cmp edx, 0x47
ja 0x581c6a
cmp edx, 0x25
jne 0x581c5c
or dword [esp + 0x6c], 0x1a
jmp 0x581ab8
cmp edx, 0x47
je 0x581ab3
jmp 0x581ab8
cmp edx, 0x83
je 0x581c2b
cmp edx, 0x90
je 0x581ab3
jmp 0x581ab8
mov ebx, esi
mov edx, edi
jmp 0x581b21
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ebx
add esp, 0x70
ret
call fcn.004557a0
jmp fcn.005819b0