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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x5acab2
sub esp, 0xb4
mov ebp, dword [esp + 0xbc]
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
xor ebx, ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
xor ebx, ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov ecx, dword [esp + 0xb8]
cmp ecx, 2
jne 0x5ac5b0
cmp eax, 0
jne 0x5ac5ab
mov ebp, dword [0x8e45a8]
mov eax, dword [0x8e45ac]
mov edx, dword [0x8e45b0]
mov dword [esp + 0xbc], ebp
mov dword [esp], ebp
mov dword [esp + 0xc0], eax
mov dword [esp + 4], eax
mov dword [esp + 0xc4], edx
mov dword [esp + 8], edx
call fcn.005a5940
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x78], eax
cmp eax, 0
jne 0x5ac4c5
mov ebx, dword [esp + 0xbc]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 8], ebx
call fcn.005a6020
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x44], ebx
mov dword [esp], 0x720c60
call fcn.0041a7b0
mov eax, dword [esp + 4]
mov ebp, 0x76028d
mov dword [eax], ebp
mov dword [eax + 4], 0x10
mov dword [esp + 0x3c], eax
mov ebp, dword [esp + 0x44]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x40]
cmp byte [0x8f7eb8], 0
jne 0x5ac4b0
mov dword [eax + 8], ebp
xor ebx, ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xdc], 0x8c2ff0
add esp, 0xb4
ret
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0041b160
mov eax, dword [esp + 0x3c]
jmp 0x5ac487
mov dword [esp], 0x72cfa0
call fcn.0041a7b0
mov edi, dword [esp + 4]
mov ecx, edi
cmp edi, 0
je 0x5ac5a4
xor eax, eax
call fcn.004637ba
mov eax, dword [esp + 0xc8]
mov dword [ecx], eax
mov esi, ecx
mov dword [esp + 0x38], ecx
add esi, 4
cmp esi, 0
je 0x5ac59d
mov eax, 4
mov ecx, 4
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xa4], ecx
mov ebp, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x98], ebx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x94], edx
cmp edx, eax
jge 0x5ac552
mov eax, edx
mov dword [esp + 0x9c], esi
mov dword [esp], esi
mov dword [esp + 0x90], ebp
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00463ec0
mov ebx, dword [esp + 0x38]
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xd4], 0x8c35d0
xor ebx, ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
add esp, 0xb4
ret
mov dword [esi], eax
jmp 0x5ac502
mov dword [edi], eax
jmp 0x5ac4e0
jmp 0x5ac3d0
cmp ecx, 0x17
jne 0x5aca1b
cmp eax, 0
je 0x5ac9ef
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov ebx, dword [0x8e45a8]
mov dword [esp + 0xc], ebx
mov ebx, dword [0x8e45ac]
mov dword [esp + 0x10], ebx
mov ebx, dword [0x8e45b0]
mov dword [esp + 0x14], ebx
call fcn.005a6a50
movzx ebx, byte [esp + 0x18]
cmp bl, 0
jne 0x5ac9ef
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x84], ecx
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0xc4]
mov dword [esp + 0x8c], ebp
xor ebx, ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
cmp eax, 4
jne 0x5ac9cd
cmp eax, 1
jbe 0x5ac9c6
mov ebx, ecx
inc ebx
movzx ebp, byte [ebx]
mov edi, ebp
cmp eax, 2
jbe 0x5ac9bf
mov ebx, ecx
add ebx, 2
movzx ebp, byte [ebx]
mov esi, ebp
cmp eax, 3
jbe 0x5ac9b8
mov ebx, ecx
add ebx, 3
movzx ebp, byte [ebx]
mov edx, ebp
cmp eax, 0
mov dword [esp + 0x88], eax
jbe 0x5ac9b1
movzx ebp, byte [ecx]
xchg ebp, eax
mov byte [esp + 0x1f], al
xchg ebp, eax
xchg edi, eax
mov byte [esp + 0x1e], al
xchg edi, eax
xchg esi, eax
mov byte [esp + 0x1d], al
xchg esi, eax
mov byte [esp + 0x1c], dl
xor ebx, ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
lea edi, [esp + 0x24]
xor eax, eax
call fcn.004637bc
lea ebx, [esp + 0x24]
cmp ebx, 0
je 0x5ac9aa
mov eax, 0x10
mov ecx, 0x10
mov dword [esp + 0x60], ebx
mov ebp, ebx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x98], ecx
mov esi, dword [0x8deae0]
mov edx, dword [0x8deae4]
mov ebx, dword [0x8deae8]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x94], eax
mov dword [esp + 0xa0], edx
cmp edx, eax
jge 0x5ac70a
mov eax, edx
mov dword [esp + 0x90], ebp
mov dword [esp], ebp
mov dword [esp + 0x9c], esi
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.00463ec0
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
movzx ebx, byte [esp + 0x1f]
mov edx, ebx
cmp ecx, 0xc
jbe 0x5ac9a3
mov ebx, eax
add ebx, 0xc
mov byte [ebx], dl
movzx ebx, byte [esp + 0x1e]
mov edx, ebx
cmp ecx, 0xd
jbe 0x5ac99c
mov ebx, eax
add ebx, 0xd
mov byte [ebx], dl
movzx ebx, byte [esp + 0x1d]
mov edx, ebx
cmp ecx, 0xe
jbe 0x5ac995
mov ebx, eax
add ebx, 0xe
mov byte [ebx], dl
movzx ebx, byte [esp + 0x1c]
mov edx, ebx
cmp ecx, 0xf
jbe 0x5ac98e
mov ebx, eax
add ebx, 0xf
mov byte [ebx], dl
mov edx, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x6c], edx
cmp edx, 0
jne 0x5ac880
mov ebx, dword [esp + 0xbc]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 8], ebx
call fcn.005a6020
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x44], ebx
mov dword [esp], 0x720c60
call fcn.0041a7b0
mov eax, dword [esp + 4]
mov ebp, 0x76029d
mov dword [eax], ebp
mov dword [eax + 4], 0x10
mov dword [esp + 0x3c], eax
mov ebp, dword [esp + 0x44]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x40]
cmp byte [0x8f7eb8], 0
jne 0x5ac86b
mov dword [eax + 8], ebp
xor ebx, ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xdc], 0x8c2ff0
add esp, 0xb4
ret
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0041b160
mov eax, dword [esp + 0x3c]
jmp 0x5ac842
mov ebx, dword [esp + 0xcc]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd0]
mov dword [esp + 4], ebx
call fcn.005a2530
mov ebx, dword [esp + 8]
mov dword [esp + 0x20], ebx
mov dword [esp], 0x730ec0
call fcn.0041a7b0
mov edi, dword [esp + 4]
mov ecx, edi
cmp edi, 0
je 0x5ac987
xor eax, eax
call fcn.004637b3
mov eax, dword [esp + 0xc8]
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
mov esi, ecx
mov dword [esp + 0x34], ecx
add esi, 8
cmp esi, 0
je 0x5ac980
mov ecx, 0x10
mov eax, 0x10
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
mov dword [esp + 0xb0], eax
mov ebp, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x98], ebx
mov dword [esp + 0xac], ecx
mov eax, ecx
mov dword [esp + 0x94], edx
cmp edx, ecx
jge 0x5ac935
mov eax, edx
mov dword [esp + 0xa8], esi
mov dword [esp], esi
mov dword [esp + 0x90], ebp
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00463ec0
mov ebx, dword [esp + 0x34]
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xd4], 0x8c35f0
xor ebx, ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
add esp, 0xb4
ret
mov dword [esi], eax
jmp 0x5ac8e6
mov dword [edi], eax
jmp 0x5ac8bd
call fcn.00435970
ud2
call fcn.00435970
ud2
call fcn.00435970
ud2
call fcn.00435970
ud2
mov dword [ebx], eax
jmp 0x5ac6be
call fcn.00435970
ud2
call fcn.00435970
ud2
call fcn.00435970
ud2
call fcn.00435970
ud2
mov dword [esp + 0x88], eax
cmp eax, 0x10
jne 0x5ac9e4
mov edx, ecx
mov ecx, eax
mov eax, ebp
jmp 0x5ac7b3
xor edx, edx
mov ecx, edx
mov eax, edx
jmp 0x5ac7b3
mov ebx, dword [0x8deac0]
mov dword [esp + 0xbc], ebx
mov ebx, dword [0x8deac4]
mov dword [esp + 0xc0], ebx
mov ebx, dword [0x8deac8]
mov dword [esp + 0xc4], ebx
jmp 0x5ac5fe
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.005a6020
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x44], ebx
mov dword [esp], 0x720c60
call fcn.0041a7b0
mov eax, dword [esp + 4]
mov ebp, 0x7635d6
mov dword [eax], ebp
mov dword [eax + 4], 0x16
mov dword [esp + 0x3c], eax
mov ebp, dword [esp + 0x44]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x40]
cmp byte [0x8f7eb8], 0
jne 0x5aca9d
mov dword [eax + 8], ebp
xor ebx, ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xdc], 0x8c2ff0
add esp, 0xb4
ret
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0041b160
mov eax, dword [esp + 0x3c]
jmp 0x5aca74
call fcn.004616d0
jmp fcn.005ac350