Function at 0x5ff530
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 0x5ffb03
sub esp, 0xac
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 0x78]
mov edx, dword [eax + 0x7c]
test ecx, ecx
jne 0x5ff56e
nop
mov edx, dword [0xa1c3bc]
lea ecx, [0x8965e8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x3c], edx
mov ebx, dword [eax + 0x20]
mov ebp, dword [eax + 0x24]
test ebx, ebx
je 0x5ff5bc
lea esi, [0x8963d8]
cmp ebx, esi
je 0x5ff58e
xor ebx, ebx
jmp 0x5ff5c1
mov dword [esp], ebx
mov dword [esp + 4], ebp
lea eax, [0xa43ac4]
mov dword [esp + 8], eax
call fcn.00403670
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
mov ebx, eax
mov eax, dword [esp + 0xb4]
jmp 0x5ff5c1
mov ebx, 1
test bl, bl
je 0x5ff5cb
xor esi, esi
xor ebx, ebx
jmp 0x5ff5f5
mov ebx, dword [eax + 0x2c]
test ebx, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov esi, dword [eax + 0x30]
test esi, esi
xchg edi, ebx
setne bl
xchg edi, ebx
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
jne 0x5ff5f5
mov esi, 0xffffffff
mov ebx, 0xffffffff
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], esi
mov eax, dword [ecx + 0x1c]
mov dword [esp], edx
lea ebp, [0x682040]
mov dword [esp + 4], ebp
lea ebp, [0xa43ac4]
mov dword [esp + 8], ebp
call eax
mov eax, dword [esp + 0x10]
lea ecx, [0x68ba20]
cmp dword [esp + 0xc], ecx
je 0x5ff62b
xor eax, eax
mov dword [esp + 0x40], eax
lea ecx, [0x677b20]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404960
mov eax, dword [esp + 8]
mov dword [esp + 0x64], eax
lea ecx, [0x677b20]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404960
mov eax, dword [esp + 8]
mov dword [esp + 0x60], eax
lea ecx, [0x677b20]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404960
mov eax, dword [esp + 8]
mov dword [esp + 0x5c], eax
lea ecx, [0x677b20]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404960
mov eax, dword [esp + 8]
mov dword [esp + 0x58], eax
lea ecx, [0x6afcc0]
mov dword [esp], ecx
call fcn.0040af90
mov edi, dword [esp + 4]
mov eax, dword [0xa43e50]
test eax, eax
jne 0x5ff6ce
mov ecx, dword [esp + 0xb0]
mov dword [edi], ecx
jmp 0x5ff6dc
mov eax, dword [esp + 0xb0]
call fcn.0045f670
mov ecx, eax
mov edx, dword [esp + 0x24]
mov dword [edi + 4], edx
mov ebx, dword [0xa43e50]
test ebx, ebx
jne 0x5ff6f6
mov ebx, dword [esp + 0x3c]
mov dword [edi + 8], ebx
jmp 0x5ff70a
lea ebx, [edi + 8]
mov eax, dword [esp + 0x3c]
mov ebp, edi
mov edi, ebx
call fcn.0045f670
mov ebx, eax
mov edi, ebp
mov dword [esp + 0x48], edi
mov ebp, dword [0xa43e50]
mov esi, dword [esp + 0xb4]
mov eax, dword [esi + 0x70]
test ebp, ebp
jne 0x5ff727
mov dword [edi + 0xc], eax
jmp 0x5ff735
lea ebp, [edi + 0xc]
mov edi, ebp
call fcn.0045f670
mov edi, dword [esp + 0x48]
mov ebp, dword [esi]
cmp dword [esi + 4], 4
jne 0x5ff74d
cmp dword [ebp], 0x44414548
xchg ebp, ebx
sete bl
xchg ebp, ebx
jmp 0x5ff74f
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 [0xa43e50]
test ebp, ebp
jne 0x5ff772
mov dword [edi + 0xb8], eax
jmp 0x5ff783
lea ebp, [edi + 0xb8]
mov edi, ebp
call fcn.0045f670
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 [0xa43e50]
test ebp, ebp
jne 0x5ff7cf
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 0x5ff81a
lea ebp, [edi + 0x10]
mov eax, dword [esp + 0x40]
mov edi, ebp
call fcn.0045f670
mov ebp, dword [esp + 0x48]
lea edi, [ebp + 0x80]
mov eax, dword [esp + 0x64]
call fcn.0045f670
lea edi, [ebp + 0x74]
mov eax, dword [esp + 0x60]
call fcn.0045f670
lea edi, [ebp + 0x8c]
mov eax, dword [esp + 0x5c]
call fcn.0045f670
lea edi, [ebp + 0x84]
mov eax, dword [esp + 0x58]
call fcn.0045f670
lea eax, [0x68d1c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
lea ecx, [0x5ffde0]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5ff851
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0xb4]
mov dword [eax + 8], edx
jmp 0x5ff870
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x48]
call fcn.0045f670
lea edi, [ecx + 8]
mov eax, dword [esp + 0xb4]
call fcn.0045f670
mov eax, ecx
mov dword [esp], eax
call fcn.0043e950
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
lea eax, [0x5ffcd0]
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.0045f76b
lea ecx, [0x5ffb10]
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.0045f768
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.004447d0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x5ffab7
cmp eax, 1
je 0x5ffa63
cmp eax, 2
jne 0x5ffa32
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x8c]
mov dword [esp], 0
mov dword [esp + 4], ecx
call fcn.00405da0
movzx eax, byte [esp + 8]
test al, al
je 0x5ff9fe
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x78]
call eax
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 8]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], ebx
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 + 0x78]
lea edx, [esp + 0x78]
call eax
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 8]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], ebx
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.005fb8e0
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 [0xa1d7c0]
mov ecx, dword [0xa1d7c4]
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005fb8e0
mov eax, dword [0xa1d7c0]
mov ecx, dword [0xa1d7c4]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xac
ret
call fcn.0045e260
jmp fcn.005ff530