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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xc8]
cmp eax, dword [ecx + 8]
jbe 0x5db4e1
sub esp, 0x148
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
mov eax, dword [esp + 0x14c]
mov ecx, dword [eax]
mov dword [esp + 0x138], ecx
mov dword [esp], ecx
call fcn.005d8a80
mov eax, dword [esp + 0xc]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 4]
mov dword [esp + 0x12c], edx
mov dword [esp + 0xec], 0x10
lea ebx, [0x6895e8]
mov dword [esp + 0xfc], ebx
mov ebx, dword [esp + 0x138]
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], edx
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], eax
lea ebp, [esp + 0xec]
mov dword [esp], ebp
call fcn.0042f5f0
test eax, eax
jne 0x5db4ac
mov dword [esp + 0xb4], 0x10
lea eax, [0x689600]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0xdc], eax
lea ecx, [esp + 0x160]
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x158]
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0xe8], ecx
lea ecx, [esp + 0xb4]
mov dword [esp], ecx
call fcn.0042f5f0
test eax, eax
jne 0x5db49f
mov eax, dword [esp + 0x14c]
mov ebx, dword [eax + 4]
mov ebp, dword [ebx + 0x58]
mov esi, dword [ebx + 0x20]
test esi, esi
je 0x5daaee
je 0x5db45f
lea edi, [0x651220]
cmp dword [esi + 4], edi
jne 0x5db45f
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x140], ebp
test ebp, ebp
xchg esi, ebx
setne bl
xchg esi, ebx
xchg esi, eax
mov byte [esp + 0x31], al
xchg esi, eax
cmp edx, 0xffffffff
xchg edi, ebx
setne bl
xchg edi, ebx
cmp ecx, 0xffffffff
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, edi
xchg esi, eax
mov byte [esp + 0x32], al
xchg esi, eax
mov edi, dword [esp + 0x154]
mov dword [esp + 0x80], eax
xor eax, eax
mov byte [esp + 0x30], al
xor eax, eax
mov byte [esp + 0x2f], al
mov eax, dword [esp + 0x80]
jmp 0x5dae7b
mov dword [esp + 0x130], ecx
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0x13c]
mov dword [esp], edx
call fcn.0046e6e0
mov eax, dword [esp + 0x14c]
movzx ecx, byte [esp + 0x33]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x144]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x44]
movzx ecx, byte [esp + 0x32]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x68], edx
movzx edx, byte [esp + 0x33]
mov byte [esp + 0x2f], dl
mov edx, dword [esp + 0x68]
test edi, edi
jle 0x5dae37
test eax, eax
jne 0x5dae37
mov dword [esp + 0x50], ebx
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.005db4f0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x130], edx
cmp dword [0x81bdf8], eax
je 0x5dadde
cmp dword [0x81be00], eax
je 0x5dad50
test eax, eax
jne 0x5dad35
mov eax, dword [esp + 0x138]
test byte [eax], al
lea ecx, [eax + 0xd8]
mov dword [esp + 0x13c], ecx
mov dword [esp], ecx
call fcn.0046e320
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x5c]
cmp edx, ecx
jb 0x5db4c2
mov ebx, dword [esp + 0x44]
cmp ebx, ecx
jb 0x5db4b9
sub ebx, ecx
mov dword [esp + 0x44], ebx
mov eax, edx
sub edx, ecx
mov dword [esp + 0x58], edx
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, ecx
mov esi, dword [esp + 0x134]
add edx, esi
mov dword [esp + 0x144], edx
movzx edi, byte [esp + 0x30]
xchg edi, eax
test al, al
xchg edi, eax
je 0x5dad2e
test ebx, ebx
jne 0x5dad2e
movzx edi, byte [esp + 0x31]
xor edi, 1
xchg edi, eax
mov byte [esp + 0x33], al
xchg edi, eax
mov edx, dword [esp + 0x138]
mov ebx, dword [edx + 0x74]
mov ebp, dword [esp + 0x14c]
mov ebp, dword [ebp + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], ebp
xchg edi, eax
mov byte [esp + 8], al
xchg edi, eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.005d0ec0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
test eax, eax
jne 0x5dab51
mov eax, dword [esp + 0x138]
mov ecx, dword [eax + 0x6c]
mov dword [esp], ecx
call fcn.004bd4c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
jmp 0x5dab51
xor edi, edi
jmp 0x5dacaf
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], edx
nop
call fcn.0042fd30
add esp, 0x148
ret
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [0x81be04]
mov dword [esp + 8], ecx
call fcn.00403830
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5dad83
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x130]
jmp 0x5dac27
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x138]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 8
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.005dff40
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x164], eax
nop
call fcn.0042fd30
add esp, 0x148
ret
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [0x81bdfc]
mov dword [esp + 8], ecx
call fcn.00403830
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5dae11
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x130]
jmp 0x5dac1b
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x164], eax
nop
call fcn.0042fd30
add esp, 0x148
ret
test eax, eax
jne 0x5daf91
mov eax, dword [esp + 0x154]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x12c]
mov eax, dword [esp + 0x14c]
mov ebx, dword [esp + 0x128]
mov ebp, dword [esp + 0x140]
mov esi, ecx
mov edi, dword [esp + 0x154]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
movzx ebx, byte [esp + 0x30]
test bl, bl
jne 0x5db15a
mov ebp, dword [esp + 0x54]
dec ebp
mov eax, dword [esp + 0x48]
cmp ebp, eax
ja 0x5db4d7
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x150]
mov edx, dword [ecx + 0x10]
mov dword [esp], edi
mov ebx, dword [esp + 0x12c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
call edx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
movzx ebx, byte [esp + 0x32]
test bl, bl
je 0x5db14b
mov ebp, dword [esp + 0x3c]
mov esi, ebp
sub ebp, ecx
mov edi, ecx
sar ecx, 0x1f
sub esi, edi
mov esi, dword [esp + 0x40]
sbb esi, ecx
test ebp, ebp
mov ecx, ebx
sete bl
test esi, esi
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x5daf15
test eax, eax
je 0x5db0c0
mov dword [esp + 0x4c], eax
test ebp, ebp
setb bl
test esi, esi
xchg edi, ebx
sete bl
xchg edi, ebx
setl al
and ebx, edi
or eax, ebx
test al, al
jne 0x5db056
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], esi
mov dword [esp + 0x130], edx
mov dword [esp + 0x4c], eax
cmp dword [0x81bb70], eax
je 0x5dafff
test eax, eax
jne 0x5dafac
movzx ebx, byte [esp + 0x30]
mov byte [esp + 0x30], bl
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
cmp edi, ebx
ja 0x5db4c7
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x78]
jmp 0x5dabc9
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], edx
nop
call fcn.0042fd30
add esp, 0x148
ret
mov ecx, dword [esp + 0x14c]
mov ecx, dword [ecx + 0xc]
mov ebx, dword [esp + 0x138]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], 8
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.005dff40
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x164], eax
nop
call fcn.0042fd30
add esp, 0x148
ret
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [0x81bb74]
mov dword [esp + 8], ecx
call fcn.00403830
movzx eax, byte [esp + 0xc]
test al, al
je 0x5db039
movzx ecx, byte [esp + 0x32]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
xor eax, eax
xor edx, edx
mov ebx, 1
jmp 0x5daf62
mov eax, dword [esp + 0x4c]
movzx ecx, byte [esp + 0x32]
mov edx, dword [esp + 0x130]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
jmp 0x5daf59
mov eax, dword [0x81bdd8]
mov dword [esp + 0x4c], eax
mov ecx, dword [0x81bddc]
mov dword [esp + 0x130], ecx
mov edx, dword [esp + 0x14c]
mov edx, dword [edx + 0xc]
mov ebx, dword [esp + 0x138]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 8
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.005dff40
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x164], eax
nop
call fcn.0042fd30
add esp, 0x148
ret
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x54]
cmp eax, edx
ja 0x5db4d0
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], ebp
mov ecx, dword [esp + 0x150]
mov ebx, dword [ecx + 0x10]
mov ebp, dword [esp + 0x154]
mov dword [esp], ebp
mov esi, dword [esp + 0x48]
sub esi, eax
mov dword [esp + 0x58], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, eax
mov ebp, dword [esp + 0x12c]
add esi, ebp
mov dword [esp + 4], esi
sub edx, eax
mov dword [esp + 8], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov edx, ecx
sub ecx, eax
mov ebx, eax
sar eax, 0x1f
sub edx, ebx
mov esi, dword [esp + 0x64]
sbb esi, eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, ecx
movzx ecx, byte [esp + 0x32]
jmp 0x5daf15
mov ecx, ebx
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
jmp 0x5daf3a
movzx ecx, byte [esp + 0x2f]
test cl, cl
jne 0x5db43c
test ebp, ebp
jne 0x5db33e
xor ecx, ecx
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x124], ebx
mov eax, dword [esp + 0x138]
test byte [eax], al
lea ebp, [eax + 0x30]
mov dword [esp + 0x13c], ebp
mov dword [esp], ebp
call fcn.0046e320
mov eax, dword [esp + 0x138]
mov ecx, dword [eax + 0xa0]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x13c]
mov dword [esp], edx
call fcn.0046e6e0
mov eax, dword [esp + 0x138]
lea ecx, [eax + 0xd8]
mov dword [esp + 0x13c], ecx
mov dword [esp], ecx
call fcn.0046e320
mov dword [esp + 0x88], 4
lea eax, [0x6898bc]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x88]
mov dword [esp], eax
call fcn.0042f5f0
test eax, eax
jne 0x5db331
mov eax, dword [esp + 0x34]
test eax, eax
jle 0x5db2c1
mov ecx, dword [esp + 0x14c]
mov ecx, dword [ecx + 0xc]
mov edx, dword [esp + 0x138]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], eax
call fcn.005da780
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
mov eax, dword [esp + 0x138]
mov eax, dword [eax + 0x6c]
mov dword [esp], eax
call fcn.004bd4c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
je 0x5db2a4
mov edx, dword [esp + 0x160]
test edx, edx
je 0x5db2b1
nop
call fcn.0042fd30
add esp, 0x148
ret
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
jmp 0x5db2a4
mov eax, dword [esp + 0x138]
mov ecx, dword [eax + 0x74]
mov edx, dword [esp + 0x14c]
mov edx, dword [edx + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov byte [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.005d0ec0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
jmp 0x5db27b
nop
call fcn.0042fd30
add esp, 0x148
ret
mov eax, dword [esp + 0x138]
test byte [eax], al
lea ecx, [eax + 0x30]
mov dword [esp + 0x13c], ecx
mov dword [esp], ecx
call fcn.0046e320
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov ecx, dword [esp + 0x128]
mov dword [esp + 4], ecx
call fcn.005dc060
mov eax, dword [esp + 8]
mov dword [esp + 0x124], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x160], ebx
mov dword [esp + 0x164], ebp
mov ebx, dword [esp + 0x13c]
mov dword [esp], ebx
call fcn.0046e6e0
mov eax, dword [esp + 0x160]
test eax, eax
jne 0x5db3d2
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x124]
jmp 0x5db175
mov eax, dword [esp + 0x14c]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x138]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
mov ecx, dword [esp + 0x160]
mov ebx, dword [esp + 0x164]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.005dff40
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x138]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov byte [esp + 8], 1
call fcn.005dc600
nop
call fcn.0042fd30
add esp, 0x148
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
nop
call fcn.0042fd30
add esp, 0x148
ret
mov esi, dword [ebx + 0x30]
test esi, esi
xchg edi, ebx
setne bl
xchg edi, ebx
mov ecx, ebx
mov ebx, dword [ebx + 0x2c]
test ebx, ebx
mov edx, eax
setne al
or edi, eax
xchg edi, eax
test al, al
xchg edi, eax
je 0x5db48c
mov eax, edx
mov edx, ebx
mov ebx, ecx
mov ecx, esi
jmp 0x5daaf2
mov eax, edx
mov ebx, ecx
mov ecx, 0xffffffff
mov edx, 0xffffffff
jmp 0x5daaf2
nop
call fcn.0042fd30
add esp, 0x148
ret
nop
call fcn.0042fd30
add esp, 0x148
ret
mov eax, ecx
mov ecx, ebx
call fcn.0045adc0
call fcn.0045ada0
mov ecx, edi
mov edx, ebx
call fcn.0045ada0
mov ecx, edx
call fcn.0045adc0
mov ecx, ebp
mov edx, eax
call fcn.0045ada0
nop
call fcn.00459790
jmp fcn.005da9a0