Function at 0x4aca82
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c8e87
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x324
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
and dword [ebp - 0x1c], 0
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x4ae1f0
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x258], eax
lea eax, [ebp + 0x10]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x24c]
movzx eax, byte [eax]
test eax, eax
je 0x4ae1a0
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1c4]
movzx eax, word [eax]
cmp eax, 0x5a4d
je 0x4acb13
jmp 0x4ae227
mov eax, dword [ebp - 0x1c4]
mov ecx, dword [ebp - 0x24]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
cmp dword [eax], 0x4550
je 0x4acb32
jmp 0x4ae227
push 8
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x38]
lea eax, [ecx + eax + 0x78]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
cmp dword [eax + 4], 0
jne 0x4acb50
jmp 0x4ae227
and dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x38]
movzx eax, word [eax + 0x14]
mov ecx, dword [ebp - 0x38]
lea eax, [ecx + eax + 0x18]
mov dword [ebp - 0x1d8], eax
push 0x7edb
lea eax, [ebp - 0x28]
push eax
push 0x61b9
lea eax, [ebp - 0x1d8]
push eax
push 0x58e8
push 0
lea eax, [ebp - 0x34]
push eax
push 0xc7a
push 0x32ab
push 0x200f
lea eax, [ebp - 0x38]
push eax
push 1
call fcn.004ac427
add esp, 0x30
cmp dword [ebp - 0x28], 0
jne 0x4acbb0
jmp 0x4ae227
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
add ecx, dword [eax]
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x18], ecx
xor ecx, ecx
call fcn.0049bede
push eax
call fcn.004b2d3e
pop ecx
mov byte [ebp - 0x148], 3
mov byte [ebp - 0x147], 0xd0
mov byte [ebp - 0x146], 1
mov byte [ebp - 0x145], 2
mov byte [ebp - 0x144], 2
mov byte [ebp - 0x143], 2
mov byte [ebp - 0x142], 4
mov byte [ebp - 0x141], 0xf
mov byte [ebp - 0x140], 0x3b
mov byte [ebp - 0x13f], 0x62
mov byte [ebp - 0x13e], 0x39
mov byte [ebp - 0x13d], 0xba
mov byte [ebp - 0x13c], 0x3f
mov byte [ebp - 0x13b], 0x8a
mov byte [ebp - 0x13a], 0x95
mov byte [ebp - 0x139], 0x81
mov byte [ebp - 0x138], 0xd6
mov byte [ebp - 0x137], 0x8b
mov byte [ebp - 0x136], 0x24
mov byte [ebp - 0x135], 0xe7
mov byte [ebp - 0x134], 0xb
mov byte [ebp - 0x133], 0x45
mov byte [ebp - 0x132], 0x17
mov byte [ebp - 0x131], 0x2d
mov byte [ebp - 0x130], 0xe9
mov byte [ebp - 0x12f], 0x99
mov byte [ebp - 0x12e], 0xfb
mov byte [ebp - 0x12d], 0x4f
mov byte [ebp - 0x12c], 0xb6
mov byte [ebp - 0x12b], 0x98
mov byte [ebp - 0x12a], 0xc6
mov byte [ebp - 0x129], 0xba
mov byte [ebp - 0x128], 0x1d
mov byte [ebp - 0x127], 0x40
mov byte [ebp - 0x126], 0xac
mov byte [ebp - 0x125], 0xb
mov byte [ebp - 0x124], 0x5f
mov byte [ebp - 0x123], 0x51
mov byte [ebp - 0x122], 0x30
mov byte [ebp - 0x121], 0xad
mov byte [ebp - 0x120], 4
mov byte [ebp - 0x11f], 0xfb
mov byte [ebp - 0x11e], 0x24
mov byte [ebp - 0x11d], 0x37
mov byte [ebp - 0x11c], 0xef
mov byte [ebp - 0x11b], 0x73
mov byte [ebp - 0x11a], 0xb
mov byte [ebp - 0x119], 0x8c
mov byte [ebp - 0x118], 0xee
mov byte [ebp - 0x117], 0xa1
mov byte [ebp - 0x116], 0xd
mov byte [ebp - 0x115], 0xd0
mov byte [ebp - 0x114], 0x84
mov byte [ebp - 0x113], 0x7a
mov byte [ebp - 0x112], 0x7d
mov byte [ebp - 0x111], 0x2b
mov byte [ebp - 0x110], 0x9c
mov byte [ebp - 0x10f], 0x4b
mov byte [ebp - 0x10e], 0x93
mov byte [ebp - 0x10d], 0x5e
mov byte [ebp - 0x10c], 0x66
mov byte [ebp - 0x10b], 0xe6
mov byte [ebp - 0x10a], 0xe5
mov byte [ebp - 0x109], 0x3c
mov byte [ebp - 0x108], 0xfa
mov byte [ebp - 0x107], 0x13
mov byte [ebp - 0x106], 0x3b
mov byte [ebp - 0x105], 0xf0
mov byte [ebp - 0x104], 8
mov byte [ebp - 0x103], 8
mov byte [ebp - 0x102], 7
mov byte [ebp - 0x101], 6
mov byte [ebp - 0x100], 5
mov byte [ebp - 0xff], 7
mov byte [ebp - 0xfe], 6
mov byte [ebp - 0xfd], 0
mov byte [ebp - 0xfc], 9
mov byte [ebp - 0xfb], 1
mov byte [ebp - 0xfa], 0
mov byte [ebp - 0xf9], 1
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x148]
or eax, 0xe7
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x148]
and ecx, 0xe7
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0x148]
mov byte [ebp + ecx - 0x1f0], al
mov dword [ebp - 0x20], 2
and dword [ebp - 0x4c], 0
jmp 0x4ace4f
mov eax, dword [ebp - 0x20]
inc eax
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x50
jae 0x4acf34
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x148]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x20], eax
jne 0x4ace96
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebp + eax - 0x148]
inc eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebp + eax - 0x148]
mov ecx, dword [ebp - 0x20]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x20], eax
jmp 0x4ace47
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebp + eax - 0x147]
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x4c]
movzx ecx, byte [ebp + ecx - 0x14a]
movsx ecx, byte [ebp + ecx - 0x1f0]
add eax, ecx
mov ecx, dword [ebp - 0x20]
movzx ecx, byte [ebp + ecx - 0x147]
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x4c]
movzx edx, byte [ebp + edx - 0x14a]
movsx edx, byte [ebp + edx - 0x1f0]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x20]
movzx ecx, byte [ebp + ecx - 0x147]
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x4c]
movzx edx, byte [ebp + edx - 0x14a]
movsx edx, byte [ebp + edx - 0x1f0]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x20]
movzx ecx, byte [ebp + ecx - 0x148]
mov byte [ebp + ecx - 0x1f0], al
lea eax, [ebp - 0x4c]
push eax
push 1
push 0x33d4
push 0
push 0x76ad
call fcn.004ab2fa
add esp, 0x14
jmp 0x4ace47
xor eax, eax
inc eax
imul eax, eax, 0xa
mov byte [ebp + eax - 0x1f0], 0
push 0xa
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0x334]
call fcn.0043a03e
xor edx, edx
mov ecx, eax
call fcn.0049bea3
pop ecx
mov dword [ebp - 0x214], eax
lea ecx, [ebp - 0x334]
call fcn.0043a06d
and dword [ebp - 0x9c], 0
jmp 0x4acf87
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0xb
jae 0x4acfa0
mov eax, dword [ebp - 0x9c]
mov byte [ebp + eax - 0x1f0], 0
jmp 0x4acf7a
mov byte [ebp - 0xf8], 0
mov byte [ebp - 0xf7], 0x16
mov byte [ebp - 0xf6], 0x39
mov byte [ebp - 0xf5], 0x34
mov byte [ebp - 0xf4], 0x35
mov byte [ebp - 0xf3], 0x2d
mov byte [ebp - 0xf2], 0x43
mov byte [ebp - 0xf1], 0x8c
mov byte [ebp - 0xf0], 0xbd
mov byte [ebp - 0xef], 0x24
mov byte [ebp - 0xee], 0xde
mov byte [ebp - 0xed], 0x8e
mov byte [ebp - 0xec], 0xa3
mov byte [ebp - 0xeb], 0x78
mov byte [ebp - 0xea], 0x7b
mov byte [ebp - 0xe9], 0x6f
mov byte [ebp - 0xe8], 0xd9
mov byte [ebp - 0xe7], 0xd5
mov byte [ebp - 0xe6], 0x40
mov byte [ebp - 0xe5], 0x71
mov byte [ebp - 0xe4], 0xb7
mov byte [ebp - 0xe3], 0xa0
mov byte [ebp - 0xe2], 0xfd
mov byte [ebp - 0xe1], 0xe3
mov byte [ebp - 0xe0], 0x43
mov byte [ebp - 0xdf], 0xac
mov byte [ebp - 0xde], 0x5d
mov byte [ebp - 0xdd], 0x2c
mov byte [ebp - 0xdc], 0x68
mov byte [ebp - 0xdb], 0x14
mov byte [ebp - 0xda], 0x9a
mov byte [ebp - 0xd9], 0x26
mov byte [ebp - 0xd8], 0x31
mov byte [ebp - 0xd7], 0x35
mov byte [ebp - 0xd6], 0x71
mov byte [ebp - 0xd5], 0x68
mov byte [ebp - 0xd4], 0xb2
mov byte [ebp - 0xd3], 0x72
mov byte [ebp - 0xd2], 0x1d
mov byte [ebp - 0xd1], 0x5a
mov byte [ebp - 0xd0], 0xb7
mov byte [ebp - 0xcf], 0x3a
mov byte [ebp - 0xce], 0x15
mov byte [ebp - 0xcd], 0x87
mov byte [ebp - 0xcc], 0xf7
mov byte [ebp - 0xcb], 4
mov byte [ebp - 0xca], 0xe2
mov byte [ebp - 0xc9], 0xb4
mov byte [ebp - 0xc8], 0xc7
mov byte [ebp - 0xc7], 0x3c
mov byte [ebp - 0xc6], 0x3f
mov byte [ebp - 0xc5], 0x18
mov byte [ebp - 0xc4], 0xa3
mov byte [ebp - 0xc3], 0x42
mov byte [ebp - 0xc2], 0x4c
mov byte [ebp - 0xc1], 0x36
mov byte [ebp - 0xc0], 0x7e
mov byte [ebp - 0xbf], 0x89
mov byte [ebp - 0xbe], 0x9f
mov byte [ebp - 0xbd], 0x56
mov byte [ebp - 0xbc], 7
mov byte [ebp - 0xbb], 7
mov byte [ebp - 0xba], 6
mov byte [ebp - 0xb9], 0xf
mov byte [ebp - 0xb8], 8
mov byte [ebp - 0xb7], 9
mov byte [ebp - 0xb6], 4
mov byte [ebp - 0xb5], 4
mov byte [ebp - 0xb4], 5
mov byte [ebp - 0xb3], 5
mov byte [ebp - 0xb2], 3
mov byte [ebp - 0xb1], 3
mov byte [ebp - 0xb0], 2
mov byte [ebp - 0xaf], 5
mov byte [ebp - 0xae], 9
mov byte [ebp - 0xad], 7
mov byte [ebp - 0xac], 1
mov byte [ebp - 0xab], 6
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0xf8]
or eax, 0x27
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0xf8]
and ecx, 0x27
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0xf8]
mov byte [ebp + ecx - 0x1fc], al
mov dword [ebp - 0x2c], 2
and dword [ebp - 0x54], 0
jmp 0x4ad210
mov eax, dword [ebp - 0x2c]
inc eax
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x4e
jae 0x4ad2df
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0xf8]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x2c], eax
jne 0x4ad257
mov eax, dword [ebp - 0x2c]
movzx eax, byte [ebp + eax - 0xf8]
inc eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [ebp + eax - 0xf8]
mov ecx, dword [ebp - 0x2c]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x2c], eax
jmp 0x4ad208
mov eax, dword [ebp - 0x2c]
movzx eax, byte [ebp + eax - 0xf7]
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x54]
movzx ecx, byte [ebp + ecx - 0xfa]
movsx ecx, byte [ebp + ecx - 0x1fc]
add eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0xf7]
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x54]
movzx edx, byte [ebp + edx - 0xfa]
movsx edx, byte [ebp + edx - 0x1fc]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0xf7]
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x54]
movzx edx, byte [ebp + edx - 0xfa]
movsx edx, byte [ebp + edx - 0x1fc]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0xf8]
mov byte [ebp + ecx - 0x1fc], al
and dword [ebp - 0x54], 0
jmp 0x4ad208
xor eax, eax
inc eax
imul eax, eax, 0xa
mov byte [ebp + eax - 0x1fc], 0
push 0xa
lea eax, [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.0043a03e
xor edx, edx
mov ecx, eax
call fcn.0049bea3
pop ecx
mov dword [ebp - 0x20c], eax
lea ecx, [ebp - 0x2ec]
call fcn.0043a06d
and dword [ebp - 0x98], 0
jmp 0x4ad332
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0xb
jae 0x4ad34b
mov eax, dword [ebp - 0x98]
mov byte [ebp + eax - 0x1fc], 0
jmp 0x4ad325
push dword [ebp - 0x20c]
push dword [ebp - 0x214]
call fcn.004a86d3
pop ecx
pop ecx
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x1cc]
mov dword [eax + 8], ecx
push 0x32e0
push 0
push 0
push 0x2bf5
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1cc]
push eax
push 0x73fa
push 0x29eb
call fcn.004ac784
add esp, 0x20
and dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x18], 0
jbe 0x4ad3e4
lea eax, [ebp - 0x18]
push eax
push 0x2e97
push 0x4566
push 0x102c
push 0
push 0x3938
push 0x3c54
lea eax, [ebp - 0x44]
push eax
push 0x68e9
push 1
push 0x24b2
push 0x5483
call fcn.004abca4
add esp, 0x30
mov dword [ebp - 0x1e4], 0x7bf0
mov dword [ebp - 0x254], 0xacb90c
cmp dword [ebp - 0x1e4], 0x7fb1
jle 0x4ad4b5
and dword [ebp - 0x68], 0
jmp 0x4ad415
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0x6b3b
jge 0x4ad4b5
and dword [ebp - 0x60], 0
jmp 0x4ad42f
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x1de0
jge 0x4ad4b0
and dword [ebp - 0x70], 0
jmp 0x4ad445
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0x24c6
jge 0x4ad4ab
and dword [ebp - 0xa8], 0
jmp 0x4ad464
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0x7e83
jge 0x4ad4a9
mov eax, dword [ebp - 0x68]
cdq
idiv dword [ebp - 0x60]
mov ecx, dword [ebp - 0x70]
shl edx, cl
and edx, dword [ebp - 0xa8]
mov eax, edx
cdq
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], edx
push dword [ebp - 0x23c]
push dword [ebp - 0x240]
mov ecx, 0xad9c18
call fcn.00439e95
jmp 0x4ad457
jmp 0x4ad43e
jmp 0x4ad428
jmp 0x4ad40e
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x14], eax
and dword [ebp - 4], 0
cmp dword [ebp - 0x1e4], 0x79f5
jge 0x4ad4de
mov edx, dword [ebp - 0x254]
mov ecx, 0xad9c18
call fcn.0043c71b
jmp 0x4ad4fa
or dword [ebp - 4], 0xffffffff
jmp 0x4ad504
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x14]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x1b0], 0x4d2a
mov dword [ebp - 0x25c], 0xacb930
cmp dword [ebp - 0x1b0], 0x4e3c
jle 0x4ad5b7
and dword [ebp - 0x80], 0
jmp 0x4ad541
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0x2aa7
jge 0x4ad5b7
and dword [ebp - 0x78], 0
jmp 0x4ad557
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0x3ed1
jge 0x4ad5b5
and dword [ebp - 0xa0], 0
jmp 0x4ad576
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x431
jge 0x4ad5b3
mov eax, dword [ebp - 0x78]
sub eax, dword [ebp - 0xa0]
or eax, dword [ebp - 0x80]
cdq
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], edx
push dword [ebp - 0x21c]
push dword [ebp - 0x220]
mov ecx, 0xad9c18
call fcn.00439e95
jmp 0x4ad569
jmp 0x4ad550
jmp 0x4ad53a
and dword [ebp - 0x40], 0
jmp 0x4ad5c4
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x3c]
jge 0x4ad64a
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax + 0x14]
sub eax, dword [ecx + 0x18]
cmp dword [ebp - 0x40], eax
jae 0x4ad5f7
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
add ecx, dword [eax + 0x1c]
add ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x1b8], eax
jmp 0x4ad62a
push 0
lea eax, [ebp - 0x1d8]
push eax
push 0x6705
push 0x6b8c
lea eax, [ebp - 0x1b8]
push eax
push 0x5ead
push 0x19ff
push 0x349c
push 0
call fcn.004abebc
add esp, 0x24
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1b8]
mov dword [ecx + eax], edx
mov eax, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x14], eax
jmp 0x4ad5bd
mov dword [ebp - 4], 2
cmp dword [ebp - 0x1b0], 0x4c7b
jge 0x4ad66d
mov edx, dword [ebp - 0x25c]
mov ecx, 0xad9c18
call fcn.0043c71b
jmp 0x4ad689
or dword [ebp - 4], 0xffffffff
jmp 0x4ad693
lea eax, [ebp - 0x44]
push eax
push 0x5502
lea eax, [ebp - 0x18]
push eax
push 0x2942
push 0
push 1
push 0x696f
call fcn.004aca82
add esp, 0x1c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x18]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x3c], eax
and dword [ebp - 0x1a8], 0
jmp 0x4ad6d8
mov eax, dword [ebp - 0x1a8]
inc eax
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x1a8]
cmp eax, dword [ebp - 0x3c]
jge 0x4ad711
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
and dword [ecx + eax], 0
push 0
push 1
push 0x73df
push 0x2d80
push 0x156c
lea eax, [ebp - 0x14]
push eax
call fcn.004abb20
add esp, 0x18
jmp 0x4ad6cb
push 0
push 0x594b
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x14]
push eax
push 0x6a4f
push 0x4174
push 0x5f07
lea eax, [ebp - 0x18]
push eax
push 1
call fcn.004abebc
add esp, 0x24
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x18]
sub eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x18], eax
and dword [ebp - 0xa4], 0
jmp 0x4ad762
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x3c]
jge 0x4ad7af
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
add ecx, dword [eax + 0x24]
mov eax, dword [ebp - 0xa4]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x24]
mov ax, word [esi + eax]
mov word [edx + ecx], ax
push 0x62ed
push 1
push 0x3481
push 1
lea eax, [ebp - 0x14]
push eax
call fcn.004ab2fa
add esp, 0x14
jmp 0x4ad755
lea eax, [ebp - 0x14]
push eax
push 0
push 1
lea eax, [ebp - 0x18]
push eax
push 0x4ac0
push 0x3dd6
lea eax, [ebp - 0x3c]
push eax
push 0x1a
call fcn.004ac784
add esp, 0x20
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
add ecx, dword [eax + 0xc]
add ecx, dword [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x28c]
call fcn.0043a03e
lea ecx, [ebp - 0x28c]
call fcn.0043a0b9
mov dword [ebp - 0x1d4], eax
push dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d4]
shr eax, 1
push eax
call fcn.004a86d3
pop ecx
pop ecx
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x1a4], 1
mov byte [ebp - 0x1a3], 0x11
mov byte [ebp - 0x1a2], 0
mov byte [ebp - 0x1a1], 0x4a
mov byte [ebp - 0x1a0], 0x51
mov byte [ebp - 0x19f], 0x71
mov byte [ebp - 0x19e], 0x17
mov byte [ebp - 0x19d], 0xd0
mov byte [ebp - 0x19c], 0x73
mov byte [ebp - 0x19b], 0xfe
mov byte [ebp - 0x19a], 0x2b
mov byte [ebp - 0x199], 0x6c
mov byte [ebp - 0x198], 0xf4
mov byte [ebp - 0x197], 0xeb
mov byte [ebp - 0x196], 0x48
mov byte [ebp - 0x195], 0xcd
mov byte [ebp - 0x194], 0x80
mov byte [ebp - 0x193], 0x97
mov byte [ebp - 0x192], 0xb4
mov byte [ebp - 0x191], 0xb0
mov byte [ebp - 0x190], 0xb
mov byte [ebp - 0x18f], 0xf5
mov byte [ebp - 0x18e], 0xdb
mov byte [ebp - 0x18d], 0xbe
mov byte [ebp - 0x18c], 0xfb
mov byte [ebp - 0x18b], 0x56
mov byte [ebp - 0x18a], 0xfe
mov byte [ebp - 0x189], 0x62
mov byte [ebp - 0x188], 0xd6
mov byte [ebp - 0x187], 0x34
mov byte [ebp - 0x186], 0x5a
mov byte [ebp - 0x185], 0x97
mov byte [ebp - 0x184], 0xc5
mov byte [ebp - 0x183], 0xe9
mov byte [ebp - 0x182], 0x21
mov byte [ebp - 0x181], 0x5a
mov byte [ebp - 0x180], 0xf4
mov byte [ebp - 0x17f], 0x66
mov byte [ebp - 0x17e], 0x55
mov byte [ebp - 0x17d], 0xd5
mov byte [ebp - 0x17c], 0xf6
mov byte [ebp - 0x17b], 0x60
mov byte [ebp - 0x17a], 0xde
mov byte [ebp - 0x179], 0
mov byte [ebp - 0x178], 0x9c
mov byte [ebp - 0x177], 8
mov byte [ebp - 0x176], 0xed
mov byte [ebp - 0x175], 0xc1
mov byte [ebp - 0x174], 8
mov byte [ebp - 0x173], 0xb9
mov byte [ebp - 0x172], 0x7b
mov byte [ebp - 0x171], 0xc1
mov byte [ebp - 0x170], 0xce
mov byte [ebp - 0x16f], 0xc7
mov byte [ebp - 0x16e], 0
mov byte [ebp - 0x16d], 0x12
mov byte [ebp - 0x16c], 0xa
mov byte [ebp - 0x16b], 0xbd
mov byte [ebp - 0x16a], 0x2f
mov byte [ebp - 0x169], 0xcb
mov byte [ebp - 0x168], 0x96
mov byte [ebp - 0x167], 0xcb
mov byte [ebp - 0x166], 0xd2
mov byte [ebp - 0x165], 0x4a
mov byte [ebp - 0x164], 0xea
mov byte [ebp - 0x163], 0xad
mov byte [ebp - 0x162], 0x97
mov byte [ebp - 0x161], 0x20
mov byte [ebp - 0x160], 0xd0
mov byte [ebp - 0x15f], 0xc5
mov byte [ebp - 0x15e], 0x58
mov byte [ebp - 0x15d], 0xf8
mov byte [ebp - 0x15c], 0x4c
mov byte [ebp - 0x15b], 0x3d
mov byte [ebp - 0x15a], 0xc7
mov byte [ebp - 0x159], 0xf4
mov byte [ebp - 0x158], 0x95
mov byte [ebp - 0x157], 0xd8
mov byte [ebp - 0x156], 0x82
mov byte [ebp - 0x155], 0xbe
mov byte [ebp - 0x154], 0x6b
mov byte [ebp - 0x153], 0x62
mov byte [ebp - 0x152], 0xe1
mov byte [ebp - 0x151], 0x62
mov byte [ebp - 0x150], 0x9d
mov byte [ebp - 0x14f], 0x4b
mov byte [ebp - 0x14e], 2
mov byte [ebp - 0x14d], 0x42
mov byte [ebp - 0x14c], 3
mov byte [ebp - 0x14b], 0
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x1a4]
or eax, 0x75
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x1a4]
and ecx, 0x75
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0x1a4]
mov byte [ebp + ecx - 0x5c], al
mov dword [ebp - 0x30], 2
and dword [ebp - 0x6c], 0
jmp 0x4adad6
mov eax, dword [ebp - 0x30]
inc eax
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x5a
jae 0x4adcb5
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x1a4]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x30], eax
jne 0x4adc5b
mov eax, dword [ebp - 0x30]
movzx eax, byte [ebp + eax - 0x1a4]
inc eax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x30]
movzx eax, byte [ebp + eax - 0x1a4]
mov ecx, dword [ebp - 0x30]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c0], 0x71bc
mov dword [ebp - 0x250], 0xacb9a8
cmp dword [ebp - 0x1c0], 0x733c
jle 0x4adc0d
and dword [ebp - 0x88], 0
jmp 0x4adb59
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0x6a02
jge 0x4adc0d
and dword [ebp - 0x94], 0
jmp 0x4adb7f
mov eax, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0x3f2
jge 0x4adc08
and dword [ebp - 0x90], 0
jmp 0x4adba1
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0x46b9
jge 0x4adc03
and dword [ebp - 0x64], 0
jmp 0x4adbba
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x2a0c
jge 0x4adc01
mov eax, dword [ebp - 0x88]
sub eax, dword [ebp - 0x94]
mov edx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x64]
shl edx, cl
and eax, edx
cdq
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x224], edx
push dword [ebp - 0x224]
push dword [ebp - 0x228]
mov ecx, 0xad9c18
call fcn.00439e95
jmp 0x4adbb3
jmp 0x4adb94
jmp 0x4adb72
jmp 0x4adb4c
jmp 0x4adace
mov eax, dword [ebp - 0x30]
movzx eax, byte [ebp + eax - 0x1a3]
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x6c]
movzx ecx, byte [ebp + ecx - 0x1a6]
movsx ecx, byte [ebp + ecx - 0x5c]
or eax, ecx
mov ecx, dword [ebp - 0x30]
movzx ecx, byte [ebp + ecx - 0x1a3]
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x6c]
movzx edx, byte [ebp + edx - 0x1a6]
movsx edx, byte [ebp + edx - 0x5c]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x30]
movzx ecx, byte [ebp + ecx - 0x1a4]
mov byte [ebp + ecx - 0x5c], al
and dword [ebp - 0x6c], 0
jmp 0x4adace
xor eax, eax
inc eax
shl eax, 2
mov byte [ebp + eax - 0x5c], 0
cmp dword [ebp - 0x48], 4
jle 0x4add0d
or dword [ebp - 0x1c], 1
or dword [ebp - 0x1c], 2
or dword [ebp - 0x1c], 4
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x31c]
call fcn.0043a03e
push eax
mov eax, dword [ebp - 0x48]
sub eax, 4
push eax
lea eax, [ebp - 0x2bc]
push eax
call fcn.004a9857
pop ecx
pop ecx
mov edx, eax
lea ecx, [ebp - 0x304]
call fcn.004b025e
pop ecx
mov dword [ebp - 0x1dc], eax
jmp 0x4add28
or dword [ebp - 0x1c], 8
push dword [ebp - 0x48]
lea eax, [ebp - 0x2d4]
push eax
call fcn.004a9857
pop ecx
pop ecx
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x230], eax
push dword [ebp - 0x230]
lea ecx, [ebp - 0x2a4]
call fcn.0049b406
mov eax, dword [ebp - 0x1c]
and eax, 8
je 0x4add5c
and dword [ebp - 0x1c], 0xfffffff7
lea ecx, [ebp - 0x2d4]
call fcn.0043a06d
mov eax, dword [ebp - 0x1c]
and eax, 4
je 0x4add73
and dword [ebp - 0x1c], 0xfffffffb
lea ecx, [ebp - 0x304]
call fcn.0043a06d
mov eax, dword [ebp - 0x1c]
and eax, 2
je 0x4add8a
and dword [ebp - 0x1c], 0xfffffffd
lea ecx, [ebp - 0x2bc]
call fcn.0043a06d
mov eax, dword [ebp - 0x1c]
and eax, 1
je 0x4adda1
and dword [ebp - 0x1c], 0xfffffffe
lea ecx, [ebp - 0x31c]
call fcn.0043a06d
and dword [ebp - 0x74], 0
jmp 0x4addae
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 5
jae 0x4addbe
mov eax, dword [ebp - 0x74]
mov byte [ebp + eax - 0x5c], 0
jmp 0x4adda7
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0xc], ecx
push 1
push 0x12dc
push 0x33ee
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x18]
push eax
push 1
push 0x6eaf
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2a4]
push eax
call fcn.004ab3c0
add esp, 0x28
push 0x247b
push 0
push 0x6127
lea eax, [ebp - 0x48]
push eax
push 0x3214
push 1
lea eax, [ebp - 0x14]
push eax
call fcn.004abbc3
add esp, 0x1c
push 0
lea eax, [ebp - 0x14]
push eax
push 0x6404
push 0x5306
push 1
lea eax, [ebp - 0x28]
push eax
push 0x24d5
push 0xd70
lea eax, [ebp - 0x24]
push eax
call fcn.004ac5dd
add esp, 0x24
push 0x28db
push 1
push 0x1e85
push 0x5eae
lea eax, [ebp - 0x14]
push eax
push 1
push 0x4989
call fcn.004abbc3
add esp, 0x1c
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x18], 0
jbe 0x4adeca
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
sub eax, ecx
mov ecx, dword [ebp - 0x18]
xor edx, edx
div dword [ecx + 0x18]
cmp eax, 0xc
jbe 0x4ade9e
mov dword [ebp - 0x1c8], 0xc
jmp 0x4adebc
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
sub eax, ecx
mov ecx, dword [ebp - 0x18]
xor edx, edx
div dword [ecx + 0x18]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x1e0], eax
jmp 0x4aded1
and dword [ebp - 0x1e0], 0
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1d0], eax
and dword [ebp - 0x7c], 0
jmp 0x4adeea
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x7c]
cmp ecx, dword [eax + 0x18]
jae 0x4ae0fd
push dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d0]
cdq
sub eax, edx
sar eax, 1
push eax
call fcn.004a86d3
pop ecx
pop ecx
mov dword [ebp - 0x1ac], eax
push dword [ebp - 0x1ac]
lea eax, [ebp - 0x274]
push eax
call fcn.004a9857
pop ecx
pop ecx
push 0x570f
push 0x4e86
push 0x67a9
lea eax, [ebp - 0x28]
push eax
push 1
push 0x6bd0
lea eax, [ebp - 0x18]
push eax
push 0x208e
lea eax, [ebp - 0x7c]
push eax
push 1
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004abca4
add esp, 0x30
push 0x34d2
push 0x5c22
lea eax, [ebp - 0x14]
push eax
push 0
push 0x64fd
push 1
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x1ac]
push eax
push 0x7248
push 0x45be
lea eax, [ebp - 0x274]
push eax
push 0x2309
lea eax, [ebp - 0x28]
push eax
push 0x409d
call fcn.004ac30e
add esp, 0x38
mov dword [ebp - 0x1b4], 0x765e
mov dword [ebp - 0x210], 0xacb9f4
cmp dword [ebp - 0x1b4], 0x7868
jle 0x4ae047
and dword [ebp - 0x84], 0
jmp 0x4adfe4
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0x19a9
jge 0x4ae047
and dword [ebp - 0x8c], 0
jmp 0x4ae006
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0x567b
jge 0x4ae045
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x8c]
shl eax, cl
cdq
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x204], edx
push dword [ebp - 0x204]
push dword [ebp - 0x208]
mov ecx, 0xad9c18
call fcn.00439e95
jmp 0x4adff9
jmp 0x4adfd7
push 0x1e10
push 0x2c45
push 0x6bb3
push 1
push 0x68f2
push 1
push 0x2af8
push 0x3250
push 0x489a
push 0x443c
push 0x1209
lea eax, [ebp - 0x14]
push eax
push 0x148
lea eax, [ebp - 0x1ac]
push eax
call fcn.004ac30e
add esp, 0x38
mov dword [ebp - 4], 6
cmp dword [ebp - 0x1b4], 0x72e9
jge 0x4ae0b3
mov edx, dword [ebp - 0x210]
mov ecx, 0xad9c18
call fcn.0043c71b
jmp 0x4ae0cf
or dword [ebp - 4], 0xffffffff
jmp 0x4ae0d9
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x274]
call fcn.0043a06d
jmp 0x4adee3
and dword [ebp - 0x50], 0
jmp 0x4ae10a
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
sub eax, ecx
cmp dword [ebp - 0x50], eax
jae 0x4ae15b
push 0x93f
push 0x587a
push 0x6381
push 0x4d8e
lea eax, [ebp - 0x14]
push eax
push 1
push 0x2776
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
push 0x25ce
push 1
call fcn.004ac427
add esp, 0x30
jmp 0x4ae103
push 1
push 0x260c
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x34]
push eax
push 1
push 0xbc
push 0x3630
push 0x75a4
push 0x2056
call fcn.004ac5dd
add esp, 0x24
lea ecx, [ebp - 0x2a4]
call fcn.0043a06d
lea ecx, [ebp - 0x28c]
call fcn.0043a06d
jmp 0x4ae1ee
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x1bc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x22c]
mov eax, dword [eax + 0x14]
sub eax, dword [ecx]
mov ecx, dword [ebp - 0x1bc]
mov ecx, dword [ecx]
mov dword [ecx + 0x14], eax
jmp 0x4ae227
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x234], eax
push 0x434e
push 0x6e7e
push 1
push dword [ebp - 0x248]
push 0x11ff
push dword [ebp - 0x234]
call fcn.004ac5b2
add esp, 0x18
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret