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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x659e753c
sub esp, 0x74
nop
mov dword [esp + 0x3a], 0x89469e55
lea edi, [esp + 0x3c]
lea esi, [0x65a14557]
call fcn.659cb2b8
movzx eax, byte [esp + 0x40]
mov byte [esp + 0x33], al
movzx ecx, byte [esp + 0x3f]
mov byte [esp + 0x32], cl
movzx edx, byte [esp + 0x3e]
mov byte [esp + 0x31], dl
movzx ebx, byte [esp + 0x44]
mov byte [esp + 0x30], bl
movzx ebp, byte [esp + 0x4a]
xchg ebp, eax
mov byte [esp + 0x2f], al
xchg ebp, eax
movzx ebp, byte [esp + 0x41]
xchg ebp, eax
mov byte [esp + 0x2e], al
xchg ebp, eax
movzx ebp, byte [esp + 0x3b]
xchg ebp, eax
mov byte [esp + 0x2d], al
xchg ebp, eax
movzx ebp, byte [esp + 0x43]
xchg ebp, eax
mov byte [esp + 0x2c], al
xchg ebp, eax
movzx ebp, byte [esp + 0x46]
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
movzx ebp, byte [esp + 0x3c]
xchg ebp, eax
mov byte [esp + 0x2a], al
xchg ebp, eax
movzx ebp, byte [esp + 0x42]
xchg ebp, eax
mov byte [esp + 0x29], al
xchg ebp, eax
movzx ebp, byte [esp + 0x45]
xchg ebp, eax
mov byte [esp + 0x28], al
xchg ebp, eax
movzx ebp, byte [esp + 0x4b]
xchg ebp, eax
mov byte [esp + 0x27], al
xchg ebp, eax
movzx ebp, byte [esp + 0x3d]
xchg ebp, eax
mov byte [esp + 0x26], al
xchg ebp, eax
movzx ebp, byte [esp + 0x49]
xchg ebp, eax
mov byte [esp + 0x25], al
xchg ebp, eax
movzx ebp, byte [esp + 0x48]
xchg ebp, eax
mov byte [esp + 0x24], al
xchg ebp, eax
movzx ebp, byte [esp + 0x3a]
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
movzx ebp, byte [esp + 0x47]
xchg ebp, eax
mov byte [esp + 0x22], al
xchg ebp, eax
lea ebp, [0x65a0b040]
mov dword [esp], ebp
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 9
call fcn.659ba350
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
movzx edx, byte [esp + 0x33]
movzx ebx, byte [esp + 0x32]
add edx, ebx
mov byte [eax], dl
movzx edx, byte [esp + 0x31]
movzx ebx, byte [esp + 0x30]
add edx, ebx
mov byte [eax + 1], dl
movzx edx, byte [esp + 0x2e]
movzx ebx, byte [esp + 0x2f]
xor edx, ebx
mov byte [eax + 2], dl
movzx edx, byte [esp + 0x2d]
movzx ebx, byte [esp + 0x2c]
sub edx, ebx
mov byte [eax + 3], dl
movzx edx, byte [esp + 0x2b]
movzx ebx, byte [esp + 0x2a]
add edx, ebx
mov byte [eax + 4], dl
movzx edx, byte [esp + 0x29]
movzx ebx, byte [esp + 0x28]
sub edx, ebx
mov byte [eax + 5], dl
movzx edx, byte [esp + 0x26]
movzx ebx, byte [esp + 0x27]
xor edx, ebx
mov byte [eax + 6], dl
movzx edx, byte [esp + 0x25]
movzx ebx, byte [esp + 0x24]
add edx, ebx
mov byte [eax + 7], dl
movzx edx, byte [esp + 0x22]
movzx ebx, byte [esp + 0x23]
xor edx, ebx
mov byte [eax + 8], dl
lea edx, [esp + 0x4c]
mov dword [esp], edx
mov dword [esp + 4], eax
lea eax, [ecx + 9]
mov dword [esp + 8], eax
call fcn.659bcc20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], ecx
lea edx, [0x65a0b040]
mov dword [esp], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.659ba290
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x78]
xor esi, esi
jmp 0x659e74e6
mov edi, dword [esp + 0x70]
mov byte [edi + esi], dl
inc esi
mov edx, ebx
mov ebx, eax
mov eax, edi
cmp ecx, esi
jle 0x659e750d
movzx edi, byte [esi + ebp]
test ebx, ebx
je 0x659e7536
mov eax, esi
cdq
idiv ebx
cmp ebx, edx
jbe 0x659e752d
mov eax, ebx
mov ebx, dword [esp + 0x6c]
movzx edx, byte [edx + ebx]
xor edx, edi
cmp ecx, esi
ja 0x659e74d8
jmp 0x659e7526
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ecx
add esp, 0x74
ret
mov eax, esi
call fcn.659cac90
mov eax, edx
mov ecx, ebx
call fcn.659cac90
call fcn.659a92a0
nop
call fcn.659c97c0
jmp fcn.659e72d0