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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x64]
cmp eax, dword [ecx + 8]
jbe 0x4ac243
sub esp, 0xe4
mov edi, esp
lea esi, [esp + 0xe8]
call fcn.0045caae
call fcn.004b0900
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x6c], edx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x70], ebx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0xbc], ebp
mov esi, dword [esp + 0x10c]
mov edi, dword [esp + 0x108]
mov esi, 0xffffffff
mov dword [esp + 0x30], esi
mov edi, 0xffffffff
mov dword [esp + 0x60], edi
xor edi, edi
mov dword [esp + 0x54], edi
xor esi, esi
mov dword [esp + 0x64], esi
xor esi, esi
mov dword [esp + 0x34], esi
xor esi, esi
mov dword [esp + 0x58], esi
xor esi, esi
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x10c]
mov edi, dword [esp + 0x108]
jmp 0x4aadb4
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0xbc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x104], edx
mov dword [esp + 0x100], ebx
mov dword [esp + 0xfc], esi
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
test esi, esi
je 0x4ac214
mov dword [esp], edi
mov dword [esp + 4], esi
call fcn.004a9470
mov eax, dword [esp + 0x10]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xb0], ebx
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x3c], ebp
test ecx, ecx
jne 0x4ac158
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x104]
mov esi, dword [esp + 0xfc]
test eax, eax
je 0x4ac13c
mov dword [esp + 0xcc], esi
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa8], edx
mov edi, ebx
mov ebx, dword [esp + 0x30]
test ebx, ebx
jge 0x4aae3a
test eax, 0x100
jne 0x4ac0dd
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x60]
test ebx, ebx
jge 0x4aae51
test eax, 0x200
jne 0x4ac04b
mov dword [esp + 0x60], ebx
and eax, 0xffff
cmp eax, 0x109
jg 0x4aba58
cmp eax, 0x103
jg 0x4ab6b1
cmp eax, 0x23
jg 0x4ab4c7
cmp eax, 0x17
je 0x4ab292
lea ebx, [eax - 0x18]
cmp ebx, 9
ja 0x4ab20f
mov ebx, dword [esp + 0x68]
test ebx, ebx
jne 0x4ab204
mov eax, ebx
mov ebx, dword [esp + 0x40]
cmp ebx, 0x18
jne 0x4aaefa
lea ebx, [ecx + 1]
cmp ebx, edx
ja 0x4aaeb5
mov byte [esi + ecx], 0x5a
jmp 0x4aad7c
lea eax, [0x787b20]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004431f0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xac]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aaeac
cmp ebx, 0x1b
je 0x4aaea5
cmp ebx, 0x19
je 0x4aaea5
cmp ebx, 0x1a
je 0x4aaea5
cmp ebx, 0x1c
je 0x4aaea5
mov eax, 0x88888889
mov ebp, dword [esp + 0x68]
imul ebp
add edx, ebp
sar edx, 5
mov dword [esp + 0xa4], edx
mov eax, ebp
sar ebp, 0x1f
sub edx, ebp
test edx, edx
jge 0x4ab19b
lea edx, [ecx + 1]
mov edi, dword [esp + 0xa8]
cmp edx, edi
ja 0x4ab14c
mov byte [esi + ecx], 0x2d
mov ecx, dword [esp + 0xa4]
sub ebp, ecx
neg eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0xa4], eax
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov eax, 0x88888889
imul ebp
add edx, ebp
sar edx, 5
sar ebp, 0x1f
sub edx, ebp
mov dword [esp + 0xa0], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 2
call fcn.004aa3b0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
cmp ebp, 0x1b
jne 0x4ab12a
lea esi, [ecx + 1]
cmp edx, esi
jb 0x4ab0e6
mov byte [ebx + ecx], 0x3a
cmp ebp, 0x1f
je 0x4aafca
cmp ebp, 0x1a
jne 0x4ab0a5
cmp ebp, 0x19
je 0x4aaff8
cmp ebp, 0x1e
je 0x4aaff8
cmp ebp, 0x21
je 0x4aaff8
cmp ebp, 0x1c
je 0x4aaff8
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
mov ecx, ebx
mov ebx, esi
mov esi, ecx
jmp 0x4aad7c
cmp ebp, 0x21
jne 0x4ab095
lea ecx, [esi + 1]
cmp ecx, edx
ja 0x4ab055
mov byte [ebx + esi], 0x3a
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, 0x88888889
mov ecx, dword [esp + 0xa4]
imul ecx
add edx, ecx
sar edx, 5
mov ebx, ecx
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3c
sub ebx, ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.004aa3b0
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x4aafde
mov dword [esp + 0x9c], esi
lea eax, [0x787b20]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.004431f0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov esi, dword [esp + 0x9c]
jmp 0x4ab008
cmp ebp, 0x1c
je 0x4ab001
mov ecx, esi
jmp 0x4ab00c
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov eax, dword [esp + 0xa0]
imul eax, eax, 0x3c
mov ecx, dword [esp + 0x2c]
sub ecx, eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
call fcn.004aa3b0
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x40]
jmp 0x4aafca
mov dword [esp + 0x98], ecx
lea eax, [0x787b20]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.004431f0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov ecx, dword [esp + 0x98]
mov ebp, dword [esp + 0x40]
jmp 0x4aafb8
cmp ebp, 0x20
je 0x4aafad
cmp ebp, 0x1c
je 0x4aafad
cmp ebp, 0x21
je 0x4aafad
mov esi, ecx
jmp 0x4aafbc
mov dword [esp + 0xa0], ebp
lea eax, [0x787b20]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], edx
call fcn.004431f0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0xa0]
jmp 0x4aaf46
lea ebp, [ecx + 1]
mov edi, dword [esp + 0xa8]
cmp ebp, edi
ja 0x4ab1b8
mov byte [esi + ecx], 0x2b
mov ecx, edx
mov edx, ebp
mov ebp, ecx
jmp 0x4aaf55
mov dword [esp + 0x94], edx
lea eax, [0x787b20]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004431f0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x40]
jmp 0x4ab1a9
mov eax, ebx
mov ebx, dword [esp + 0x40]
jmp 0x4aaf0e
cmp eax, 0x22
jge 0x4ab21f
mov eax, dword [esp + 0x68]
mov ebx, ecx
jmp 0x4aad7c
lea edi, [esp + 0xd0]
mov ebx, esi
lea esi, [esp + 0xe8]
call fcn.0045caae
nop
mov ecx, dword [esp + 0xd0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
and ecx, 0x3fffffff
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x40]
sar ecx, 0x10
mov dword [esp + 0x10], ecx
cmp eax, 0x23
sete al
mov byte [esp + 0x14], al
call fcn.004aa6b0
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
mov ebx, dword [esp + 0x50]
test ebx, ebx
je 0x4ab333
lea eax, [ebx + ecx]
mov dword [esp + 0x100], eax
cmp eax, edx
ja 0x4ab2fd
mov dword [esp + 0xfc], esi
mov dword [esp + 0x104], edx
lea eax, [esi + ecx]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.0045ccd0
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x100]
mov esi, dword [esp + 0xfc]
jmp 0x4aad7c
lea ebx, [0x787b20]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.004431f0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x50]
jmp 0x4ab2ac
mov eax, 0x88888889
mov ebx, dword [esp + 0x68]
imul ebx
add edx, ebx
sar edx, 5
mov dword [esp + 0xa4], edx
mov eax, ebx
sar ebx, 0x1f
sub edx, ebx
test edx, edx
jge 0x4ab45b
lea edx, [ecx + 1]
mov ebp, dword [esp + 0xa8]
cmp edx, ebp
ja 0x4ab409
mov byte [esi + ecx], 0x2d
mov ecx, dword [esp + 0xa4]
sub ebx, ecx
mov dword [esp + 0x28], ebx
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov eax, 0x88888889
imul ebx
lea ecx, [edx + ebx]
sar ecx, 5
sar ebx, 0x1f
sub ecx, ebx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
call fcn.004aa3b0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0xa4]
imul ecx, ecx, 0x3c
mov edx, dword [esp + 0x28]
sub edx, ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 2
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
mov dword [esp + 0xa0], ebx
lea eax, [0x787b20]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004431f0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xa0]
mov edi, dword [esp + 0xb0]
jmp 0x4ab36b
lea ebx, [ecx + 1]
mov ebp, dword [esp + 0xa8]
cmp ebx, ebp
ja 0x4ab478
mov byte [esi + ecx], 0x2b
mov ecx, edx
mov edx, ebx
mov ebx, ecx
jmp 0x4ab378
mov dword [esp + 0x90], edx
lea eax, [0x787b20]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004431f0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0xb0]
jmp 0x4ab469
cmp eax, 0x101
je 0x4ab5e2
cmp eax, 0x102
je 0x4ab524
cmp eax, 0x103
jne 0x4ab214
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.004b0480
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
cmp edx, 3
jb 0x4ac238
mov ecx, dword [esp + 0xac]
lea edx, [ecx + 3]
mov ebx, dword [esp + 0xa8]
cmp edx, ebx
ja 0x4ab58d
mov ebp, dword [esp + 0xcc]
mov esi, ecx
movzx ecx, word [eax]
mov edi, ecx
movzx ecx, byte [eax + 2]
mov word [ebp + esi], di
mov byte [ebp + esi + 2], cl
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0xb0]
mov esi, ebp
mov ebp, dword [esp + 0x3c]
mov ecx, edx
mov edx, ebx
mov ebx, ecx
jmp 0x4aad7c
mov dword [esp + 0x8c], edx
mov dword [esp + 0xc8], eax
lea eax, [0x787b20]
mov dword [esp], eax
mov ebp, dword [esp + 0xcc]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004431f0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x8c]
jmp 0x4ab55d
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.004b0480
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xac]
lea ebx, [edx + eax]
mov dword [esp + 0x100], ebx
mov ebp, dword [esp + 0xa8]
cmp ebx, ebp
ja 0x4ab662
mov esi, dword [esp + 0xcc]
mov dword [esp + 0xfc], esi
mov dword [esp + 0x104], ebp
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045ccd0
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x100]
mov esi, dword [esp + 0xfc]
jmp 0x4aad7c
mov dword [esp + 0x5c], eax
mov dword [esp + 0xc0], ecx
lea eax, [0x787b20]
mov dword [esp], eax
mov ecx, dword [esp + 0xcc]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004431f0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xac]
jmp 0x4ab619
cmp eax, 0x106
jg 0x4ab91f
cmp eax, 0x104
je 0x4ab8df
cmp eax, 0x105
jne 0x4ab7e1
mov eax, dword [esp + 0x6c]
add eax, 0x15180
mov dword [esp], eax
mov eax, dword [esp + 0x70]
adc eax, 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0x93a80
mov dword [esp + 0xc], 0
call fcn.004531f0
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0xc22e4507
imul ecx
lea eax, [ecx + edx]
sar eax, 0x10
sar ecx, 0x1f
sub eax, ecx
mov dword [esp], eax
call fcn.004b0590
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xac]
lea ebx, [edx + eax]
mov dword [esp + 0x100], ebx
mov ebp, dword [esp + 0xa8]
cmp ebx, ebp
ja 0x4ab792
mov esi, dword [esp + 0xcc]
mov dword [esp + 0x104], ebp
mov dword [esp + 0xfc], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045ccd0
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x100]
mov esi, dword [esp + 0xfc]
jmp 0x4aad7c
mov dword [esp + 0x48], eax
mov dword [esp + 0xb4], ecx
lea eax, [0x787b20]
mov dword [esp], eax
mov ecx, dword [esp + 0xcc]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004431f0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xac]
jmp 0x4ab749
mov eax, dword [esp + 0x6c]
add eax, 0x15180
mov dword [esp], eax
mov eax, dword [esp + 0x70]
adc eax, 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0x93a80
mov dword [esp + 0xc], 0
call fcn.004531f0
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0xc22e4507
imul ecx
lea eax, [edx + ecx]
sar eax, 0x10
sar ecx, 0x1f
sub eax, ecx
mov dword [esp], eax
call fcn.004b0590
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
cmp edx, 3
jb 0x4ac22e
mov ecx, dword [esp + 0xac]
lea edx, [ecx + 3]
mov ebx, dword [esp + 0xa8]
cmp edx, ebx
ja 0x4ab88a
mov ebp, dword [esp + 0xcc]
mov esi, ecx
movzx ecx, word [eax]
mov edi, ecx
movzx ecx, byte [eax + 2]
mov word [ebp + esi], di
mov byte [ebp + esi + 2], cl
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0xb0]
mov esi, ebp
mov ebp, dword [esp + 0x3c]
mov ecx, edx
mov edx, ebx
mov ebx, ecx
jmp 0x4aad7c
mov dword [esp + 0x88], edx
mov dword [esp + 0xc4], eax
lea eax, [0x787b20]
mov dword [esp], eax
mov ebp, dword [esp + 0xcc]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004431f0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x88]
jmp 0x4ab85a
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
cmp eax, 0x107
je 0x4aba18
cmp eax, 0x108
jne 0x4ab9d8
mov eax, dword [esp + 0x64]
cmp eax, 0xa
jge 0x4ab9d1
lea ebx, [ecx + 1]
cmp ebx, edx
ja 0x4ab989
mov byte [esi + ecx], 0x20
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
lea eax, [0x787b20]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004431f0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xac]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4ab949
mov ebx, ecx
jmp 0x4ab94d
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
cmp eax, 0x20d
jg 0x4abd2d
cmp eax, 0x113
jg 0x4abc11
cmp eax, 0x10a
je 0x4abb0b
cmp eax, 0x10b
je 0x4abacb
cmp eax, 0x113
jne 0x4ab214
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 4
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 3
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
mov eax, dword [esp + 0x34]
cmp eax, 0x64
jge 0x4abb37
lea ebx, [ecx + 1]
cmp ebx, edx
ja 0x4abbc9
mov byte [esi + ecx], 0x20
cmp eax, 0xa
jge 0x4abbc2
lea ecx, [ebx + 1]
cmp edx, ecx
jb 0x4abb73
mov byte [esi + ebx], 0x20
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
mov dword [esp + 0x84], ebx
lea eax, [0x787b20]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.004431f0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4abb33
mov ecx, ebx
jmp 0x4abb37
lea eax, [0x787b20]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004431f0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xac]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4abb1f
cmp eax, 0x114
je 0x4abcd1
cmp eax, 0x20c
je 0x4abc95
cmp eax, 0x20d
jne 0x4ab214
mov eax, 0xaaaaaaab
imul ebx
add edx, ebx
sar edx, 3
mov eax, ebx
sar ebx, 0x1f
sub edx, ebx
lea edx, [edx + edx*2]
shl edx, 2
sub eax, edx
test eax, eax
jne 0x4abc52
mov eax, 0xc
mov dword [esp], esi
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
mov ebx, dword [esp + 0x38]
test ebx, ebx
jge 0x4abcdb
neg ebx
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, 0x51eb851f
imul ebx
sar edx, 5
mov ecx, ebx
sar ebx, 0x1f
sub edx, ebx
imul edx, edx, 0x64
sub ecx, edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
cmp eax, 0x210
jle 0x4abf56
cmp eax, 0x212
jle 0x4abecf
cmp eax, 0x215
jne 0x4abe0c
cmp ebx, 0xc
jl 0x4abdb7
lea eax, [ecx + 2]
cmp eax, edx
ja 0x4abd6b
mov word [esi + ecx], 0x4d50
mov ebx, eax
mov eax, dword [esp + 0x68]
jmp 0x4aad7c
mov dword [esp + 0x80], eax
lea ebx, [0x787b20]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.004431f0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4abd5a
lea eax, [ecx + 2]
cmp eax, edx
ja 0x4abdc6
mov word [esi + ecx], 0x4d41
jmp 0x4abd60
mov dword [esp + 0x7c], eax
lea ebx, [0x787b20]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.004431f0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4abdbe
cmp eax, 0x216
jne 0x4ab214
cmp ebx, 0xc
jl 0x4abe7a
lea eax, [ecx + 2]
cmp eax, edx
ja 0x4abe34
mov word [esi + ecx], 0x6d70
mov ebx, eax
mov eax, dword [esp + 0x68]
jmp 0x4aad7c
mov dword [esp + 0x78], eax
lea ebx, [0x787b20]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.004431f0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4abe23
lea eax, [ecx + 2]
cmp eax, edx
ja 0x4abe89
mov word [esi + ecx], 0x6d61
jmp 0x4abe29
mov dword [esp + 0x74], eax
lea ebx, [0x787b20]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.004431f0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4abe81
cmp eax, 0x211
jne 0x4abf16
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
cmp eax, 0x20e
jne 0x4abfc4
mov eax, 0xaaaaaaab
imul ebx
add edx, ebx
sar edx, 3
mov eax, ebx
sar ebx, 0x1f
sub edx, ebx
lea edx, [edx + edx*2]
shl edx, 2
sub eax, edx
test eax, eax
jne 0x4abf81
mov eax, 0xc
mov dword [esp], esi
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
cmp eax, 0x20f
jne 0x4ac00b
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.004aa3b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
jmp 0x4aad7c
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x15180
mov dword [esp + 0xc], 0
call fcn.004531f0
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0x91a2b3c5
imul ecx
lea ebx, [ecx + edx]
sar ebx, 0xb
mov eax, ecx
sar ecx, 0x1f
sub ebx, ecx
imul ecx, ebx, 0xe10
sub eax, ecx
mov ecx, eax
mov eax, 0x88888889
imul ecx
lea eax, [ecx + edx]
sar eax, 5
mov edx, ecx
sar ecx, 0x1f
sub eax, ecx
imul ecx, eax, 0x3c
sub edx, ecx
mov ecx, dword [esp + 0xac]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x58], eax
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0xa8]
jmp 0x4aae51
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.004b24f0
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
inc edx
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
jmp 0x4aae3a
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], edx
add esp, 0xe4
ret
mov esi, dword [esp + 0x100]
lea edi, [ecx + esi]
mov dword [esp + 0xa4], edi
mov ebx, dword [esp + 0x104]
cmp edi, ebx
ja 0x4ac1be
mov dword [esp + 0x104], ebx
mov eax, dword [esp + 0xfc]
lea ebp, [eax + esi]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045ccd0
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x104]
mov esi, dword [esp + 0xfc]
jmp 0x4aae08
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xb8], edx
lea eax, [0x787b20]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
call fcn.004431f0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xb8]
mov esi, dword [esp + 0x100]
mov dword [esp + 0xfc], eax
jmp 0x4ac174
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x104]
mov esi, dword [esp + 0xfc]
jmp 0x4ac13c
mov ecx, 3
call fcn.0045c3d0
mov ecx, 3
call fcn.0045c3d0
nop
call fcn.0045ade0
jmp fcn.004aacd0