Function at 0x511688
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbb4
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x44c], ebx
mov dword [ebp - 0x358], ebx
mov dword [ebp - 0x348], ecx
mov dword [ebp - 0x344], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x50de34
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp + 0xc], 0
je 0x50ce3a
mov edx, 0x1c
mov eax, dword [ebp + 0xc]
call fcn.0065c4dc
mov edx, dword [ebp + 0x1c]
mov edx, dword [edx + 0xc]
mov eax, dword [ebp + 0x1c]
sub edx, dword [eax + 4]
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 8]
mov ecx, dword [ebp + 0x1c]
sub eax, dword [ecx]
call fcn.0064ac50
mov dword [ebp - 0x34c], eax
mov eax, dword [ebp - 0x34c]
call fcn.0064e3d0
mov ebx, eax
lea edx, [ebp - 0x440]
mov eax, ebx
call fcn.0064bccc
lea ecx, [ebp - 0x440]
mov edx, dword [ebp + 8]
mov eax, ebx
call fcn.0064b804
cmp dword [ebp - 4], 0
je 0x50ce99
cmp dword [ebp - 4], 0x80000000
jne 0x50cf34
mov eax, dword [0x671918]
mov eax, dword [eax]
mov dword [ebp - 0x35c], eax
cmp dword [ebp - 4], 0
jne 0x50ceb9
mov eax, dword [0x671c34]
mov eax, dword [eax]
mov dword [ebp - 0x35c], eax
lea edx, [ebp - 0x358]
mov eax, dword [ebp - 0x35c]
call fcn.00658380
mov eax, dword [0x671bac]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [ebx + 0xc]
call fcn.0064ae04
mov eax, dword [ebp - 0x358]
push eax
mov eax, ebx
call fcn.0064bb84
mov edx, dword [ebp + 0x1c]
mov edx, dword [edx + 0xc]
mov ecx, dword [ebp + 0x1c]
sub edx, dword [ecx + 4]
sub edx, eax
sar edx, 1
jns 0x50cf05
adc edx, 0
push edx
mov edx, dword [ebp - 0x358]
mov eax, ebx
call fcn.0064bb5c
mov edx, dword [ebp + 0x1c]
mov edx, dword [edx + 8]
mov ecx, dword [ebp + 0x1c]
sub edx, dword [ecx]
sub edx, eax
sar edx, 1
jns 0x50cf27
adc edx, 0
mov eax, ebx
pop ecx
call fcn.0064ba40
jmp 0x50ddd0
mov eax, dword [ebp - 4]
mov al, byte [eax + 0xb]
xor al, 1
and eax, 0x7f
shl eax, 3
test eax, eax
jl 0x50cf6c
inc eax
mov dword [ebp - 0x3ac], eax
xor esi, esi
lea edi, [ebp - 0x340]
push ebp
mov edx, edi
mov eax, esi
call fcn.0050c9bc
pop ecx
inc esi
add edi, 0x5c
dec dword [ebp - 0x3ac]
jne 0x50cf55
mov eax, dword [ebp - 4]
cmp byte [eax + 0xb], 0
jne 0x50cfca
mov esi, 9
lea edi, [ebp - 0x340]
mov eax, edi
call fcn.005471e0
test al, al
jne 0x50cfc4
mov dword [ebp - 0x374], 9
lea esi, [ebp - 0x340]
mov eax, esi
call fcn.005471e0
test al, al
je 0x50cfb7
push esi
push edi
mov eax, edi
mov edi, esi
mov esi, eax
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
add esi, 0x5c
dec dword [ebp - 0x374]
jne 0x50cf9b
jmp 0x50cfca
add edi, 0x5c
dec esi
jne 0x50cf80
mov edx, dword [0x6731b8]
mov edx, dword [edx]
mov eax, dword [ebx + 0xc]
call fcn.0064b018
mov edx, 0xa
mov eax, dword [ebx + 0xc]
call fcn.0064b07c
mov eax, ebx
call fcn.0064bb84
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 4]
mov al, byte [eax + 0xb]
xor al, 1
and eax, 0x7f
shl eax, 3
test eax, eax
jl 0x50d0ec
inc eax
mov dword [ebp - 0x3ac], eax
xor esi, esi
imul eax, esi, 0x2b
mov edx, dword [ebp - 4]
lea edi, [edx + eax*4 + 0x14]
push ebp
lea edx, [ebp - 0x410]
mov eax, esi
call fcn.0050cd34
pop ecx
mov eax, dword [ebp - 0x410]
mov edx, dword [eax + 4]
mov eax, dword [ebx + 0xc]
call fcn.0064b018
mov edx, dword [ebp - 0x40c]
mov eax, 0x24
call fcn.00656b70
mov edx, eax
shr edx, 1
mov eax, dword [ebx + 0xc]
call fcn.0064b07c
mov al, byte [0x50de44]
mov byte [ebp - 0x36d], al
cmp dword [ebp - 0x408], 1
jne 0x50d074
or byte [ebp - 0x36d], 1
cmp dword [ebp - 0x404], 1
jne 0x50d084
or byte [ebp - 0x36d], 2
mov dl, byte [ebp - 0x36d]
mov eax, dword [ebx + 0xc]
call fcn.0064b0ac
mov eax, ebx
call fcn.0064bb84
mov edx, eax
mov eax, dword [ebp - 0x378]
call fcn.00656b78
mov dword [ebp - 0x378], eax
cmp dword [edi + 8], 0
je 0x50d0df
push ebp
lea ecx, [ebp - 0x448]
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x40c]
call fcn.0050cc00
pop ecx
mov edx, dword [ebp - 0x444]
mov eax, dword [ebp - 0x378]
call fcn.00656b78
mov dword [ebp - 0x378], eax
inc esi
dec dword [ebp - 0x3ac]
jne 0x50d013
mov byte [ebp - 0x3a5], 0
cmp dword [ebp + 0x18], 0x80000000
jne 0x50d152
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp + 0x1c]
sub eax, dword [edx + 4]
sub eax, 0xe
mov edx, dword [ebp - 0x378]
add edx, edx
mov ecx, edx
cdq
idiv ecx
mov dword [ebp - 0x37c], eax
cmp dword [ebp - 0x37c], 1
jg 0x50d12e
mov byte [ebp - 0x3a5], 1
mov edx, dword [ebp - 0x37c]
mov eax, 2
call fcn.00656b78
mov edx, eax
mov eax, 9
call fcn.00656b70
mov dword [ebp - 0x37c], eax
jmp 0x50d15b
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp + 0x1c]
sub eax, dword [edx + 4]
sub eax, 0xe
mov edx, dword [ebp - 0x378]
add edx, edx
imul edx, dword [ebp - 0x37c]
sub eax, edx
mov edx, dword [ebp - 0x37c]
add edx, edx
mov ecx, edx
cdq
idiv ecx
call fcn.00656b80
mov dword [ebp - 0x380], eax
cmp dword [ebp - 0x380], 1
jle 0x50d1b8
mov eax, dword [ebp - 0x380]
shr eax, 1
mov dword [ebp - 0x384], eax
mov eax, dword [ebp - 0x384]
sub dword [ebp - 0x380], eax
jmp 0x50d1c0
xor eax, eax
mov dword [ebp - 0x384], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0xb], 0
jne 0x50d1d2
cmp dword [ebp - 0x344], 0
jg 0x50d1dc
xor eax, eax
mov dword [ebp - 0x388], eax
jmp 0x50d222
cmp byte [ebp - 0x3a5], 0
je 0x50d1f3
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0x388], eax
jmp 0x50d222
mov eax, dword [ebp - 0x37c]
shr eax, 1
push eax
mov eax, dword [ebp - 0x344]
pop edx
sub eax, edx
call fcn.00656b80
mov edx, eax
mov eax, 9
sub eax, dword [ebp - 0x37c]
call fcn.00656b70
mov dword [ebp - 0x388], eax
cmp dword [ebp + 0xc], 0
je 0x50d5c9
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x3b0], eax
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 8]
mov edx, dword [ebp + 0x1c]
sub eax, dword [edx]
mov edx, dword [ebp - 0x3b0]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
mov al, byte [eax + 0xb]
xor al, 1
and eax, 0x7f
shl eax, 3
test eax, eax
jl 0x50d500
inc eax
mov dword [ebp - 0x3ac], eax
xor esi, esi
imul eax, esi, 0x2b
mov edx, dword [ebp - 4]
lea edi, [edx + eax*4 + 0x14]
mov ax, word [edi + 0x6a]
mov edx, dword [0x67304c]
cmp ax, word [edx]
jne 0x50d28b
xor eax, eax
mov dword [ebp - 0x390], eax
jmp 0x50d2a2
movsx eax, word [edi + 0x6a]
call fcn.006260e8
mov ecx, 5
cdq
idiv ecx
mov dword [ebp - 0x390], eax
mov ax, word [edi + 0x68]
mov edx, dword [0x67304c]
cmp ax, word [edx]
je 0x50d2c8
movsx eax, word [edi + 0x68]
call fcn.006260e8
mov ecx, 5
cdq
idiv ecx
add dword [ebp - 0x390], eax
mov eax, dword [ebp - 0x390]
add eax, 0xe
mov dword [ebp - 0x3a0], eax
cmp dword [edi + 8], 0
je 0x50d32c
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + 0x2c]
call fcn.006260e8
mov dword [ebp - 0x364], eax
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
call fcn.006260e8
mov dword [ebp - 0x360], eax
push ebp
lea ecx, [ebp - 0x448]
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x40c]
call fcn.0050cc00
pop ecx
mov eax, dword [ebp - 0x448]
add dword [ebp - 0x3a0], eax
jmp 0x50d401
push ebp
lea edx, [ebp - 0x410]
mov eax, esi
call fcn.0050cd34
pop ecx
mov eax, dword [ebp - 0x410]
mov edx, dword [eax + 4]
mov eax, dword [ebx + 0xc]
call fcn.0064b018
mov edx, dword [ebp - 0x40c]
mov eax, 0x24
call fcn.00656b70
mov edx, eax
shr edx, 1
mov eax, dword [ebx + 0xc]
call 0xecdc287c
push ebp
mov ebp, esp
sub esp, 0x1fbc
push ebx
push esi
push edi
push ecx
push edx
add esp, 4
and ecx, 0x1779f
sub ecx, 0x17cb7
jmp 0x50d38b
add ecx, 0x12b0e
pop ecx
push ecx
push eax
add esp, 4
sub ecx, 0xd02a
jmp 0x50d3a2
pop ecx
mov eax, 0x4d
mov word [ebp - 0x1ef4], ax
mov ecx, 0x42
mov word [ebp - 0x1ef2], cx
mov edx, 0x53
mov word [ebp - 0x1ef0], dx
mov eax, 0x65
mov word [ebp - 0x1eee], ax
mov ecx, 0x72
mov word [ebp - 0x1eec], cx
mov edx, 0x76
mov word [ebp - 0x1eea], dx
mov eax, 0x69
mov word [ebp - 0x1ee8], ax
mov ecx, 0x63
mov word [ebp - 0x1ee6], cx
mov edx, 0x65
mov word [ebp - 0x1ee4], dx
mov eax, 0x2e
mov word [ebp - 0x1ee2], ax
mov ecx, 0x65
mov word [ebp - 0x1ee0], cx
mov edx, 0x78
mov word [ebp - 0x1ede], dx
mov eax, 0x65
mov word [ebp - 0x1edc], ax
xor ecx, ecx
mov word [ebp - 0x1eda], cx
mov dword [ebp - 0xfac], 1
push esi
push esi
add esp, 4
jmp 0x50d460
invalid
pop esi
push edi
xor edi, 0x38da
jmp 0x50d46f
xor edi, 0x157a5
sub edi, 0x118cb
pop edi
push eax
or eax, 0x84c5
pop eax
imul edx, dword [ebp - 0xfac], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0xfac], 0x138
sub edx, eax
xor edx, 0xabe912
imul edx, dword [ebp - 0xfac]
imul ecx, dword [ebp - 0xfac], 0x138
sub edx, ecx
mov dword [ebp - 0xfb0], edx
push edi
push ecx
add esp, 4
add edi, 0x17d04
xor edi, 0xa30f
pop edi
push ebx
call 0x50d4e1
add byte [esi], dh
dec edx
cmp ecx, dword [edx + 0x34]
push eax
inc ebx
cmp byte [ebp - 0x7d], cl
les eax, [ecx + eax*4]
jecxz 0x50d539
popal
add dword [eax], eax
sub ebx, 0x13ab8
pop ebx
mov dword [ebp - 0x10], 1
push ebx
add ebx, 0x10c8a
sub ebx, 0x47a
call 0x50d514
add byte [ebx + ecx*2], bh
xor eax, 0x41363539
push eax
dec esi
add esp, 4
call 0x50d526
add byte [edi + 0x33], cl
xor al, byte [ebp + 0x3a]
inc edi
inc edx
xor al, byte [ebx + 0x695b04c4]
push ebp
invalid
jmp 0x50d57c
invalid
inc esp
cmp al, 0x4c
inc edi
inc esi
xor al, 0x3a
add esp, 4
add esp, 4
pop edx
push ecx
xor ecx, 0x708
or ecx, 0x17969
jmp 0x50d59c
add ecx, 0x78f3
pop ecx
push ebx
push eax
add esp, 4
jmp 0x50d5ad
pop ebx
push eax
push ecx
add esp, 4
or eax, 0x1467c
pop eax
mov dword [ebp - 0x2c], 1
push edx
xor edx, 0x4288
xor edx, 0x12e5f
pop edi
add dword cs:[eax], eax
xor edx, 0x21de
and edx, 0xda9b
pop edx
push eax
push ebx
add esp, 4
add eax, 0xb407
xor eax, 0x3844
or eax, 0x10cd0
pop eax
imul edx, dword [ebp - 0x2c], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x2c], 0x138
sub edx, eax
xor edx, 0
imul edx, dword [ebp - 0x2c]
imul ecx, dword [ebp - 0x2c], 0x138
sub edx, ecx
mov dword [ebp - 0x30], edx
jmp 0x50d7d4
mov ecx, dword [ebp - 0xfb0]
mov edx, dword [ebp - 0xfac]
mov dword [ebp - 0x152c], ecx
mov dword [ebp - 0x1528], edx
push ebx
jmp 0x50d7f4
pop ebx
push esi
push ecx
add esp, 4
and esi, 0x11ea4
jmp 0x50d806
call 0x50d814
add byte [ebp + 0x3f], cl
dec ecx
dec eax
dec ebp
dec ebx
dec edi
add esp, 4
and esi, 0x17d68
pop esi
push edx
push edi
add esp, 4
add edx, 0x37cd
pop edx
push edx
and edx, 0xd174
sub edx, 0x4a9b
sub edx, 0x3d76
call 0x50d84c
add byte [edx + esi], dh
inc ebx
push eax
dec ebx
xor eax, dword [esi + 0x45]
dec ebp
add esp, 4
pop edx
mov eax, dword [ebp - 0x30]
add eax, 0x138
imul ecx, dword [ebp - 0x2c], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x2c], 0x138
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1d2c], eax
push edx
push ecx
add esp, 4
or edx, 0x1b66
call 0x50d892
add byte [ecx + 0x4a], al
dec esi
xor al, 0x45
inc ebx
add esp, 4
pop edx
push edi
xor edi, 0x158de
pop edi
push esi
push edx
add esp, 4
jmp 0x50d8ab
pop esi
mov eax, dword [ebp - 0x152c]
add eax, 0x138
imul ecx, dword [ebp - 0x1528], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x1528], 0x138
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x1528]
mov dword [ebp - 0x1d28], eax
mov eax, dword [ebp - 0x1d28]
mov dword [ebp - 0x1d30], eax
mov ecx, dword [ebp - 0x1d2c]
cmp ecx, dword [ebp - 0x1d30]
jae 0x50d908
mov dword [ebp - 0x149c], 1
jmp 0x50d912
mov dword [ebp - 0x149c], 0
mov dl, byte [ebp - 0x149c]
mov byte [ebp - 0x382], dl
movzx eax, byte [ebp - 0x382]
test eax, eax
je 0x510985
push esi
push edi
add esp, 4
and esi, 0xc9c7
jmp 0x50d93d
call 0x50d949
add byte [esi + 0x33], cl
inc edx
inc eax
cmp byte [eax], bh
add esp, 4
xor esi, 0x2b65
pop esi
push ebx
push ebx
add esp, 4
sub ebx, 0x11fe9
pop ebx
push eax
push eax
add esp, 4
and eax, 0x161a8
xor eax, 0x7d8e
call 0x50d97f
add byte [esi], dh
push eax
dec ebx
cmp eax, dword [ebx + 0x37]
inc esi
xor eax, 0x4c48339
pop eax
push edx
or edx, 0x20d5
or edx, 0xc26d
pop edx
mov ecx, dword [ebp - 0x30]
add ecx, 0x138
imul edx, dword [ebp - 0x2c], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x2c], 0x138
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1d34], ecx
mov ecx, dword [ebp - 0x1d34]
mov dword [ebp - 0x1d38], ecx
cmp dword [ebp - 0x1d38], 0x63c1
jne 0x50db0c
push ebx
and ebx, 0x8ac
call 0x50d9ee
add byte [edx + 0x3a], al
dec eax
cmp eax, dword [eax + 0x40]
cmp eax, 0x4c4834a
pop ebx
push ecx
push edi
add esp, 4
add ecx, 0x9600
or ecx, 0xbbc3
or ecx, 0x16804
pop ecx
mov edx, dword [ebp - 0x14]
add edx, 0x138
imul eax, dword [ebp - 0x10], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x10], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x1d3c], edx
mov edx, dword [ebp - 0x1d3c]
mov dword [ebp - 0x1d40], edx
mov eax, dword [ebp - 0x1d40]
sub eax, 0x898
mov dword [ebp - 0x1d44], eax
mov dword [ebp - 0xfb4], 1
push ebx
jmp 0x50da63
xor ebx, 0x7f20
pop ebx
push edi
push edi
add esp, 4
and edi, 0x3829
call 0x50da82
add byte [eax + 0x3d], dl
inc eax
dec edi
inc eax
xor eax, dword [ebx + 0x535f04c4]
jmp 0x50da8c
pop ebx
imul ecx, dword [ebp - 0xfb4], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0xfb4], 0x138
sub ecx, edx
xor ecx, dword [ebp - 0x1d44]
imul ecx, dword [ebp - 0xfb4]
imul eax, dword [ebp - 0xfb4], 0x138
sub ecx, eax
mov dword [ebp - 0xfb8], ecx
mov ecx, dword [ebp - 0xfb8]
mov edx, dword [ebp - 0xfb4]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
push edx
push edi
add esp, 4
or edx, 0x17622
sub edx, 0x6880
pop edx
push eax
sub eax, 0xd1b4
add eax, 0x13d47
or eax, 0x12f88
pop eax
push edi
push ecx
add esp, 4
and edi, 0x12cc8
pop edi
push ecx
xor ecx, 0x6d5a
jmp 0x50db1c
add ecx, 0xe0ad
add ecx, 0xd0b4
pop ecx
push edi
push eax
add esp, 4
jmp 0x50db35
jmp 0x50db3d
pop edi
mov eax, dword [ebp - 0x14]
add eax, 0x138
imul ecx, dword [ebp - 0x10], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x10], 0x138
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x1d48], eax
mov eax, dword [ebp - 0x1d48]
mov dword [ebp - 0x1db8], eax
lea ecx, [ebp - 0x928]
mov dword [ebp - 0x3bc], ecx
mov edx, dword [ebp - 0x3bc]
mov dword [edx + 4], 1
push ecx
xor ecx, 0x17181
xor ecx, 0x1570c
sub ecx, 0x96ef
pop ecx
push ebx
push ecx
add esp, 4
jmp 0x50dbab
call 0x50dbbb
add byte [0x4245413b], dh
inc ecx
dec edx
dec ecx
inc esp
cmp eax, 0x5b04c483
mov eax, dword [ebp - 0x3bc]
imul ecx, dword [eax + 4], 0x138
add ecx, 0x44f3644b
mov edx, dword [ebp - 0x3bc]
imul eax, dword [edx + 4], 0x138
sub ecx, eax
xor ecx, 0x23
mov edx, dword [ebp - 0x3bc]
imul ecx, dword [edx + 4]
mov eax, dword [ebp - 0x3bc]
imul edx, dword [eax + 4], 0x138
sub ecx, edx
mov eax, dword [ebp - 0x3bc]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x3bc]
mov dword [ebp - 0x1f58], ecx
push eax
push esi
add esp, 4
call 0x50dc26
add byte [esi + 0x4c], al
xor al, 0x4e
inc edx
inc esp
dec esi
aas
dec ebx
add esp, 4
add eax, 0x9542
call 0x50dc3f
add byte [esi + 0x4a], al
dec ebx
inc esi
cmp edi, dword [ecx]
cmp byte [eax + 0x32], dl
xor al, 0x83
les eax, [eax + ebx*2]
mov dword [ebp - 0x14a4], 1
push ebx
push eax
add esp, 4
xor ebx, 0x12ad7
call 0x50dc64
add byte [edi + 0x34], cl
dec esi
cmp eax, 0x4c4834c
call 0x50dc75
add byte [ecx], bh
cmp al, 0x4b
inc eax
dec edi
inc ecx
xor ecx, dword [ebx - 0x7d]
les eax, [ecx + eax*4]
ret
mov al, 0xe2
invalid
mov dword [ebp - 0x3c0], 0
call 0x510994
mov eax, 0x13379797
pop eax
mov dword [ebp - 0x3c0], eax
push edx
push ebx
add esp, 4
or edx, 0x4a46
pop edx
push ecx
call 0x5109bc
add byte [eax + 0x3a], cl
inc edx
inc edx
inc esp
push eax
inc edi
xor eax, dword [ebx - 0x3e7efb3c]
xchg ecx, eax
xchg dword [eax], eax
add byte [ecx + 0x53], bl
push edx
add esp, 4
add ebx, 0x116a0
pop ebx
mov ecx, dword [ebp - 0x1fa0]
mov dword [ebp - 0x14b8], ecx
push edi
push eax
add esp, 4
call 0x5109ef
add byte [eax + 0x40], cl
dec ebp
inc eax
dec edx
add esp, 4
jmp 0x5109fb
jmp 0x510a03
pop edi
push ebx
push edi
add esp, 4
xor ebx, 0x1031f
pop ebx
mov edx, dword [ebp - 0x14]
add edx, 0x138
imul eax, dword [ebp - 0x10], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x10], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x14b8], edx
mov edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x1ef8], edx
mov eax, dword [ebp - 0x1ef8]
add eax, dword [ebp - 0x14b8]
mov dword [ebp - 0x3c0], eax
push esi
push eax
add esp, 4
call 0x510a6c
add byte [0x39433448], bh
inc eax
inc ecx
dec ebp
inc esp
add esp, 4
add esi, 0x13188
pop esi
push edx
push ecx
add esp, 4
and edx, 0x9249
jmp 0x510a89
pop edx
mov byte [ebp - 0xb78], 0x52
mov byte [ebp - 0xb77], 0xb9
mov byte [ebp - 0xb76], 0x10
mov byte [ebp - 0xb75], 0x10
mov byte [ebp - 0xb74], 0x10
mov byte [ebp - 0xb73], 0x10
mov byte [ebp - 0xb72], 0x5a
push edi
push ebx
add esp, 4
and edi, 0xf52e
jmp 0x510acf
sub edi, 0x1ffe
call 0x510ae1
add byte [ecx + 0x48], al
inc edi
aas
inc ecx
add esp, 4
pop edi
push esi
xor esi, 0x4c6
pop esi
mov byte [ebp - 0xb80], 0x52
mov byte [ebp - 0xb7f], 0xb9
mov byte [ebp - 0xb7e], 0x20
mov byte [ebp - 0xb7d], 0x20
mov byte [ebp - 0xb7c], 0x20
mov byte [ebp - 0xb7b], 0x20
mov byte [ebp - 0xb7a], 0x5a
push edi
add edi, 0x15f84
mov dword [edi + ebx*2 + 0x535f0001], 0x4c48356
and ebx, 0x12af0
and ebx, 0x15c87
and ebx, 0x127ca
call 0x510b4c
add byte [esi + 0x50], cl
xor ecx, dword [esi + esi + 0x3a]
dec ecx
dec esp
cmp byte [ebx - 0x38a4fb3c], al
test dword [eax - 1], ebx
dec dword [esi]
add byte [eax], al
add byte [ebx + 0x51], dl
add esp, 4
or ebx, 0xa24b
or ebx, 0xf87a
xor ebx, 0xb210
sub ebx, 0xb035
pop ebx
push edi
push esi
add esp, 4
and edi, 0xa228
jmp 0x510b8b
pop edi
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb78]
mov dword [ebp - 0x14bc], eax
push ecx
push ecx
add esp, 4
xor ecx, 0x8fae
call 0x510bb8
add byte [ebx + 0x4c], al
xor edi, dword [eax + edx*2]
aas
add esp, 4
call 0x510bc7
add byte [ecx], bh
inc ecx
cmp eax, 0x83504a49
les eax, [ecx + ebx*2]
push ecx
jmp 0x510bd2
pop ecx
mov dword [ebp - 0x1fa8], 0xffffffff
push ebx
push esi
add esp, 4
xor ebx, 0xd0b9
and ebx, 0x4e85
pop ebx
push edi
push esi
add esp, 4
and edi, 0x3073
xor edi, 0x28b3
pop edi
push edi
sub edi, 0xe563
add edi, 0xe4ee
pop edi
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4cc], ecx
jmp 0x510c2c
mov edx, dword [ebp - 0x4cc]
add edx, 1
mov dword [ebp - 0x4cc], edx
push ecx
push ebx
add esp, 4
and ecx, 0x89d6
pop ecx
push edi
call 0x510c46
add byte [0x3d48324b], bh
xor esi, dword [edx]
add esp, 4
jmp 0x510c51
add edi, 0x15c2
sub edi, 0x15cf9
pop edi
mov eax, dword [ebp - 0x4cc]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x510ca6
push edx
push eax
add esp, 4
or edx, 0xe4f5
pop edx
push esi
push ecx
add esp, 4
and esi, 0xda94
pop esi
push ecx
sub ecx, 0x16331
and ecx, 0x7fbe
add ecx, 0x10a13
and ecx, 0xd381
pop ecx
jmp 0x510ed4
mov dword [ebp - 0xc08], 7
mov ecx, dword [ebp - 0x4cc]
mov dword [ebp - 0xa68], ecx
push edx
push ebx
add esp, 4
add edx, 0xa57d
pop edx
push ebx
or ebx, 0xef40
xor ebx, 0x10a9e
jmp 0x510cdc
jmp 0x510ce5
pop ebx
push eax
add eax, 0x5e1
pop eax
mov edx, dword [ebp - 0x14bc]
mov dword [ebp - 0xa64], edx
mov dword [ebp - 0xc0c], 0
mov eax, dword [ebp - 0x4cc]
cmp eax, dword [ebp - 0x14bc]
jne 0x510d55
push edi
push ecx
add esp, 4
add edi, 0xed3b
add edi, 0x68b2
pop edi
push esi
sub esi, 0x6eb1
sub esi, 0x15f9b
call 0x510d40
add byte [esi + 0x3f], al
xor cl, byte [esi + 0x3c]
dec ebx
xor al, byte [ebp + 0x40]
add esp, 4
pop esi
mov ecx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], ecx
jmp 0x510e86
cmp dword [ebp - 0xc08], 0
jle 0x510e7a
push esi
push ecx
add esp, 4
add esi, 0xc1ed
xor esi, 0xa95
or esi, 0x10a90
pop esi
push eax
add eax, 0x448f
and eax, 0x13823
or eax, 0x8abc
xor eax, 0x4a87
pop eax
mov edx, dword [ebp - 0xa68]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa64]
movzx edx, byte [ecx]
cmp eax, edx
je 0x510e16
push eax
xor eax, 0x12e5e
or eax, 0x14435
pop eax
push esi
push edi
add esp, 4
jmp 0x510dc2
sub esi, 0x7afc
jmp 0x510dcd
pop esi
push edi
and edi, 0x14f81
sub edi, 0x4c15
pop edi
mov eax, dword [ebp - 0xa68]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa64]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x510dfe
mov dword [ebp - 0x14c0], 1
jmp 0x510e08
mov dword [ebp - 0x14c0], 0xffffffff
mov ecx, dword [ebp - 0x14c0]
mov dword [ebp - 0xc0c], ecx
jmp 0x510e7a
push ebx
push ebx
add esp, 4
and ebx, 0x15274
sub ebx, 0x1629f
and ebx, 0x4958
xor ebx, 0x1190
pop ebx
push edx
jmp 0x510e3b
add edx, 0xaef9
add edx, 0x15c52
pop edx
mov edx, dword [ebp - 0xc08]
sub edx, 1
mov dword [ebp - 0xc08], edx
mov eax, dword [ebp - 0xa68]
add eax, 1
mov dword [ebp - 0xa68], eax
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
jmp 0x510d55
mov edx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], edx
cmp dword [ebp - 0x14c4], 0
jne 0x510ecf
push ecx
push edi
add esp, 4
add ecx, 0xa066
call 0x510ea6
add byte [ebx + edi], dh
cmp al, 0x35
dec edi
aas
add esp, 4
jmp 0x510eaf
call 0x510ebd
add byte [edi + 0x49], al
dec esp
inc edi
xor dh, byte [0xc4833a46]
add al, 0x59
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0x3cc], eax
jmp 0x510f10
jmp 0x510c1d
push eax
push eax
add esp, 4
jmp 0x510ee2
sub eax, 0x8696
add eax, 0xb8c7
jmp 0x510ef3
pop eax
push ecx
push eax
add esp, 4
and ecx, 0x167e6
sub ecx, 0x10ed9
pop ecx
mov dword [ebp - 0x3cc], 0
push esi
push edi
add esp, 4
sub esi, 0x10ead
pop esi
push ebx
push ebx
add esp, 4
add ebx, 0x1bab
jmp 0x510f2f
pop ebx
push edx
push ecx
add esp, 4
sub edx, 0x25cd
sub edx, 0xeeb3
pop edx
push eax
add eax, 0x15dbf
pop eax
push ecx
push ebx
add esp, 4
and ecx, 0x14d5
pop ecx
push ebx
push esi
add esp, 4
add ebx, 0x17e80
sub ebx, 0x3d8b
and ebx, 0x17864
sub ebx, 0x4c55
pop ebx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb80]
mov dword [ebp - 0x14c8], eax
push esi
call 0x510f9a
add byte [esi + 0x32], al
inc edx
cmp byte [0x38353236], dh
dec ebp
add esp, 4
or esi, 0x1919
call 0x510fb1
add byte [ebx], bh
dec ebx
dec esp
dec esp
inc esp
xor esi, dword [edi + esi]
add esp, 4
xor esi, 0x14f8e
pop esi
mov dword [ebp - 0x1fac], 0xffffffff
push esi
or esi, 0xe2a8
pop esi
push ecx
push eax
add esp, 4
sub ecx, 0xa2b2
sub ecx, 0xc5d5
pop ecx
push eax
push ebx
add esp, 4
add eax, 0xee6b
sub eax, 0x9fcb
sub eax, 0x1e07
pop eax
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4d0], ecx
jmp 0x511014
mov edx, dword [ebp - 0x4d0]
add edx, 1
mov dword [ebp - 0x4d0], edx
push esi
push eax
add esp, 4
xor esi, 0xe5e5
add esi, 0xea05
or esi, 0x12cdc
sub esi, 0x10bdc
pop esi
push edx
xor edx, 0xe924
add edx, 0xe1c4
add edx, 0x11c6e
pop edx
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x51108e
push edi
add edi, 0xd48f
jmp 0x511063
call 0x51106f
add byte [eax + edi], bh
dec ebp
inc eax
aaa
cmp byte [ebx - 0x387efb3c], al
mov dl, 0xf0
add byte [eax], al
pop edi
push esi
or esi, 0xf8fe
pop esi
push edx
add edx, 0x1435b
pop edx
jmp 0x5112bc
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xa60], ecx
push ecx
push esi
add esp, 4
call 0x5110b7
add byte [edi + 0x4f], al
cmp dl, byte [eax + 0x4b]
cmp edi, dword [0x4c4834d]
pop ecx
push ecx
push esi
add esp, 4
add ecx, 0xae9a
and ecx, 0x740a
jmp 0x5110d5
pop ecx
mov edx, dword [ebp - 0x14c8]
mov dword [ebp - 0x9f0], edx
mov dword [ebp - 0xc14], 0
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0x14c8]
jne 0x51113d
push edi
push ecx
add esp, 4
sub edi, 0xf156
sub edi, 0x886c
and edi, 0x17a28
pop edi
push esi
and esi, 0x23ff
sub esi, 0x9a2f
or esi, 0x20fb
and esi, 0xea3d
pop esi
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], ecx
jmp 0x51126e
cmp dword [ebp - 0xc10], 0
jle 0x511262
push edi
push edx
add esp, 4
or edi, 0xd963
and edi, 0xe682
pop edi
push edx
or edx, 0x16ea8
add edx, 0xce95
sub edx, 0x2333
pop edx
push edx
push edx
add esp, 4
xor edx, 0x4591
pop edx
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x9f0]
movzx edx, byte [ecx]
cmp eax, edx
je 0x5111fe
push edx
add edx, 0x4565
and edx, 0xfac0
sub edx, 0x1ae0
and edx, 0x8804
pop edx
push edi
push edx
add esp, 4
or edi, 0x211
or edi, 0x1194c
and edi, 0x7801
pop edi
mov eax, dword [ebp - 0xa60]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x9f0]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x5111e6
mov dword [ebp - 0x14cc], 1
jmp 0x5111f0
mov dword [ebp - 0x14cc], 0xffffffff
mov ecx, dword [ebp - 0x14cc]
mov dword [ebp - 0xc14], ecx
jmp 0x511262
push ecx
sub ecx, 0x170dc
and ecx, 0x16594
sub ecx, 0x12406
or ecx, 0x13d40
pop ecx
push edi
push eax
add esp, 4
add edi, 0x352e
and edi, 0xb166
jmp 0x51122f
pop edi
mov edx, dword [ebp - 0xc10]
sub edx, 1
mov dword [ebp - 0xc10], edx
mov eax, dword [ebp - 0xa60]
add eax, 1
mov dword [ebp - 0xa60], eax
mov ecx, dword [ebp - 0x9f0]
add ecx, 1
mov dword [ebp - 0x9f0], ecx
jmp 0x51113d
mov edx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 0
jne 0x5112b7
push eax
push ebx
add esp, 4
add eax, 0x16f1d
sub eax, 0x18cc
add eax, 0xa398
add eax, 0x57b0
pop eax
push ebx
add ebx, 0x11f1d
xor ebx, 0x4e52
and ebx, 0x8a2b
pop ebx
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0xa5c], eax
jmp 0x5112f8
jmp 0x511005
push edx
push edi
add esp, 4
and edx, 0x16909
pop edx
push ecx
push ebx
add esp, 4
or ecx, 0x549e
jmp 0x5112dc
pop ecx
push esi
push esi
add esp, 4
jmp 0x5112e7
xor esi, 0x243
pop esi
mov dword [ebp - 0xa5c], 0
push ecx
add ecx, 0x15571
xor ecx, 0x9e47
add ecx, 0xc05c
or ecx, 0x1c0b
pop ecx
push ebx
push edx
add esp, 4
xor ebx, 0x3537
or ebx, 0x1751e
or ebx, 0x1386a
pop ebx
mov byte [ebp - 0x804], 0x45
mov byte [ebp - 0x803], 0x78
mov byte [ebp - 0x802], 0x69
mov byte [ebp - 0x801], 0x74
mov byte [ebp - 0x800], 0x50
mov byte [ebp - 0x7ff], 0x72
mov byte [ebp - 0x7fe], 0x6f
mov byte [ebp - 0x7fd], 0x63
mov byte [ebp - 0x7fc], 0x65
mov byte [ebp - 0x7fb], 0x73
mov byte [ebp - 0x7fa], 0x73
mov byte [ebp - 0x7f9], 0
push ecx
push edi
add esp, 4
call 0x511391
add byte [0x463e4f32], dh
xor bh, byte [ecx]
dec eax
add esp, 4
add ecx, 0xfc9f
pop ecx
push ebx
jmp 0x5113a3
pop ebx
push edx
push edx
add esp, 4
and edx, 0x166e4
pop edx
mov ecx, 0x6b
mov word [ebp - 0x1628], cx
mov edx, 0x65
mov word [ebp - 0x1626], dx
mov eax, 0x72
mov word [ebp - 0x1624], ax
mov ecx, 0x6e
mov word [ebp - 0x1622], cx
mov edx, 0x65
mov word [ebp - 0x1620], dx
mov eax, 0x6c
mov word [ebp - 0x161e], ax
mov ecx, 0x33
mov word [ebp - 0x161c], cx
mov edx, 0x32
mov word [ebp - 0x161a], dx
mov eax, 0x2e
mov word [ebp - 0x1618], ax
mov ecx, 0x64
mov word [ebp - 0x1616], cx
mov edx, 0x6c
mov word [ebp - 0x1614], dx
mov eax, 0x6c
mov word [ebp - 0x1612], ax
xor ecx, ecx
mov word [ebp - 0x1610], cx
push ecx
push ecx
add esp, 4
jmp 0x511457
pop ecx
push esi
xor esi, 0xc39b
and esi, 0x2ed0
call 0x511471
add byte [0x4a463232], bh
cmp dword [ebx - 0x117efb3c], eax
cld
push ebx
add byte [eax], al
pop esi
push ebx
push edi
add esp, 4
jmp 0x511489
or ebx, 0x15457
call 0x51149b
add byte [edx + 0x4e], al
inc esi
dec esi
inc esp
aas
add esp, 4
sub ebx, 0xcbd1
pop ebx
push edx
xor edx, 0xd145
pop edx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1890], edx
mov eax, dword [ebp - 0x1890]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1894], ecx
mov edx, dword [ebp - 0x1894]
mov dword [ebp - 0x14d4], edx
push esi
push edi
add esp, 4
or esi, 0x12999
xor esi, 0x22d8
pop esi
push edx
sub edx, 0x2aea
pop edx
push edx
push edx
add esp, 4
xor edx, 0x304a
pop edx
push ebx
push ecx
add esp, 4
sub ebx, 0x1589a
pop ebx
cmp dword [ebp - 0x14d4], 0
jne 0x51151f
mov dword [ebp - 0x2e0], 0
jmp 0x5117db
mov eax, dword [ebp - 0x14d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc20], edx
push edx
push ecx
add esp, 4
add edx, 0x123b9
or edx, 0xc076
or edx, 0x26a7
pop edx
push esi
sub esi, 0x56e
and esi, 0x149da
xor esi, 0xa9d0
add esi, 0x2f6c
pop esi
cmp dword [ebp - 0xc20], 0
jne 0x51157b
mov dword [ebp - 0x2e0], 0
jmp 0x5117db
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0x4d4], eax
push ebx
push edi
add esp, 4
or ebx, 0x3c47
call 0x51159f
add byte [eax + 0x4b], cl
push eax
inc ebp
aaa
dec ecx
cmp byte [ebx - 0xc7efb3c], al
sub dword [edx], eax
add dword [eax], eax
call 0x5115b5
add byte [esi + 0x38], al
inc eax
xor eax, 0x83324c32
les eax, [ebx + ebx*2]
lea ecx, [ebp - 0x1628]
mov dword [ebp - 0xc1c], ecx
mov edx, dword [ebp - 0x4d4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc18], eax
xor ecx, ecx
mov word [ebp - 0x1f8], cx
xor edx, edx
mov word [ebp - 0x100], dx
push ecx
push eax
add esp, 4
jmp 0x5115f2
pop ecx
push edx
xor edx, 0x17a9e
or edx, 0xb5c3
pop edx
push ecx
push eax
add esp, 4
xor ecx, 0x64f8
jmp 0x511611
or ecx, 0xc5b4
pop ecx
mov eax, dword [ebp - 0xc18]
mov cx, word [eax]
mov word [ebp - 0xf7e], cx
mov edx, dword [ebp - 0xc18]
add edx, 2
mov dword [ebp - 0xc18], edx
mov ax, word [ebp - 0xf7e]
mov word [ebp - 0x1f8], ax
mov ecx, dword [ebp - 0xc1c]
mov dx, word [ecx]
mov word [ebp - 0xf80], dx
mov eax, dword [ebp - 0xc1c]
add eax, 2
mov dword [ebp - 0xc1c], eax
mov cx, word [ebp - 0xf80]
mov word [ebp - 0x100], cx
push ebx
and ebx, 0x4814
call 0x511688
add byte [ebx], dh
xor al, 0x3e
cmp dword [edx], edi
xor bh, byte [ecx]
cmp dword [edi], esi
add esp, 4
and ebx, 0x7da4
pop ebx
push edi
push eax
add esp, 4
xor edi, 0xeff3
and edi, 0xe63f
pop edi
movzx edx, word [ebp - 0x100]
test edx, edx
jne 0x5116c7
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
sub eax, ecx
mov dword [ebp - 0x1498], eax
jmp 0x51172a
movzx edx, word [ebp - 0x1f8]
movzx eax, word [ebp - 0x100]
cmp edx, eax
je 0x5115e6
movzx ecx, word [ebp - 0x1f8]
xor ecx, 0x20
movzx edx, word [ebp - 0x100]
cmp ecx, edx
je 0x5115e6
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
cmp eax, ecx
jge 0x511714
mov dword [ebp - 0x14d8], 0xffffffff
jmp 0x51171e
mov dword [ebp - 0x14d8], 1
mov edx, dword [ebp - 0x14d8]
mov dword [ebp - 0x1498], edx
cmp dword [ebp - 0x1498], 0
jne 0x511773
push ebx
push esi
add esp, 4
and ebx, 0x12891
pop ebx
push edx
push ebx
add esp, 4
sub edx, 0x6a2d
pop edx
push edx
or edx, 0x1114e
and edx, 0xfce8
add edx, 0xf9a9
sub edx, 0x2bb6
pop edx
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x2e0], eax
jmp 0x5117db
push edx
and edx, 0x1850b
pop edx
push eax
and eax, 0x4485
jmp 0x511789
jmp 0x511790
pop eax
push esi
sub esi, 0x15c44
pop esi
push esi
push edx
add esp, 4
and esi, 0x168d7
pop esi
mov ecx, dword [ebp - 0x4d4]
mov edx, dword [ecx]
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d4]
cmp eax, dword [ebp - 0xc20]
je 0x5117d1
mov ecx, dword [ebp - 0x4d4]
cmp dword [ecx + 0x30], 0
jne 0x511587
mov dword [ebp - 0x2e0], 0
push edi
xor edi, 0x5cc5
jmp 0x5117e7
sub edi, 0x63da
pop edi
push edx
jmp 0x5117f8
sub edx, 0x12d0b
pop edx
push esi
xor esi, 0x13b26
or esi, 0x93a4
pop esi
cmp dword [ebp - 0x2e0], 0
jne 0x512126
mov edx, 0x6b
mov word [ebp - 0x16cc], dx
mov eax, 0x65
mov word [ebp - 0x16ca], ax
mov ecx, 0x72
mov word [ebp - 0x16c8], cx
mov edx, 0x6e
mov word [ebp - 0x16c6], dx
mov eax, 0x65
mov word [ebp - 0x16c4], ax
mov ecx, 0x6c
mov word [ebp - 0x16c2], cx
mov edx, 0x33
mov word [ebp - 0x16c0], dx
mov eax, 0x32
mov word [ebp - 0x16be], ax
mov ecx, 0x2e
mov word [ebp - 0x16bc], cx
mov edx, 0x64
mov word [ebp - 0x16ba], dx
mov eax, 0x6c
mov word [ebp - 0x16b8], ax
mov ecx, 0x6c
mov word [ebp - 0x16b6], cx
xor edx, edx
mov word [ebp - 0x16b4], dx
push eax
push esi
add esp, 4
jmp 0x5118c0
sub eax, 0x134d8
pop eax
push edi
push ecx
add esp, 4
xor edi, 0x28f2
pop edi
push eax
push eax
add esp, 4
and eax, 0x9ea4
xor eax, 0x180bd
pop eax
mov byte [ebp - 0x820], 0x4c
mov byte [ebp - 0x81f], 0x6f
mov byte [ebp - 0x81e], 0x61
mov byte [ebp - 0x81d], 0x64
mov byte [ebp - 0x81c], 0x4c
mov byte [ebp - 0x81b], 0x69
mov byte [ebp - 0x81a], 0x62
mov byte [ebp - 0x819], 0x72
mov byte [ebp - 0x818], 0x61
mov byte [ebp - 0x817], 0x72
mov byte [ebp - 0x816], 0x79
mov byte [ebp - 0x815], 0x57
mov byte [ebp - 0x814], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1898], eax
mov ecx, dword [ebp - 0x1898]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x189c], edx
mov eax, dword [ebp - 0x189c]
mov dword [ebp - 0x14dc], eax
push ecx
push esi
add esp, 4
add ecx, 0x5cf2
call 0x511980
add byte [edi + 0x40], al
xor eax, 0x3538463b
dec ebx
add esp, 4
pop ecx
push esi
call 0x511995
add byte [eax + 0x45], dl
cmp al, 0x34
dec eax
xor edi, dword [esi + edi]
xor bh, byte [ebx]
add esp, 4
pop esi
cmp dword [ebp - 0x14dc], 0
jne 0x5119b1
mov dword [ebp - 0x6ec], 0
jmp 0x511c6d
mov ecx, dword [ebp - 0x14dc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc2c], eax
push edi
push esi
add esp, 4
sub edi, 0x1eb0
pop edi
push esi
sub esi, 0xd486
and esi, 0x1678f
add esi, 0x347c
pop esi
push edx
push ecx
add esp, 4
and edx, 0x18080
add edx, 0x9442
pop edx
cmp dword [ebp - 0xc2c], 0
jne 0x511a0d
mov dword [ebp - 0x6ec], 0
jmp 0x511c6d
mov ecx, dword [ebp - 0xc2c]
mov dword [ebp - 0x4d8], ecx
push ecx
add ecx, 0x3b3f
and ecx, 0x26a4
jmp 0x511a2c
or ecx, 0x8afc
pop ecx
push eax
push ecx
add esp, 4
and eax, 0x1254e
xor eax, 0x14c6f
and eax, 0x17ef6
pop eax
lea edx, [ebp - 0x16cc]
mov dword [ebp - 0xc28], edx
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc24], ecx
xor edx, edx
mov word [ebp - 0x1fc], dx
xor eax, eax
mov word [ebp - 0x104], ax
push edi
xor edi, 0xdbc
xor edi, 0xf78c
sub edi, 0xe3c2
or edi, 0x9cd9
pop edi
push eax
push ecx
add esp, 4
sub eax, 0xf7b9
and eax, 0x756
or eax, 0x9571
pop eax
mov ecx, dword [ebp - 0xc24]
mov dx, word [ecx]
mov word [ebp - 0xf82], dx
mov eax, dword [ebp - 0xc24]
add eax, 2
mov dword [ebp - 0xc24], eax
mov cx, word [ebp - 0xf82]
mov word [ebp - 0x1fc], cx
mov edx, dword [ebp - 0xc28]
mov ax, word [edx]
mov word [ebp - 0xf84], ax
mov ecx, dword [ebp - 0xc28]
add ecx, 2
mov dword [ebp - 0xc28], ecx
mov dx, word [ebp - 0xf84]
mov word [ebp - 0x104], dx
push eax
xor eax, 0x2cb0
and eax, 0xe719
add eax, 0x3849
jmp 0x511b20
pop eax
push edx
jmp 0x511b29
or edx, 0xcf32
and edx, 0xd591
pop edx
movzx eax, word [ebp - 0x104]
test eax, eax
jne 0x511b59
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
sub ecx, edx
mov dword [ebp - 0x14e4], ecx
jmp 0x511bbc
movzx eax, word [ebp - 0x1fc]
movzx ecx, word [ebp - 0x104]
cmp eax, ecx
je 0x511a78
movzx edx, word [ebp - 0x1fc]
xor edx, 0x20
movzx eax, word [ebp - 0x104]
cmp edx, eax
je 0x511a78
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
cmp ecx, edx
jge 0x511ba6
mov dword [ebp - 0x14e0], 0xffffffff
jmp 0x511bb0
mov dword [ebp - 0x14e0], 1
mov eax, dword [ebp - 0x14e0]
mov dword [ebp - 0x14e4], eax
cmp dword [ebp - 0x14e4], 0
jne 0x511c05
push esi
or esi, 0x11335
jmp 0x511bd1
add esi, 0x13c41
pop esi
push eax
sub eax, 0x3b3f
call 0x511bed
add byte [edi], bh
cmp edi, dword [ecx]
aaa
dec eax
inc ecx
aaa
inc ebp
add esp, 4
add eax, 0x11b3d
pop eax
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x6ec], ecx
jmp 0x511c6d
push edi
or edi, 0x142e1
sub edi, 0xc4
xor edi, 0x116f5
pop edi
push ecx
push ebx
add esp, 4
call 0x511c2d
add byte [edi + 0x47], al
inc ebx
dec edx
dec eax
inc ecx
xor eax, dword [ebx - 0xe7efb3c]
cmp eax, 0x59000082
mov edx, dword [ebp - 0x4d8]
mov eax, dword [edx]
mov dword [ebp - 0x4d8], eax
mov ecx, dword [ebp - 0x4d8]
cmp ecx, dword [ebp - 0xc2c]
je 0x511c63
mov edx, dword [ebp - 0x4d8]
cmp dword [edx + 0x30], 0
jne 0x511a19
mov dword [ebp - 0x6ec], 0
push edi
push eax
add esp, 4
or edi, 0x3dcd
and edi, 0x1400b
xor edi, 0xef1f
pop edi
push edx
and edx, 0x8247
call 0x511c9b
add byte [eax], bh
inc ebp
xor bh, byte [edx]
inc ebx
dec eax
inc esi
cmp al, byte [esi - 0x7d]
les eax, [edx + ebx*2]
cmp dword [ebp - 0x6ec], 0
jne 0x511ce9
push ecx
or ecx, 0x13857
xor ecx, 0x397b
pop ecx
push ecx
sub ecx, 0x1268e
pop ecx
push eax
jmp 0x511cc7
pop eax
push ecx
push ecx
add esp, 4
xor ecx, 0x1523
sub ecx, 0x426c
pop ecx
mov dword [ebp - 0x738], 0
jmp 0x512810
push ecx
push ebx
add esp, 4
and ecx, 0x162c
pop ecx
push edx
add edx, 0x4c92
sub edx, 0x6db9
call 0x511d11
add byte [ebx], bh
xor dh, byte [ebx]
push eax
xor al, 0x46
cmp al, byte [edi + 0x3d]
add esp, 4
or edx, 0x15e7e
pop edx
mov eax, dword [ebp - 0x6ec]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x6fc], 0
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x14e8], edx
cmp dword [ebp - 0x14e8], 0
jne 0x511d5a
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x51204b
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x511d82
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x51204b
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x14ec]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x14f0], ecx
cmp dword [ebp - 0x14f0], 0
jne 0x511db4
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x51204b
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x511dd9
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x51204b
mov edx, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18a0], eax
mov ecx, dword [ebp - 0x6f0]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18a4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18a8], ecx
mov dword [ebp - 0x6f4], 0
jmp 0x511e33
mov edx, dword [ebp - 0x6f4]
add edx, 1
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x51203f
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x180], 0
jmp 0x511ea3
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
test eax, eax
je 0x511f55
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x511f55
push edx
xor edx, 0x168db
pop edx
push ecx
push esi
add esp, 4
or ecx, 0xa1c8
sub ecx, 0x130e0
and ecx, 0x1689e
sub ecx, 0x3637
pop ecx
push edx
push ecx
add esp, 4
or edx, 0xbddf
pop edx
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
cmp ecx, eax
je 0x511f47
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x180]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x180]
movsx ecx, byte [ebp + eax - 0x820]
cmp edx, ecx
jne 0x511f4e
jmp 0x511e94
jmp 0x511f55
push esi
xor esi, 0x9ca0
sub esi, 0x227f
xor esi, 0x16033
xor esi, 0x1407b
pop esi
push edx
push edi
add esp, 4
sub edx, 0xe046
add edx, 0x16fb2
xor edx, 0xe8c1
pop edx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
cmp eax, edx
jne 0x511fb4
mov dword [ebp - 0xc30], 0
jmp 0x512023
push edi
push edi
add esp, 4
add edi, 0x152c2
or edi, 0xe17
add edi, 0x11d57
and edi, 0x688e
pop edi
push ecx
sub ecx, 0x94a0
add ecx, 0xd51c
add ecx, 0x161ef
pop ecx
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
or eax, 0x20
cmp ecx, eax
jge 0x512019
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x512023
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x51203a
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x51204b
jmp 0x511e24
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x512126
push esi
xor esi, 0xdda
or esi, 0x1462e
pop esi
push esi
sub esi, 0x1824b
pop esi
push ebx
call 0x51207f
add byte [edx + 0x44], cl
dec ebp
inc ecx
dec esi
inc ebp
inc ebp
inc ecx
cmp eax, 0x4c48340
jmp 0x512089
pop ebx
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push ecx
push edx
add esp, 4
and ecx, 0x17c26
pop ecx
push edi
jmp 0x5120a8
pop edi
push edx
push eax
add esp, 4
and edx, 0x6c99
jmp 0x5120bb
jmp 0x5120c1
sub edx, 0x1262c
pop edx
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x512126
push eax
or eax, 0x12cf1
jmp 0x5120f5
pop eax
push ecx
add ecx, 0xb566
call 0x51210d
add byte [edi], dh
inc ebp
xor cl, byte [ebx + edi + 0x49]
xor eax, 0x83343748
les eax, [ecx + eax*4]
sal dword [edi], 0xe5
add byte [eax], al
pop ecx
mov dword [ebp - 0x738], 0
jmp 0x512810
push eax
and eax, 0x156e9
pop eax
push ebx
push ebx
add esp, 4
jmp 0x512138
pop ebx
push edi
push ecx
add esp, 4
add edi, 0x13e4e
pop edi
push ecx
jmp 0x51214b
and ecx, 0x3954
xor ecx, 0x5593
pop ecx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push esi
push ebx
add esp, 4
jmp 0x51218a
jmp 0x512193
sub esi, 0x10cf6
pop esi
push eax
push edx
add esp, 4
add eax, 0x17a71
jmp 0x5121aa
xor eax, 0x22c3
pop eax
cmp dword [ebp - 0x14f4], 0
jne 0x5121c9
mov dword [ebp - 0x2e0], 0
jmp 0x512470
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push edi
sub edi, 0xb85e
add edi, 0x1498b
jmp 0x5121f0
pop edi
push edi
and edi, 0xa7a9
or edi, 0x18465
jmp 0x512203
jmp 0x51220c
pop edi
cmp dword [ebp - 0xc3c], 0
jne 0x512225
mov dword [ebp - 0x2e0], 0
jmp 0x512470
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push edi
push ebx
add esp, 4
add edi, 0x1586d
call 0x51224b
add byte [ebp + 0x3e], cl
cmp al, 0x4d
aaa
dec ecx
dec esp
inc esi
dec ebx
add esp, 4
sub edi, 0x14ae9
pop edi
push edx
or edx, 0xc9d0
add edx, 0x7421
pop edx
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc38], edx
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc34], ecx
xor edx, edx
mov word [ebp - 0x200], dx
xor eax, eax
mov word [ebp - 0x34], ax
push edi
add edi, 0xca8c
xor edi, 0x12820
or edi, 0x17ab4
pop edi
push eax
push esi
add esp, 4
or eax, 0x51bd
add eax, 0x12eee
xor eax, 0xf135
xor eax, 0x8557
pop eax
mov ecx, dword [ebp - 0xc34]
mov dx, word [ecx]
mov word [ebp - 0xf86], dx
mov eax, dword [ebp - 0xc34]
add eax, 2
mov dword [ebp - 0xc34], eax
mov cx, word [ebp - 0xf86]
mov word [ebp - 0x200], cx
mov edx, dword [ebp - 0xc38]
mov ax, word [edx]
mov word [ebp - 0xf88], ax
mov ecx, dword [ebp - 0xc38]
add ecx, 2
mov dword [ebp - 0xc38], ecx
mov dx, word [ebp - 0xf88]
mov word [ebp - 0x34], dx
push ecx
and ecx, 0xb40e
pop ecx
push eax
or eax, 0x3e40
pop eax
push ebx
add ebx, 0xe4b4
pop ebx
push edx
add edx, 0xb818
pop edx
push edi
push ebx
add esp, 4
or edi, 0x15ed0
add edi, 0x11495
pop edi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x512365
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x5123bf
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x51228d
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x51228d
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x5123a9
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x5123b3
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x512408
push edi
push eax
add esp, 4
and edi, 0xdd60
pop edi
push ecx
push ecx
add esp, 4
add ecx, 0x12eb0
xor ecx, 0x3307
xor ecx, 0x6dc5
jmp 0x5123f1
pop ecx
push eax
xor eax, 0x11b30
pop eax
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x512470
push ecx
call 0x512417
add byte [edx], bh
xor ecx, dword [esi + 0x42]
dec edx
inc ebp
inc edx
xor al, byte [ebx - 0x367efb3c]
mov dword [edx], ebx
add byte [eax], al
jmp 0x512426
call 0x512436
add byte [eax + 0x3c], al
xor al, 0x4c
inc esp
dec eax
inc ebx
dec eax
inc ecx
cmp dword [ebx - 0x74a6fb3c], eax
xchg ebp, eax
and al, 0xfb
invalid
push edx
add edx, 0x2919
xor edx, 0x8a7
and edx, 0x26a6
xor edx, 0x344
pop edx
push esi
push ecx
add esp, 4
or esi, 0x83c0
or esi, 0x1030f
and esi, 0xad11
pop esi
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push edx
call 0x5124be
add byte [ecx + 0x39], cl
xor edi, dword ds:[eax + ecx*2]
add esp, 4
or edx, 0x12322
pop edx
push eax
push esi
add esp, 4
call 0x5124d9
add byte [ecx + ecx*2], bh
xor al, byte [ecx + 0x4e]
dec edi
add esp, 4
xor eax, 0x10ec6
pop eax
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x512513
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x512804
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x51253b
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x512804
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x51256d
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x512804
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x512592
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x512804
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x5125ec
mov edx, dword [ebp - 0x704]
add edx, 1
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x5127f8
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c0]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18cc], eax
mov dword [ebp - 0x184], 0
jmp 0x51265c
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
test eax, eax
je 0x51270e
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x51270e
push ebx
push esi
add esp, 4
or ebx, 0x96a2
or ebx, 0x113c2
xor ebx, 0x150ff
add ebx, 0x1229d
pop ebx
push edi
jmp 0x5126ae
sub edi, 0x13ca2
sub edi, 0x324f
pop edi
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
cmp ecx, eax
je 0x512700
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x184]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x184]
movsx ecx, byte [ebp + eax - 0x804]
cmp edx, ecx
jne 0x512707
jmp 0x51264d
jmp 0x51270e
push ebx
jmp 0x512715
or ebx, 0xdb85
xor ebx, 0x3af1
pop ebx
push ecx
push edi
add esp, 4
add ecx, 0xf004
or ecx, 0x40d
xor ecx, 0xa5a6
or ecx, 0x15fd8
pop ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
cmp eax, edx
jne 0x51276d
mov dword [ebp - 0xc40], 0
jmp 0x5127dc
push ebx
and ebx, 0xcc12
call 0x512783
add byte [edx], bh
inc ebx
inc ecx
xor eax, 0x3f434f49
dec esp
add esp, 4
call 0x512795
add byte [ebx], dh
xor al, 0x4a
cmp byte [esi + 0x33], cl
cmp byte [ecx + 0x3a], al
add esp, 4
and ebx, 0x16ed7
pop ebx
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
or eax, 0x20
cmp ecx, eax
jge 0x5127d2
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x5127dc
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x5127f3
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x512804
jmp 0x5125dd
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push eax
push esi
add esp, 4
add eax, 0x11302
pop eax
push ebx
sub ebx, 0x160ab
or ebx, 0x11886
sub ebx, 0x1648c
pop ebx
push esi
push ebx
add esp, 4
add esi, 0xfd2b
sub esi, 0x89c
pop esi
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push ecx
push esi
add esp, 4
call 0x512866
add byte [ecx*2 + 0x48434b4f], dh
cmp byte [edi], dh
cmp dword [esi - 0x7d], eax
les eax, [ecx + eax*4]
leave
mov cs, word [edi]
add al, ch
or eax, dword [eax]
add byte [eax], al
add byte [ebx + esi + 0x41], al
inc ecx
dec ebp
push eax
xor al, 0x50
dec ecx
xor eax, 0x5904c483
cmp dword [ebp - 0x3cc], 0
je 0x512895
cmp dword [ebp - 0xa5c], 0
jne 0x5128db
push esi
and esi, 0x2af6
add esi, 0xd02f
and esi, 0x118e7
pop esi
push eax
push ebx
add esp, 4
add eax, 0x4741
add eax, 0x12fed
xor eax, 0xa344
or eax, 0x4a57
pop eax
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push eax
call 0x5128f5
add byte [esi], bh
inc ecx
inc edi
dec ebx
dec esi
inc esi
cmp al, 0x39
add esp, 4
or eax, 0x8734
or eax, 0x592e
pop eax
push edx
jmp 0x51290e
pop edx
push eax
add eax, 0xa7ed
pop eax
mov eax, dword [ebp - 0x3cc]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x381], cl
mov edx, dword [ebp - 0xa5c]
sub edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x158c], edx
mov dword [ebp - 0xc70], 0
push edi
add edi, 0xeb36
call 0x512955
add byte [esi + 0x35], al
cmp al, 0x34
cmp eax, 0x8104c483
invalid