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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c]
cmp eax, dword [ecx + 8]
jbe 0x5dfcae
sub esp, 0xac
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 0x78]
mov edx, dword [eax + 0x7c]
test ecx, ecx
jne 0x5df74e
nop
mov edx, dword [0x824f1c]
lea ecx, [0x6d0350]
mov ebx, dword [eax + 0x20]
test ebx, ebx
je 0x5df78e
je 0x5df762
lea ebp, [0x64aee0]
cmp dword [ebx + 4], ebp
je 0x5df78e
mov ebx, dword [eax + 0x30]
test ebx, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov esi, dword [eax + 0x2c]
test esi, esi
xchg edi, ebx
setne bl
xchg edi, ebx
or ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5df792
mov ebx, 0xffffffff
mov esi, 0xffffffff
jmp 0x5df792
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x24], ecx
mov eax, dword [ecx + 0x1c]
mov dword [esp], edx
lea ebp, [0x6371a0]
mov dword [esp + 4], ebp
lea ebp, [0x84d230]
mov dword [esp + 8], ebp
call eax
mov eax, dword [esp + 0x10]
lea ecx, [0x63f280]
cmp dword [esp + 0xc], ecx
je 0x5df7d0
xor eax, eax
mov dword [esp + 0x40], eax
lea ecx, [0x62e780]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404540
mov eax, dword [esp + 8]
mov dword [esp + 0x64], eax
lea ecx, [0x62e780]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404540
mov eax, dword [esp + 8]
mov dword [esp + 0x60], eax
lea ecx, [0x62e780]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404540
mov eax, dword [esp + 8]
mov dword [esp + 0x5c], eax
lea ecx, [0x62e780]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404540
mov eax, dword [esp + 8]
mov dword [esp + 0x58], eax
lea ecx, [0x65c7a0]
mov dword [esp], ecx
call fcn.0040b470
mov edi, dword [esp + 4]
mov eax, dword [0x84d450]
test eax, eax
jne 0x5df873
mov ecx, dword [esp + 0xb0]
mov dword [edi], ecx
jmp 0x5df881
mov eax, dword [esp + 0xb0]
call fcn.0045f3a0
mov ecx, eax
mov edx, dword [esp + 0x24]
mov dword [edi + 4], edx
mov ebx, dword [0x84d450]
test ebx, ebx
jne 0x5df89b
mov ebx, dword [esp + 0x3c]
mov dword [edi + 8], ebx
jmp 0x5df8af
lea ebx, [edi + 8]
mov eax, dword [esp + 0x3c]
mov ebp, edi
mov edi, ebx
call fcn.0045f3a0
mov ebx, eax
mov edi, ebp
mov dword [esp + 0x48], edi
mov ebp, dword [0x84d450]
mov esi, dword [esp + 0xb4]
mov eax, dword [esi + 0x70]
test ebp, ebp
jne 0x5df8cc
mov dword [edi + 0xc], eax
jmp 0x5df8da
lea ebp, [edi + 0xc]
mov edi, ebp
call fcn.0045f3a0
mov edi, dword [esp + 0x48]
mov ebp, dword [esi]
cmp dword [esi + 4], 4
jne 0x5df8f2
cmp dword [ebp], 0x44414548
xchg ebp, ebx
sete bl
xchg ebp, ebx
jmp 0x5df8f4
xor ebp, ebp
xchg ebp, eax
mov byte [edi + 0x65], al
xchg ebp, eax
mov eax, dword [esi + 0x24]
mov ebp, dword [esi + 0x20]
mov dword [edi + 0xb4], ebp
mov ebp, dword [0x84d450]
test ebp, ebp
jne 0x5df917
mov dword [edi + 0xb8], eax
jmp 0x5df928
lea ebp, [edi + 0xb8]
mov edi, ebp
call fcn.0045f3a0
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x20]
mov dword [edi + 0xbc], ebp
mov ebp, dword [esp + 0x28]
mov dword [edi + 0xc0], ebp
mov ebp, dword [0x84d450]
test ebp, ebp
jne 0x5df974
mov eax, dword [esp + 0x40]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [edi + 0x80], eax
mov eax, dword [esp + 0x60]
mov dword [edi + 0x74], eax
mov eax, dword [esp + 0x5c]
mov dword [edi + 0x8c], eax
mov eax, dword [esp + 0x58]
mov dword [edi + 0x84], eax
jmp 0x5df9bf
lea ebp, [edi + 0x10]
mov eax, dword [esp + 0x40]
mov edi, ebp
call fcn.0045f3a0
mov ebp, dword [esp + 0x48]
lea edi, [ebp + 0x80]
mov eax, dword [esp + 0x64]
call fcn.0045f3a0
lea edi, [ebp + 0x74]
mov eax, dword [esp + 0x60]
call fcn.0045f3a0
lea edi, [ebp + 0x8c]
mov eax, dword [esp + 0x5c]
call fcn.0045f3a0
lea edi, [ebp + 0x84]
mov eax, dword [esp + 0x58]
call fcn.0045f3a0
lea eax, [0x640780]
mov dword [esp], eax
call fcn.0040b470
mov eax, dword [esp + 4]
lea ecx, [0x5dff50]
mov dword [eax], ecx
mov ecx, dword [0x84d450]
test ecx, ecx
jne 0x5df9f6
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0xb4]
mov dword [eax + 8], edx
jmp 0x5dfa15
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x48]
call fcn.0045f3a0
lea edi, [ecx + 8]
mov eax, dword [esp + 0xb4]
call fcn.0045f3a0
mov eax, ecx
mov dword [esp], eax
call fcn.0043f4c0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
lea eax, [0x5dfe40]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x74], edx
lea edi, [esp + 0x78]
mov ebx, eax
xor eax, eax
call fcn.0045f63b
lea ecx, [0x5dfcc0]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ebx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0x88], ecx
mov ebp, dword [ebx + 0x8c]
mov dword [esp + 0x54], ebp
mov esi, dword [ebx + 0x74]
mov dword [esp + 0x50], esi
mov edi, dword [esp + 0x24]
mov ecx, dword [edi + 0x14]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + 0xc]
lea edi, [esp + 0x8c]
mov ebx, eax
xor eax, eax
call fcn.0045f638
mov eax, dword [esp + 0x54]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x94], ebx
mov dword [esp + 0x8c], edx
lea eax, [esp + 0x8c]
mov dword [esp], eax
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 4
mov byte [esp + 0x14], 1
call fcn.004451f0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x5dfc61
cmp eax, 1
je 0x5dfc0d
cmp eax, 2
je 0x5dfb85
cmp eax, 3
jne 0x5dfcad
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x78]
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov ebx, dword [esp]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xac
ret
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x8c]
mov dword [esp], 0
mov dword [esp + 4], ecx
call fcn.00405980
movzx eax, byte [esp + 8]
test al, al
je 0x5dfbd9
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x78]
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov ebx, dword [esp]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xac
ret
mov eax, dword [esp + 0x68]
lea edx, [esp + 0x68]
call eax
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add esp, 0xac
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x48]
mov dword [esp], edx
call fcn.005dbf30
mov dword [esp + 0xb8], 0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc0], eax
add esp, 0xac
ret
mov eax, dword [0x8260a8]
mov ecx, dword [0x8260ac]
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005dbf30
mov eax, dword [0x8260a8]
mov ecx, dword [0x8260ac]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xac
ret
nop
call fcn.0045df90
jmp fcn.005df710