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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4aad03
sub esp, 0x6c
lea eax, [0x659160]
mov dword [esp], eax
mov dword [esp + 4], 1
mov ecx, dword [esp + 0x74]
lea edx, [ecx + 2]
mov dword [esp + 0x38], edx
mov dword [esp + 8], edx
call fcn.004483a0
mov eax, dword [esp + 0xc]
mov byte [eax], 0x22
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x38]
xor ebp, ebp
mov esi, 1
jmp 0x4aa902
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x48]
mov esi, ecx
mov ebx, eax
mov eax, edx
mov ecx, edi
mov edx, dword [esp + 0x74]
mov dword [esp + 0x34], esi
cmp edx, ebp
jle 0x4aab17
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x38], ebx
mov dword [esp + 0x5c], eax
movzx edi, byte [ecx + ebp]
lea ebx, [ecx + ebp]
cmp edi, 0x80
jge 0x4aa92e
lea esi, [ebp + 1]
jmp 0x4aa95e
mov dword [esp + 0x68], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00459520
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x48], esi
lea esi, [edi - 0x20]
cmp esi, 0x60
jb 0x4aa9fa
cmp edi, 0xfffd
jne 0x4aa9ae
lea esi, [ebp + 2]
cmp edx, esi
jle 0x4aa9a7
lea esi, [ebp + 3]
cmp edx, esi
jb 0x4aacfb
cmp ebp, esi
ja 0x4aacf2
cmp word [ebx], 0xbfef
jne 0x4aa9a7
lea ebx, [ecx + ebp + 2]
cmp byte [ebx], 0xbd
jne 0x4aa9a7
mov ebx, 3
jmp 0x4aa9db
mov ebx, 1
jmp 0x4aa9db
lea eax, [esp + 0x50]
mov dword [esp], eax
mov eax, edi
sar edi, 0x1f
mov dword [esp + 8], edi
mov dword [esp + 4], eax
call fcn.0044c0e0
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x24], ebx
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x54]
jmp 0x4aab95
cmp edi, 0x22
je 0x4aaa04
cmp edi, 0x5c
jne 0x4aaa5c
mov ebx, dword [esp + 0x34]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x38]
cmp esi, ebp
jae 0x4aaa56
mov dword [esp + 0x30], edi
lea ecx, [0x659160]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00448460
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x30]
mov esi, ebx
mov ebx, dword [esp + 0x34]
mov byte [eax + ebx], 0x5c
jmp 0x4aaa64
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x64], eax
mov dword [esp + 0x38], esi
lea ecx, [esp + 0x4c]
mov dword [esp], ecx
mov ecx, edi
sar edi, 0x1f
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
call fcn.0044c0e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
lea edx, [eax + ecx]
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x38]
cmp ebp, edx
jb 0x4aaaaa
mov esi, dword [esp + 0x64]
jmp 0x4aaaec
mov dword [esp + 0x40], eax
mov dword [esp + 0x60], ebx
lea eax, [0x659160]
mov dword [esp], eax
mov ebx, dword [esp + 0x64]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00448460
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x60]
mov ebp, esi
mov esi, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x64], esi
mov dword [esp + 0x38], ebp
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.004600e0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x64]
jmp 0x4aa8ea
lea ecx, [esi + 1]
cmp ebx, ecx
jae 0x4aab49
lea edx, [0x659160]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00448460
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
inc ecx
mov esi, dword [esp + 0x34]
mov byte [eax + esi], 0x22
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044bc00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x6c
ret
xchg edi, ebx
mov byte [eax + ebp], bl
xchg edi, ebx
mov ebp, dword [esp + 0x28]
inc ebp
mov edi, dword [esp + 0x24]
mov dword [esp + 0x28], ebp
mov edi, esi
mov ebp, dword [esp + 0x2c]
mov esi, ebx
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
cmp ebx, ebp
jle 0x4aacde
mov dword [esp + 0x3c], esi
lea ebx, [esi + 2]
mov dword [esp + 0x34], ebx
cmp edi, ebx
jae 0x4aabea
lea ecx, [0x659160]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
call fcn.00448460
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
mov word [eax + esi], 0x785c
mov ebx, dword [esp + 0x2c]
add ebx, ebp
cmp edx, ebx
jbe 0x4aace9
mov dword [esp + 0x44], ebx
lea ebp, [esi + 3]
movzx ebx, byte [ecx + ebx]
shr bl, 4
movzx ebx, bl
lea esi, [0x690234]
movzx ebx, byte [ebx + esi]
cmp edi, ebp
jae 0x4aac65
mov byte [esp + 0x23], bl
lea ecx, [0x659160]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00448460
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
movzx ebx, byte [esp + 0x23]
lea esi, [0x690234]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x3c]
mov byte [edi + eax + 2], bl
lea ebx, [ebp + 1]
mov edi, dword [esp + 0x44]
movzx edi, byte [ecx + edi]
and edi, 0xf
movzx edi, byte [edi + esi]
mov esi, dword [esp + 0x38]
cmp esi, ebx
jae 0x4aab75
mov dword [esp + 0x34], ebp
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
lea ecx, [0x659160]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00448460
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x34]
mov esi, edi
movzx edi, byte [esp + 0x23]
jmp 0x4aab75
mov ecx, esi
mov edx, eax
mov eax, edi
jmp 0x4aa8ea
mov eax, ebx
mov ecx, edx
call fcn.0045f7d0
mov eax, ebp
mov ecx, esi
call fcn.0045f830
mov ecx, esi
call fcn.0045f7f0
nop
call fcn.0045e340
jmp fcn.004aa890