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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x10]
cmp eax, dword [ecx + 8]
jbe 0x5abd3c
sub esp, 0x90
mov eax, 0
lea edi, [esp + 0x7c]
call fcn.0045e0ab
mov byte [esp + 0x23], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea eax, [0x5ea6e0]
mov dword [esp], eax
call fcn.0040b8d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x98]
mov dword [eax], ecx
mov ecx, dword [0x7a0970]
lea edi, [eax + 4]
test ecx, ecx
jne 0x5abcea
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], edi
mov edx, dword [0x782b28]
test edx, edx
jne 0x5abcc6
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x3c], edx
lea ebx, [0x5f9820]
mov dword [esp], ebx
call fcn.0040b8d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
mov dword [eax], ebx
mov ebx, dword [0x7a0970]
test ebx, ebx
jne 0x5abcb3
mov dword [eax + 4], edx
lea edx, [0x6603d4]
mov dword [ecx], edx
mov edx, dword [0x7a0970]
test edx, edx
jne 0x5abca5
mov dword [ecx + 4], eax
mov eax, dword [ecx]
test byte [eax], al
add eax, 0x18
mov edx, dword [ecx + 4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], edx
mov byte [esp + 0x23], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
lea eax, [0x5b4cb0]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x68], eax
test byte [eax], al
lea edx, [eax + 0x54]
mov dword [esp], edx
lea edx, [esp + 0x64]
mov dword [esp + 4], edx
call fcn.00470ce0
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 0x60]
mov edx, dword [eax + 0x64]
test ecx, ecx
jne 0x5abc76
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.005abd50
movzx eax, byte [esp + 0xc]
test al, al
je 0x5abc3b
lea eax, [0x627018]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x7c], ecx
mov byte [esp + 0x22], 0
mov byte [esp + 0x23], 3
nop
mov edx, dword [eax + 0x44]
mov ebx, dword [0x78297c]
test edx, edx
jne 0x5abc08
lea edx, [0x6606ac]
mov ecx, dword [0x77cf1c]
mov dword [esp], edx
mov dword [esp + 4], ebx
lea edx, [0x5dfcc0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
lea ecx, [0x609040]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004b96c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x30], edx
xor ebx, ebx
xor ebp, ebp
jmp 0x5ab85c
mov ebx, ecx
mov ebp, eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebp
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ecx, dword [ecx + 0x10]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 8]
mov esi, dword [esp + 4]
test eax, eax
jne 0x5ab9b9
mov dword [esp + 0x38], ebp
mov dword [esp + 0x54], esi
mov eax, dword [esp + 0x94]
mov edx, dword [eax + 0x48]
test edx, edx
jne 0x5ab985
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x48], edx
nop
lea eax, [0x603d00]
mov dword [esp], eax
call fcn.0040b8d0
mov edi, dword [esp + 4]
mov eax, dword [0x7a0970]
test eax, eax
jne 0x5ab972
mov ecx, dword [esp + 0x94]
mov dword [edi], ecx
mov edx, dword [esp + 0x54]
mov dword [edi + 8], edx
mov edx, dword [0x7a0970]
test edx, edx
jne 0x5ab95c
mov eax, dword [esp + 0x38]
mov dword [edi + 0xc], eax
mov dword [esp + 0x4c], edi
mov ecx, dword [edi + 8]
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov byte [esp + 0x10], 1
call fcn.005a7820
mov dword [esp], 0xc
lea eax, [0x627024]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
call fcn.0043c0d0
xor eax, eax
xor ecx, ecx
jmp 0x5ab858
lea edx, [edi + 0xc]
mov eax, edi
mov edi, edx
mov ebx, eax
mov eax, dword [esp + 0x38]
call fcn.0045de10
mov edi, ebx
jmp 0x5ab901
mov eax, dword [esp + 0x94]
call fcn.0045de10
mov ecx, eax
jmp 0x5ab8e9
mov eax, dword [edx]
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
mov ebx, dword [esp + 0x44]
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x5abcff
mov edx, ecx
mov ecx, eax
jmp 0x5ab8b7
mov dword [esp + 0x50], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.005aafd0
mov dword [esp], 0
call fcn.00405b90
movzx eax, byte [esp + 8]
test al, al
jne 0x5abba8
lea eax, [0x5ea560]
mov dword [esp], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
call fcn.00409450
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test al, al
jne 0x5abb96
xor eax, eax
test al, al
je 0x5abb3a
mov eax, dword [esp + 0x24]
test eax, eax
sete cl
mov edx, dword [esp + 0x28]
test edx, edx
sete bl
and ebx, ecx
test bl, bl
je 0x5abb2a
xor eax, eax
mov ecx, 0x4c4b40
test eax, eax
setg dl
cmp ecx, 0x3b9aca00
seta bl
test eax, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebx, ebp
or edx, ebx
test dl, dl
je 0x5aba73
xor eax, eax
mov ecx, 0x3b9aca00
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov edx, dword [esp + 0x50]
test edx, edx
je 0x5aba9e
mov edx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x70], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00409080
mov eax, dword [esp + 8]
lea ecx, [0x6004e0]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x94]
mov dword [esp], eax
lea edx, [0x61ae3d]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x26
lea ebx, [esp + 0x6c]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 2
call fcn.005ac010
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
call fcn.0045c000
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
jmp 0x5ab858
shl edx, 1
mov ecx, eax
shr eax, 0x1f
or eax, edx
shl ecx, 1
jmp 0x5aba4d
mov eax, dword [esp + 0x54]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xa4], eax
mov byte [esp + 0x23], 1
movzx eax, byte [esp + 0x22]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov byte [esp + 8], al
call fcn.005abd50
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0x8c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x88]
mov dword [esp], ecx
call eax
add esp, 0x90
ret
mov eax, dword [ecx + 0x14]
mov dword [esp], edx
call eax
movzx eax, byte [esp + 4]
jmp 0x5aba22
mov eax, dword [0x7831d8]
mov ecx, dword [0x7831dc]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
mov byte [esp + 0x23], 1
movzx eax, byte [esp + 0x22]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov byte [esp + 8], al
call fcn.005abd50
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0x8c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x88]
mov dword [esp], ecx
call eax
add esp, 0x90
ret
mov eax, dword [edx]
mov ecx, dword [esp + 0x2c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x5abd17
mov edx, eax
mov ebx, ecx
mov eax, dword [esp + 0x94]
jmp 0x5ab80c
mov eax, dword [0x7831d8]
mov ecx, dword [0x7831dc]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0x8c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x88]
mov dword [esp], ecx
call eax
add esp, 0x90
ret
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], edx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0x8c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x88]
mov dword [esp], ecx
call eax
add esp, 0x90
ret
mov edi, dword [esp + 0x5c]
call fcn.0045de10
jmp 0x5ab739
lea edi, [eax + 4]
mov ebx, eax
mov eax, edx
call fcn.0045de10
mov eax, ebx
jmp 0x5ab720
mov ecx, dword [edx]
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
mov esi, dword [esp + 0x94]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call ecx
mov eax, dword [esp + 0x60]
jmp 0x5ab6e5
mov ecx, eax
mov eax, dword [esp + 0x9c]
call fcn.0045de10
mov eax, ecx
jmp 0x5ab6cf
lea eax, [0x5db180]
mov dword [esp], eax
lea eax, [0x65bf50]
mov dword [esp + 4], eax
call fcn.00431a30
lea eax, [0x5db180]
mov dword [esp], eax
lea eax, [0x65bf48]
mov dword [esp + 4], eax
call fcn.00431a30
nop
call fcn.00430cc0
add esp, 0x90
ret
call fcn.0045c8b0
jmp fcn.005ab650