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

Disassembly:
cmp byte [ecx], al
add byte [eax], al
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 ecx
push ebx
add esp, 4
xor ecx, 0x10662
or ecx, 0x7320
call 0x5076a4
add byte [ebp + 0x4d], al
add byte [eax], al
add byte [eax], al
inc ebp
dec ebp
inc edx
dec ebx
cmp byte [ebx - 0x7d], al
les eax, [ecx + eax*4]
loope 0x50769a
je 0x5076ad
add byte [ecx + 0x53], bl
pop ecx
push ebx
jmp 0x5076b8
pop ebx
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 eax
xor eax, 0xbc31
pop eax
push esi
or esi, 0x165b4
sub esi, 0xe039
pop esi
push edx
sub edx, 0xe892
jmp 0x50770f
sub edx, 0x15258
and edx, 0x38ac
pop edx
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 esi
or esi, 0x164b2
add esi, 0x1187a
pop esi
push esi
push edx
add esp, 4
and esi, 0xd80f
add esi, 0xe436
xor esi, 0xa383
pop esi
push edi
push ecx
add esp, 4
add edi, 0xc641
pop edi
mov dword [ebp - 0x1fa4], 0xe
push ebx
push edi
add esp, 4
xor ebx, 0x9c22
add ebx, 0x2214
pop ebx
push ebx
push edi
add esp, 4
or ebx, 0x16108
pop ebx
push ecx
push edx
add esp, 4
or ecx, 0x10484
pop ecx
push eax
and eax, 0x1632
pop eax
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb78]
mov dword [ebp - 0x14bc], eax
push ebx
push esi
add esp, 4
or ebx, 0x9a70
or ebx, 0xc818
and ebx, 0xa275
xor ebx, 0x148f1
pop ebx
push ecx
xor ecx, 0x4ab1
pop ecx
push edx
push edi
add esp, 4
and edx, 0x16bf3
pop edx
mov dword [ebp - 0x1fa8], 0xffffffff
push ebx
and ebx, 0xf2bd
add ebx, 0x2ac0
or ebx, 0x11162
pop ebx
push ebx
push ebx
add esp, 4
xor ebx, 0x15643
sub ebx, 0x34a1
xor ebx, 0x1103b
sub ebx, 0x2163
pop ebx
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4cc], ecx
jmp 0x50785b
mov edx, dword [ebp - 0x4cc]
add edx, 1
mov dword [ebp - 0x4cc], edx
push ebx
or ebx, 0x2990
pop ebx
push edx
push esi
add esp, 4
add edx, 0x405d
and edx, 0xc87c
xor edx, 0x6497
and edx, 0x4442
pop edx
push ecx
push esi
add esp, 4
and ecx, 0x15c9a
pop ecx
mov eax, dword [ebp - 0x4cc]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x5078d5
push edx
push edx
add esp, 4
call 0x5078b2
add byte [eax + 0x3f], cl
cmp bh, byte [edx]
inc ecx
xor eax, 0x8334473d
les eax, [ecx + eax*4]
ret 0x42ff
mov dword [ebp - 0xc08], 7
mov ecx, dword [ebp - 0x4cc]
mov dword [ebp - 0xa68], ecx
push ecx
push edx
add esp, 4
sub ecx, 0xed61
xor ecx, 0xb55f
or ecx, 0x6cab
pop ecx
push edi
push ecx
add esp, 4
sub edi, 0xa08d
jmp 0x507916
sub edi, 0x152b3
pop edi
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 0x507984
push eax
or eax, 0x9408
xor eax, 0x5cac
or eax, 0x134bf
pop eax
push esi
call 0x507964
add byte [eax + 0x40], cl
xor al, byte [ebp + 0x34]
dec edx
cmp al, 0x33
add esp, 4
or esi, 0xcd29
jmp 0x507972
pop esi
mov ecx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], ecx
jmp 0x507ab5
cmp dword [ebp - 0xc08], 0
jle 0x507aa9
push esi
push eax
add esp, 4
add esi, 0x7b8
xor esi, 0x2196
xor esi, 0x48a5
sub esi, 0xf65b
pop esi
push ecx
or ecx, 0xd319
or ecx, 0x779a
or ecx, 0x3471
pop ecx
mov edx, dword [ebp - 0xa68]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa64]
movzx edx, byte [ecx]
cmp eax, edx
je 0x507a45
push esi
add esi, 0xfd41
jmp 0x5079e5
add esi, 0xf2e7
xor esi, 0x2d06
pop esi
push ecx
push ebx
add esp, 4
jmp 0x5079fe
pop ecx
push ecx
push edi
add esp, 4
and ecx, 0x9494
pop ecx
mov eax, dword [ebp - 0xa68]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa64]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x507a2d
mov dword [ebp - 0x14c0], 1
jmp 0x507a37
mov dword [ebp - 0x14c0], 0xffffffff
mov ecx, dword [ebp - 0x14c0]
mov dword [ebp - 0xc0c], ecx
jmp 0x507aa9
push ecx
add ecx, 0xfa6f
add ecx, 0x4feb
pop ecx
push edx
jmp 0x507a5a
or edx, 0x15ac
or edx, 0x17423
call 0x507a73
add byte [ecx], bh
dec eax
cmp byte ds:[eax + 0x36], cl
add esp, 4
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 0x507984
mov edx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], edx
cmp dword [ebp - 0x14c4], 0
jne 0x507afe
push eax
sub eax, 0x2ed5
sub eax, 0x136d6
and eax, 0x1158e
pop eax
push edx
push ebx
add esp, 4
or edx, 0xfb8a
and edx, 0x65fa
or edx, 0xa1e
sub edx, 0x116c0
pop edx
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0x3cc], eax
jmp 0x507b3f
jmp 0x50784c
push eax
push ebx
add esp, 4
or eax, 0xd40a
pop eax
push ecx
push ecx
add esp, 4
add ecx, 0x1104e
add ecx, 0x17336
xor ecx, 0xa7d6
pop ecx
push ecx
sub ecx, 0x14565
sub ecx, 0x16dc7
pop ecx
push esi
xor esi, 0x22e1
add esi, 0x7f0a
and esi, 0x13607
or esi, 0x1e82
pop esi
push edi
push edx
add esp, 4
or edi, 0xd16a
sub edi, 0x10d5
sub edi, 0xde4f
pop edi
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb80]
mov dword [ebp - 0x14c8], eax
push ecx
jmp 0x507bc2
pop ecx
push edx
push ecx
add esp, 4
and edx, 0xa31b
jmp 0x507bd4
pop edx
push esi
call 0x507be6
add byte [eax + ecx*2 + 0x47], al
xor cl, byte [edx + 0x4f]
inc esi
xor al, 0x3c
inc ebp
add esp, 4
pop esi
mov dword [ebp - 0x1fac], 0xffffffff
push ecx
jmp 0x507bfa
pop ecx
push eax
push ecx
add esp, 4
sub eax, 0xa897
xor eax, 0xa476
pop eax
push esi
or esi, 0x15cd6
pop esi
push edx
push ebx
add esp, 4
jmp 0x507c1f
or edx, 0x11d84
pop edx
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4d0], ecx
jmp 0x507c43
push ecx
push ecx
add esp, 4
add ecx, 0x6ee1
jmp 0x507c56
sub ecx, 0x94e6
pop ecx
push edx
push edi
add esp, 4
sub edx, 0x3c82
sub edx, 0xc572
sub edx, 0x1fcf
pop edx
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x507cbd
push esi
or esi, 0x2f34
sub esi, 0xd73c
sub esi, 0x14405
xor esi, 0x1e82
pop esi
push ecx
push eax
add esp, 4
sub ecx, 0x134b5
xor ecx, 0x13e82
add ecx, 0x100dc
pop ecx
jmp 0x507eeb
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xa60], ecx
push ecx
call 0x507ce4
add byte [edi + 0x38], al
inc edi
inc ecx
inc esi
cmp ecx, dword [ebx + 0x4b]
xor al, 0x4d
add esp, 4
jmp 0x507cee
call 0x507cfb
add byte [ecx + 0x3d], cl
inc esi
inc ecx
inc eax
cmp dword [esi - 0x7d], eax
les eax, [ecx + eax*4]
int1
sbb byte [esi], 1
add byte [ecx - 0x75], bl
xchg ebp, eax
cmp bl, ch
invalid
push edi
xor edi, 0x12366
add edi, 0x1441a
pop edi
push edi
push edi
add esp, 4
xor edi, 0x33c2
pop edi
push eax
push eax
add esp, 4
jmp 0x507f10
add eax, 0xbf8f
and eax, 0x6861
pop eax
mov dword [ebp - 0xa5c], 0
push esi
push edi
add esp, 4
add esi, 0x16c83
pop esi
push edx
sub edx, 0x1ed5
pop edx
push edi
push edi
add esp, 4
and edi, 0x2675
xor edi, 0x185ba
or edi, 0x14657
xor edi, 0x5a5
pop edi
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 eax
push ebx
add esp, 4
call 0x507fc0
add byte [ebx + 0x36], cl
inc esp
inc ebp
dec ebp
cmp al, byte [esi + 0x36]
add esp, 4
jmp 0x507fca
and eax, 0x15077
or eax, 0x115c7
pop eax
push edi
xor edi, 0x10a8
pop edi
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 eax
push ebx
add esp, 4
jmp 0x508082
pop eax
push ebx
push esi
add esp, 4
call 0x508095
add byte [ebx], bh
dec ebx
cmp dword [edi], esi
cmp eax, 0xc4834e47
add al, 0xeb
add eax, dword [ebp + 0x41]
inc ebx
sub ebx, 0x5103
and ebx, 0x4488
pop ebx
push ecx
xor ecx, 0x3461
or ecx, 0xb602
call 0x5080c6
add byte [esi], dh
cmp al, byte [edi + 0x3f]
xor al, byte [ecx + 0x33]
inc ecx
dec ebx
add esp, 4
sub ecx, 0xb910
pop ecx
push edi
push edi
add esp, 4
add edi, 0x17ff6
pop edi
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 eax
push edx
add esp, 4
call 0x508117
add byte [0x4e34363e], bh
push eax
dec ecx
add esp, 4
sub eax, 0x8b3c
or eax, 0x174a9
call 0x508132
add byte [edx], bh
cmp eax, 0x3e4d3648
add esp, 4
pop eax
cmp dword [ebp - 0x14d4], 0
jne 0x50814e
mov dword [ebp - 0x2e0], 0
jmp 0x50840a
mov eax, dword [ebp - 0x14d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc20], edx
push esi
and esi, 0x3f1e
pop esi
push ecx
sub ecx, 0x23ed
call 0x50817e
add byte [ebx + 0x36], al
inc esp
inc ebx
inc eax
xor eax, 0xc483504e
add al, 0x59
push eax
xor eax, 0xfad6
pop eax
push ecx
add ecx, 0x10710
pop ecx
cmp dword [ebp - 0xc20], 0
jne 0x5081aa
mov dword [ebp - 0x2e0], 0
jmp 0x50840a
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0x4d4], eax
push eax
xor eax, 0xab3f
pop eax
push edi
push eax
add esp, 4
add edi, 0x86c6
jmp 0x5081d0
add edi, 0x653b
call 0x5081e4
add byte [ebx + 0x3d], al
cmp dword [ecx + 0x4f], eax
dec ebp
dec esp
xor al, byte [ebx - 0x72a0fb3c]
invalid
push edx
push esi
add esp, 4
or edx, 0x13bf6
or edx, 0xff43
and edx, 0xd83e
add edx, 0x6c80
pop edx
push esi
xor esi, 0x109ed
add esi, 0x20ae
or esi, 0x11e2e
pop esi
cmp dword [ebp - 0x2e0], 0
jne 0x508d55
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
add eax, 0xa967
or eax, 0xf565
jmp 0x5084f5
call 0x508504
add byte [ecx + eax*2 + 0x50], cl
cmp dh, byte [esi]
dec ebp
xor al, 0x34
xor eax, dword [ebx + 0x575804c4]
push eax
add esp, 4
xor edi, 0x2443
pop edi
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 ebx
call 0x5085a6
add byte [edx], bh
aaa
inc eax
xor al, 0x3d
xor al, 0x3e
xor eax, dword [eax - 0x7d]
les eax, [ecx + eax*4]
ret
push edi
push edi
add esp, 4
sub edi, 0x1258d
jmp 0x508d65
call 0x508d71
add byte [ecx + 0x3b], cl
inc edx
inc ebp
dec esp
inc ebx
add esp, 4
pop edi
push edi
push eax
add esp, 4
and edi, 0x181dd
add edi, 0x7a98
pop edi
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 edx
sub edx, 0x4b57
xor edx, 0x1226
add edx, 0xdb64
sub edx, 0xa78b
pop edx
push eax
push eax
add esp, 4
xor eax, 0x5f19
pop eax
push ecx
push edx
add esp, 4
sub ecx, 0x17d0c
pop ecx
cmp dword [ebp - 0x14f4], 0
jne 0x508df8
mov dword [ebp - 0x2e0], 0
jmp 0x50909f
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push edi
push ecx
add esp, 4
add edi, 0x17d97
pop edi
push ebx
and ebx, 0xd25d
pop ebx
push esi
push esi
add esp, 4
add esi, 0x135d8
sub esi, 0x17ae
sub esi, 0x167bf
add esi, 0x3542
pop esi
cmp dword [ebp - 0xc3c], 0
jne 0x508e54
mov dword [ebp - 0x2e0], 0
jmp 0x50909f
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push esi
and esi, 0x16014
xor esi, 0x14c4e
pop esi
push ebx
push eax
add esp, 4
xor ebx, 0x17d46
pop ebx
push esi
jmp 0x508e83
pop esi
push ebx
or ebx, 0xb177
add ebx, 0x16f30
pop ebx
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 eax
xor eax, 0x5adc
xor eax, 0x9dff
add eax, 0x3e3f
pop eax
push edi
push edx
add esp, 4
or edi, 0xb451
and edi, 0x8edb
or edi, 0x7aa8
and edi, 0x35f
pop edi
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 esi
sub esi, 0x6ea0
call 0x508f59
add byte [edi], bh
xor al, 0x40
cmp dword ds:[ecx], edi
aas
add esp, 4
xor esi, 0x15b9a
sub esi, 0x14e4d
pop esi
push eax
push edx
add esp, 4
jmp 0x508f76
pop eax
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x508f94
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x508fee
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x508ebc
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x508ebc
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x508fd8
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x508fe2
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x509037
push ecx
or ecx, 0x183dd
or ecx, 0xa497
or ecx, 0x2a91
add ecx, 0x16276
pop ecx
push esi
push edi
add esp, 4
xor esi, 0xbab8
add esi, 0x790b
add esi, 0x1635
pop esi
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x50909f
push eax
push eax
add esp, 4
and eax, 0x5dd5
and eax, 0x9d8e
jmp 0x50904f
pop eax
push edi
jmp 0x509059
sub edi, 0xb709
jmp 0x509068
pop edi
mov edx, dword [ebp - 0x4dc]
mov eax, dword [edx]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [ebp - 0xc3c]
je 0x509095
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x508e60
mov dword [ebp - 0x2e0], 0
push eax
add eax, 0xff0e
call 0x5090b5
add byte [edx], dh
aas
dec ebp
dec edx
cmp al, byte ds:[esi + 0x4b]
add esp, 4
pop eax
push ecx
jmp 0x5090bf
call 0x5090cd
add byte [esi + 0x48], al
xor cl, byte [ebx + 0x32]
cmp byte [esi + 0x46], cl
add esp, 4
pop ecx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push eax
or eax, 0x2e9e
jmp 0x5090ed
add eax, 0x267d
pop eax
push ecx
push ecx
add esp, 4
and ecx, 0x1494b
call 0x50910e
add byte [0x3b494046], dh
dec esi
inc ebp
xor al, 0x36
add esp, 4
pop ecx
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x509142
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x509433
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x50916a
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x509433
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 0x50919c
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x509433
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x5091c1
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x509433
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 0x50921b
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x509427
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 0x50928b
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 0x50933d
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x50933d
push ecx
push edx
add esp, 4
sub ecx, 0x10acc
call 0x5092cf
add byte [edi + 0x3e], al
push eax
dec edx
inc esi
xor al, byte [ebx + 0x525904c4]
and edx, 0x8b5
call 0x5092e6
add byte [esi], bh
xor eax, 0x4d464c4b
add esp, 4
pop edx
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 0x50932f
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 0x509336
jmp 0x50927c
jmp 0x50933d
push ecx
push edi
add esp, 4
call 0x509351
add byte [esi], dh
cmp dword [ebx + 0x39], eax
dec eax
dec ebx
push eax
xor al, byte [ebx - 0x1e7efb3c]
sub dword [ebx - 0x1e7f0000], esi
hlt
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push ebx
xor ebx, 0xfc2
and ebx, 0x7212
call 0x509459
add byte [ebp + 0x38], al
inc ebp
inc ebp
dec ebp
dec eax
add esp, 4
pop ebx
push eax
and eax, 0x6c94
or eax, 0x15a50
jmp 0x509470
pop eax
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push ebx
and ebx, 0x1177f
call 0x509494
add byte [ecx], bh
dec edi
cmp al, 0x4e
dec ebx
xor eax, 0x4c48350
pop ebx
push eax
sub eax, 0x2089
and eax, 0xae32
and eax, 0xb916
xor eax, 0x190d
pop eax
cmp dword [ebp - 0x3cc], 0
je 0x5094c4
cmp dword [ebp - 0xa5c], 0
jne 0x50950a
push edx
sub edx, 0xfaf8
pop edx
push edx
push ecx
add esp, 4
and edx, 0x58de
pop edx
push ecx
push eax
add esp, 4
and ecx, 0x165f9
xor ecx, 0x8b53
pop ecx
push eax
push ebx
add esp, 4
add eax, 0xda55
pop eax
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push edx
jmp 0x50951a
call 0x50952a
add byte [esi], bh
inc ecx
push eax
cmp ecx, dword [ecx + 0x45]
dec ebp
dec esp
dec esi
add esp, 4
call 0x50953c
add byte [edi], dh
aas
dec esp
inc eax
cmp al, 0x4f
cmp al, 0x37
dec edx
add esp, 4
sub edx, 0x1583a
pop edx
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 edx
call 0x509582
add byte [ebx + 0x33], al
cmp byte [ebp + 0x44], al
dec edx
push eax
xor cl, byte [edi - 0x7d]
les eax, [edx + ebx*2]
push ecx
and ecx, 0x18646
add ecx, 0x14979
jmp 0x50959c
or ecx, 0x9b91
pop ecx
mov byte [ebp - 0x960], 0x56
mov byte [ebp - 0x95f], 0x69
mov byte [ebp - 0x95e], 0x72
mov byte [ebp - 0x95d], 0x74
mov byte [ebp - 0x95c], 0x75
mov byte [ebp - 0x95b], 0x61
mov byte [ebp - 0x95a], 0x6c
mov byte [ebp - 0x959], 0x50
mov byte [ebp - 0x958], 0x72
mov byte [ebp - 0x957], 0x6f
mov byte [ebp - 0x956], 0x74
mov byte [ebp - 0x955], 0x65
mov byte [ebp - 0x954], 0x63
mov byte [ebp - 0x953], 0x74
mov byte [ebp - 0x952], 0
push edx
push ebx
add esp, 4
call 0x50961d
add byte [ebx], dh
dec edx
dec ecx
inc ebp
add esp, 4
xor edx, 0x10
call 0x509634
add byte [edx], dh
push eax
inc esi
cmp eax, 0x364e3947
add esp, 4
or edx, 0x570c
pop edx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c34], eax
mov ecx, dword [ebp - 0x1c34]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18d4], edx
mov eax, dword [ebp - 0x18d4]
mov dword [ebp - 0x150c], eax
push ebx
push edi
add esp, 4
and ebx, 0x1701f
pop ebx
push ecx
push edx
add esp, 4
add ecx, 0x8b45
pop ecx
push esi
call 0x50968d
add byte [eax + eax*2], dh
xor esi, dword [ecx + eax*2]
cmp dword [ecx + 0x48], eax
dec esi
add esp, 4
sub esi, 0xb8e2
pop esi
cmp dword [ebp - 0x150c], 0
jne 0x5096af
mov dword [ebp - 0x2a8], 0
jmp 0x509956
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push ecx
push ebx
add esp, 4
call 0x5096d2
add byte [edx + 0x38], cl
dec edi
aas
inc eax
cmp eax, dword [ebx + 0x9e804c4]
add byte [eax], al
add byte [eax], al
inc ecx
inc eax
push eax
inc eax
dec ebp
cmp eax, 0xc4834b3d
add al, 0x81
leave
cld
mov ch, 0
add byte [ecx + 0x1139fe1], al
add byte [ecx - 0x7d], bl
mov ebp, 0xfffff3b4
add byte [ebp + 0xf], dh
mov dword [ebp - 0x2a8], 0
jmp 0x509956
push edx
push ebx
add esp, 4
sub edx, 0xf893
and edx, 0xd5fa
and edx, 0x17cfc
pop edx
push esi
call 0x50997c
add byte [ecx + 0x4e], al
cmp eax, 0x4a343b4b
add esp, 4
pop esi
push ebx
xor ebx, 0x8d36
pop ebx
cmp dword [ebp - 0x2a8], 0
jne 0x50a28d
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push ebx
jmp 0x509a37
call 0x509a44
add byte [edx + 0x4e], cl
push eax
dec ebx
dec ebp
dec eax
dec edx
add esp, 4
pop ebx
push edi
push edi
add esp, 4
call 0x509a5c
add byte [0x32404336], dh
xor dh, byte [edi]
cmp eax, dword ds:[ebx - 0x39a0fb3c]
test eax, edx
idiv edi
dec dword [esi + eax*8 - 0x7b]
sal edi, 1
invalid
push ecx
push ecx
add esp, 4
or ecx, 0x416c
or ecx, 0x15ddb
jmp 0x50a2a4
pop ecx
push eax
sub eax, 0x142fb
or eax, 0x12eda
sub eax, 0xa9
sub eax, 0x17c41
pop eax
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push ebx
push edx
add esp, 4
sub ebx, 0x101a6
jmp 0x50a2f8
and ebx, 0x1113e
pop ebx
push edx
and edx, 0x11250
or edx, 0xe268
and edx, 0x16e6a
sub edx, 0xecfe
pop edx
cmp dword [ebp - 0x1574], 0
jne 0x50a331
mov dword [ebp - 0x2a8], 0
jmp 0x50a5d8
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push esi
or esi, 0x17efc
and esi, 0x104f9
add esi, 0xf076
pop esi
push edi
push ebx
add esp, 4
call 0x50a36b
add byte [edi], dh
aaa
xor eax, 0x3b3c3237
inc eax
add esp, 4
add edi, 0xffa0
pop edi
cmp dword [ebp - 0xc68], 0
jne 0x50a38d
mov dword [ebp - 0x2a8], 0
jmp 0x50a5d8
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push eax
push esi
add esp, 4
and eax, 0x1b24
sub eax, 0xe069
pop eax
push edi
push edi
add esp, 4
jmp 0x50a3b7
pop edi
push ecx
call 0x50a3c7
add byte [esi + 0x40], al
cmp byte [edi + 0x37], al
push eax
xor cl, byte [edx - 0x7d]
les eax, [ecx + ebx*2]
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push edi
push ecx
add esp, 4
or edi, 0xfe6d
pop edi
push esi
push esi
add esp, 4
add esi, 0x448d
and esi, 0xd10a
pop esi
push ebx
xor ebx, 0xc6a1
pop ebx
push esi
push ecx
add esp, 4
and esi, 0x5242
pop esi
mov edx, dword [ebp - 0xc60]
mov ax, word [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push edi
add edi, 0xb40b
jmp 0x50a48c
pop edi
push edx
push ecx
add esp, 4
or edx, 0xc922
and edx, 0x18258
pop edx
push eax
jmp 0x50a4a9
sub eax, 0x12dd8
pop eax
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x50a4cd
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x50a527
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x50a3f5
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x50a3f5
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x50a511
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x50a51b
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x50a570
push edi
call 0x50a540
add byte [edi], dh
inc ecx
dec eax
inc esp
inc ebp
dec ecx
xor bh, byte [eax]
dec ebp
add esp, 4
or edi, 0xf78c
call 0x50a558
add byte [esi + edi], bh
cmp dword [esi + 0x34], eax
xor al, 0x38
inc ebx
inc esi
add esp, 4
or edi, 0x14f7f
pop edi
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x50a5d8
push ebx
xor ebx, 0x73b8
pop ebx
push edx
push ebx
add esp, 4
add edx, 0x10cfb
pop edx
push edx
push edi
add esp, 4
and edx, 0x6a49
xor edx, 0xbe1c
add edx, 0x17a81
add edx, 0xab51
pop edx
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
cmp edx, dword [ebp - 0xc68]
je 0x50a5ce
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x50a399
mov dword [ebp - 0x2a8], 0
push eax
push ebx
add esp, 4
call 0x50a5ea
add byte [edi], dh
cmp byte [edi], bh
inc esp
cmp eax, dword [ecx + 0x4e]
add esp, 4
jmp 0x50a5f4
call 0x50a600
add byte [ebx], bh
inc ebp
aaa
inc esp
xor eax, 0x4c4833f
and eax, 0x15342
pop eax
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push edx
add edx, 0x1d91
add edx, 0x429c
pop edx
push ebx
sub ebx, 0x14519
pop ebx
push esi
push esi
add esp, 4
call 0x50a641
add byte [edx + 0x4c], al
cmp eax, 0x44374c42
add esp, 4
xor esi, 0xf67c
pop esi
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x50a67b
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x50a96c
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x50a6a3
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x50a96c
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x50a6d5
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x50a96c
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x50a6fa
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x50a96c
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x50a754
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x50a960
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x50a7c4
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x50a876
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x50a876
push esi
call 0x50a7ff
add byte [esi], dh
cmp al, 0x47
inc eax
dec edx
dec edi
cmp byte [ebx - 0x197efb3c], al
invalid
push esi
push edi
add esp, 4
jmp 0x50a881
add esi, 0x10523
add esi, 0x9948
and esi, 0x6fd3
pop esi
push ecx
or ecx, 0x3317
or ecx, 0x18564
sub ecx, 0x6e06
pop ecx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x50a8d5
mov dword [ebp - 0xc6c], 0
jmp 0x50a944
push esi
xor esi, 0x139d4
xor esi, 0x16b97
pop esi
push eax
add eax, 0x5d70
and eax, 0x4d79
pop eax
push ebx
and ebx, 0xdde4
pop ebx
push ecx
sub ecx, 0x2f26
or ecx, 0xddb9
pop ecx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x50a93a
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x50a944
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x50a95b
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x50a96c
jmp 0x50a745
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx