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

Disassembly:
mov ecx, dword [0x7da588]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x60]
cmp eax, dword [ecx + 8]
jbe 0x5a0ff3
sub esp, 0xe0
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x84]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x88]
mov dword [esp + 0x24], edx
mov ebx, dword [eax + 0x8c]
mov dword [esp + 0x20], ebx
mov dword [esp], eax
call fcn.0059c5c0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xc], ebx
lea ebp, [esp + 0x38]
mov dword [esp + 0x10], ebp
call fcn.005a1000
movzx eax, byte [esp + 0x14]
test al, al
je 0x5a0b0a
mov eax, dword [esp + 0x3c]
cmp eax, 4
je 0x5a074c
xor eax, eax
jmp 0x5a076b
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
lea ecx, [0x60a04b]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004030b0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5a0998
mov eax, dword [esp + 0x3c]
cmp eax, 3
jne 0x5a0903
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
lea ecx, [0x609e5b]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004030b0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5a0903
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xc], ebx
lea ebp, [esp + 0x44]
mov dword [esp + 0x10], ebp
lea ebp, [esp + 0x2c]
mov dword [esp + 0x14], ebp
call fcn.005a16c0
movzx eax, byte [esp + 0x18]
test al, al
je 0x5a08f4
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx + 0x8c]
mov ebx, dword [ecx + 0x84]
mov ebp, dword [ecx + 0x88]
lea edi, [esp + 0x50]
lea esi, [0x659868]
call fcn.0046c4ec
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x54], ecx
mov eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x58], ecx
mov esi, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebp
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebp
mov edi, dword [esp + 0xe8]
test byte [edi], al
mov edx, dword [0x7da640]
test edx, edx
je 0x5a08e4
lea eax, [0x5fb200]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
call fcn.00412350
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0xe8]
mov edx, esi
lea esi, [esp + 0x50]
call fcn.0046c4ec
jmp 0x5a0ab4
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
nop
mov eax, dword [esp + 0xe4]
mov dword [eax], 3
mov dword [eax + 0x24], 0x1a
mov ecx, dword [0x7da640]
test ecx, ecx
je 0x5a092c
mov ecx, dword [eax + 0x20]
call fcn.0046be70
mov dword [edi], ecx
lea ecx, [0x61265a]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x1c
mov ecx, dword [0x7da640]
test ecx, ecx
je 0x5a0965
mov ecx, dword [eax + 4]
call fcn.0046be70
mov dword [edi], ecx
lea ecx, [0x6134f4]
mov dword [eax + 4], ecx
mov ecx, dword [eax + 0x84]
mov edx, dword [eax + 0x88]
mov ebx, dword [eax + 0x8c]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], ebx
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1d], 0
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xc], ebx
lea ebp, [esp + 0x1e]
mov dword [esp + 0x10], ebp
lea ebp, [esp + 0x1d]
mov dword [esp + 0x14], ebp
call fcn.005a12c0
movzx eax, byte [esp + 0x18]
test al, al
je 0x5a0afb
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx + 0x8c]
mov ebx, dword [ecx + 0x84]
mov ebp, dword [ecx + 0x88]
lea edi, [esp + 0x98]
lea esi, [0x659820]
call fcn.0046c4ec
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x9c], ecx
mov eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xa0], ecx
mov esi, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebp
mov dword [esp + 0xb0], edx
movzx edx, byte [esp + 0x1e]
mov byte [esp + 0xdd], dl
movzx edx, byte [esp + 0x1d]
mov byte [esp + 0xde], dl
mov edi, dword [esp + 0xe8]
test byte [edi], al
mov edx, dword [0x7da640]
test edx, edx
je 0x5a0aa6
lea eax, [0x5fb200]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x98]
mov dword [esp + 8], eax
call fcn.00412350
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0xe8]
mov edx, esi
lea esi, [esp + 0x98]
call fcn.0046c4ec
mov ebx, dword [esp + 0xe4]
mov ebp, dword [ebx + 0x64]
test ebp, ebp
jg 0x5a0b28
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a0aec
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0xe4]
jmp 0x5a0b28
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0xe4]
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ecx, ebp
jbe 0x5a0feb
mov esi, dword [ebx + 0x54]
movzx ebp, byte [esi + ebp]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x5a0b4b
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jne 0x5a0b92
mov dword [esp], ebx
call fcn.0059c5c0
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x64]
test ecx, ecx
jg 0x5a0b19
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a0b83
mov eax, dword [esp + 0xe4]
jmp 0x5a0b19
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
xchg ebp, eax
cmp al, 0x23
xchg ebp, eax
je 0x5a0e63
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ecx, ebp
jbe 0x5a0e4d
mov esi, dword [ebx + 0x54]
movzx edi, byte [esi + ebp]
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x5a0ca3
xchg edi, eax
cmp al, 0xa
xchg edi, eax
jne 0x5a0bce
xchg edi, eax
cmp al, 0xd
xchg edi, eax
jmp 0x5a0ca3
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x5a0bf7
lea edx, [ebp + 1]
cmp ecx, edx
jbe 0x5a0e46
lea edx, [esi + ebp + 1]
cmp byte [edx], 0x85
jne 0x5a0bf3
xchg edi, eax
cmp al, 0xd
xchg edi, eax
jmp 0x5a0ca3
mov edx, dword [esp + 0x24]
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x5a0c94
lea edx, [ebp + 1]
cmp ecx, edx
jbe 0x5a0e3f
lea eax, [esi + ebp + 1]
movzx eax, byte [eax]
cmp al, 0x80
jne 0x5a0c49
lea ebx, [ebp + 2]
cmp ecx, ebx
jbe 0x5a0e38
lea ebx, [esi + ebp + 2]
cmp byte [ebx], 0xa8
jne 0x5a0c3b
xchg edi, eax
cmp al, 0xd
xchg edi, eax
mov ebx, dword [esp + 0xe4]
jmp 0x5a0ca3
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
mov ebx, dword [esp + 0xe4]
jmp 0x5a0c4e
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x5a0c8c
cmp ecx, edx
jbe 0x5a0e31
cmp al, 0x80
jne 0x5a0c82
lea eax, [ebp + 2]
cmp ecx, eax
jbe 0x5a0e2c
lea edx, [esi + ebp + 2]
cmp byte [edx], 0xa9
jne 0x5a0c78
xchg edi, eax
cmp al, 0xd
xchg edi, eax
jmp 0x5a0ca3
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
jmp 0x5a0c94
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
jmp 0x5a0c94
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x5a0d8b
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x5a0d3d
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x5a0d3d
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x5a0ccf
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x5a0e27
lea edx, [esi + ebp + 1]
cmp byte [edx], 0x85
je 0x5a0d3d
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x5a0d7c
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x5a0e22
lea edx, [esi + ebp + 1]
movzx edx, byte [edx]
cmp dl, 0x80
jne 0x5a0d15
mov byte [esp + 0x1f], dl
lea edx, [ebp + 2]
cmp ecx, edx
jbe 0x5a0e1b
lea edx, [esi + ebp + 2]
cmp byte [edx], 0xa8
je 0x5a0d3d
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
movzx edx, byte [esp + 0x1f]
jmp 0x5a0d1a
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x5a0d7c
cmp ecx, eax
jbe 0x5a0e16
cmp dl, 0x80
jne 0x5a0d7c
lea eax, [ebp + 2]
cmp ecx, eax
jbe 0x5a0e11
lea eax, [esi + ebp + 2]
cmp byte [eax], 0xa9
jne 0x5a0d7c
cmp dword [ebx + 0x64], 2
jge 0x5a0d63
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a0d6d
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
call fcn.0059c680
jmp 0x5a0d7c
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
mov byte [esp + 0xec], 1
add esp, 0xe0
ret
nop
mov dword [ebx], 3
mov dword [ebx + 0x24], 0x1a
mov ecx, dword [0x7da640]
test ecx, ecx
je 0x5a0dad
mov ecx, dword [ebx + 0x20]
call fcn.0046be70
mov dword [edi], ecx
lea ecx, [0x61265a]
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], edx
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x30], eax
mov dword [ebx + 8], 0x2b
mov eax, dword [0x7da640]
test eax, eax
je 0x5a0dde
mov eax, dword [ebx + 4]
call fcn.0046be70
mov dword [edi], eax
lea eax, [0x6184e7]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x88]
mov ecx, dword [ebx + 0x8c]
mov edx, dword [ebx + 0x84]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
call fcn.0046bef0
call fcn.0046bef0
mov eax, edx
call fcn.0046bef0
call fcn.0046bef0
call fcn.0046bef0
call fcn.0046bef0
mov eax, edx
call fcn.0046bef0
mov eax, ebx
call fcn.0046bef0
mov eax, edx
call fcn.0046bef0
mov eax, edx
call fcn.0046bef0
mov eax, ebp
call fcn.0046bef0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0xe4]
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ecx, ebp
jbe 0x5a0fe4
mov esi, dword [ebx + 0x54]
movzx edi, byte [esi + ebp]
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x5a0b9d
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x5a0b9d
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x5a0eb1
lea edx, [ebp + 1]
cmp ecx, edx
jbe 0x5a0fdd
lea edx, [esi + ebp + 1]
cmp byte [edx], 0x85
je 0x5a0f8a
mov edx, dword [esp + 0x24]
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x5a0f41
lea edx, [ebp + 1]
cmp ecx, edx
jbe 0x5a0fd6
lea eax, [esi + ebp + 1]
movzx eax, byte [eax]
cmp al, 0x80
jne 0x5a0ef9
lea ebx, [ebp + 2]
cmp ecx, ebx
jbe 0x5a0fcf
lea ebx, [esi + ebp + 2]
cmp byte [ebx], 0xa8
je 0x5a0f93
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
mov ebx, dword [esp + 0xe4]
jmp 0x5a0efe
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x5a0f39
cmp ecx, edx
jbe 0x5a0fc8
cmp al, 0x80
jne 0x5a0f2f
lea eax, [ebp + 2]
cmp ecx, eax
jbe 0x5a0fc3
lea edx, [esi + ebp + 2]
cmp byte [edx], 0xa9
je 0x5a0fa7
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
jmp 0x5a0f41
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
jmp 0x5a0f41
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
xchg edi, eax
test al, al
xchg edi, eax
je 0x5a0b9d
mov dword [esp], ebx
call fcn.0059c5c0
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x64]
test ecx, ecx
jg 0x5a0e54
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a0fb4
mov eax, dword [esp + 0xe4]
jmp 0x5a0e54
mov edx, dword [esp + 0x24]
jmp 0x5a0b9d
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0xe4]
jmp 0x5a0b9d
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
jmp 0x5a0b9d
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
call fcn.0046bef0
mov eax, edx
call fcn.0046bef0
mov eax, ebx
call fcn.0046bef0
mov eax, edx
call fcn.0046bef0
mov eax, edx
call fcn.0046bef0
mov eax, ebp
call fcn.0046bef0
mov eax, ebp
call fcn.0046bef0
nop
call fcn.0046aa70
jmp fcn.005a06a0