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

Disassembly:
sub esp, 0x7c
mov eax, dword [esp + 0x84]
push ebx
mov dword [esp + 8], ecx
push ebp
mov cl, byte [esp + 0x94]
push esi
mov esi, edx
mov byte [esp + 0x40], cl
mov edx, dword [esp + 0x40]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x8c]
lea ecx, [esp + 0x34]
push edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x10], eax
push ecx
mov ecx, dword [eax + 0x24]
call fcn.00405ab0
mov ebx, dword [esp + 0x38]
mov eax, dword [esi]
cmp eax, ebx
jge 0x5e1876
mov eax, dword [esi + 8]
test eax, eax
jle 0x5e1876
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x3c]
cmp edx, eax
jge 0x5e1876
cmp dword [esi + 0xc], 0xffffff01
jle 0x5e1876
mov ecx, dword [esp + 0x98]
mov eax, dword [esi]
mov edi, dword [esi + 8]
mov esi, dword [esi + 0xc]
mov ebp, dword [ecx]
mov ecx, dword [ecx + 4]
test eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ecx
jge 0x5e15d8
mov ecx, ebp
mov dword [esp + 0x5c], 0
sub ecx, eax
mov dword [esp + 0x30], ecx
cmp edx, 0xffffff01
jge 0x5e15f9
mov ecx, dword [esp + 0x34]
mov eax, 0xffffff01
sub eax, edx
mov dword [esp + 0x60], 0xffffff01
add ecx, eax
mov dword [esp + 0x34], ecx
cmp edi, ebx
jle 0x5e1601
mov dword [esp + 0x64], ebx
mov eax, dword [esp + 0x3c]
cmp esi, eax
jle 0x5e160d
mov dword [esp + 0x68], eax
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x60]
call fcn.005ff950
lea edx, [esp + 0x30]
lea ecx, [esp + 0x6c]
push eax
push edx
call fcn.0041b6f0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x24]
call fcn.00405860
mov ebx, dword [esp + 0x3c]
mov esi, eax
shl eax, 5
mov ecx, dword [esp + 0x60]
sub eax, ebx
cdq
sub eax, edx
xor edx, edx
sar eax, 1
test ecx, ecx
setle dl
dec edx
and edx, ecx
add eax, edx
cdq
and edx, 0xf
add eax, edx
mov edx, dword [esp + 0x38]
mov ecx, eax
mov eax, esi
sar ecx, 4
dec ecx
shl eax, 6
mov edi, ecx
sub eax, edx
sub edi, esi
cdq
inc edi
sub eax, edx
mov edx, dword [esp + 0x5c]
shl edi, 5
sar eax, 1
add edx, edi
add eax, edx
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
sub ecx, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
lea eax, [esp + 0x20]
lea ecx, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.005d7ea0
lea edx, [esp + 0x40]
lea ecx, [esp + 0x5c]
push edx
call fcn.00416420
lea edx, [esp + 0x30]
lea ecx, [esp + 0x28]
push eax
call fcn.00459100
lea ecx, [esp + 0x18]
push eax
call fcn.00416100
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x20]
mov ecx, dword [esp + 0x10]
sub esi, 0x20
mov dword [esp + 0x18], esi
push eax
mov ecx, dword [ecx + 0x24]
call fcn.00405ad0
test al, al
je 0x5e1876
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
cmp eax, ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edi
jge 0x5e1823
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [edx + 0x24]
call fcn.00405ad0
test al, al
je 0x5e1823
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
lea eax, [esp + 0x50]
lea ecx, [esp + 0x7c]
push eax
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x60], edx
call fcn.005d7ed0
mov esi, dword [esp + 0x80]
xor edx, edx
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
mov dx, word [eax]
mov eax, dword [esp + 0x44]
mov ecx, eax
sub ecx, edx
xor edx, edx
mov dx, word [esi]
add ecx, 0x10
mov esi, edx
mov edx, eax
sub edx, esi
xor esi, esi
mov si, word [ebx]
mov ebx, esi
mov esi, eax
sub esi, ebx
xor ebx, ebx
mov bx, word [ebp]
add esi, 0x10
sub eax, ebx
add eax, 0x20
cmp ecx, edx
jge 0x5e17b7
mov edx, ecx
jmp 0x5e17bd
cmp ecx, eax
jle 0x5e17bd
mov eax, ecx
cmp esi, edx
jge 0x5e17c5
mov edx, esi
jmp 0x5e17cb
cmp esi, eax
jle 0x5e17cb
mov eax, esi
cmp edx, edi
jge 0x5e17d1
mov edi, edx
cmp edx, dword [esp + 0x78]
jge 0x5e17fa
cmp eax, dword [esp + 0x70]
jle 0x5e17fa
lea eax, [esp + 0x6c]
lea ecx, [esp + 0x40]
push eax
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x54]
push ecx
push edx
push eax
lea ecx, [esp + 0x58]
call fcn.005e3010
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x74]
dec ebx
add eax, 0x40
inc esi
cmp eax, ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x40], eax
jl 0x5e171e
cmp edi, dword [esp + 0x78]
jge 0x5e1876
mov ecx, dword [esp + 0x18]
lea eax, [ecx + 0x20]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jle 0x5e184a
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
inc ecx
sub eax, 0x20
mov dword [esp + 0x20], ecx
jmp 0x5e184e
inc dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
add edi, 0x10
lea edx, [esp + 0x20]
mov dword [esp + 0x1c], edi
mov ecx, dword [eax + 0x24]
push edx
call fcn.00405ad0
test al, al
jne 0x5e16f2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret 0x10