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

Disassembly:
add esp, 4
and edi, 0x3844
call 0x504d05
add byte [0x443b503f], bh
cmp edi, dword [ebx]
add esp, 4
or edi, 0x1615b
pop edi
mov eax, dword [ebp - 0xa68]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa64]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x504d31
mov dword [ebp - 0x14c0], 1
jmp 0x504d3b
mov dword [ebp - 0x14c0], 0xffffffff
mov ecx, dword [ebp - 0x14c0]
mov dword [ebp - 0xc0c], ecx
jmp 0x504dad
mov edx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], edx
cmp dword [ebp - 0x14c4], 0
jne 0x504e02
push ecx
add ecx, 0x1813d
pop ecx
push edx
push edx
add esp, 4
xor edx, 0x14b5c
and edx, 0x8d46
pop edx
push ecx
push edi
add esp, 4
add ecx, 0x17303
sub ecx, 0x112bf
xor ecx, 0x126ba
pop ecx
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0x3cc], eax
jmp 0x504e43
jmp 0x504b50
push ebx
push esi
add esp, 4
jmp 0x504e50
or ebx, 0x7f72
sub ebx, 0xd25e
pop ebx
push esi
push edx
add esp, 4
add esi, 0x11ae9
pop esi
push esi
push ecx
add esp, 4
or esi, 0x12e57
pop esi
push ecx
xor ecx, 0x173db
add ecx, 0x276e
pop ecx
push eax
push ebx
add esp, 4
call 0x504e97
add byte [ebp + 0x46], al
inc esi
cmp al, 0x50
dec edx
inc esi
dec ebx
aaa
add esp, 4
add eax, 0x6080
xor eax, 0x9c51
pop eax
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb80]
mov dword [ebp - 0x14c8], eax
push esi
sub esi, 0x50d6
add esi, 0x3c6b
pop esi
push eax
call 0x504ed7
add byte [esi], dh
dec edi
xor eax, 0x83403543
les eax, [eax + ebp*8]
or eax, dword [eax]
add byte [eax], al
add byte [eax + 0x50], dl
dec edx
xor dh, byte [0x48474544]
xor eax, 0x5804c483
mov dword [ebp - 0x1fac], 0xffffffff
push eax
push ecx
add esp, 4
or eax, 0x144cb
jmp 0x504f0b
pop eax
push esi
push esi
add esp, 4
and esi, 0x10503
xor esi, 0x87b6
sub esi, 0xa2f2
or esi, 0x12b63
pop esi
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4d0], ecx
jmp 0x504f47
mov edx, dword [ebp - 0x4d0]
add edx, 1
mov dword [ebp - 0x4d0], edx
push edi
sub edi, 0x2615
and edi, 0x125fb
add edi, 0xf5
pop edi
push esi
push ecx
add esp, 4
sub esi, 0xc2d6
pop esi
push edi
push ecx
add esp, 4
and edi, 0x3d81
add edi, 0x17da4
pop edi
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x504fc1
push edx
add edx, 0x410b
call 0x504f9d
add byte [esi], dh
inc edi
cmp bh, byte [esp + edi]
add esp, 4
add edx, 0xf30e
pop edx
push ecx
call 0x504fb8
add byte [ecx + 0x4c], cl
cmp byte [esi], bh
dec ebp
cmp esi, dword [edi]
dec eax
cmp dword [ebx - 0x16a6fb3c], eax
add al, byte cs:[eax]
add bh, al
test eax, esi
invalid
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xa60], ecx
push edi
push edi
add esp, 4
sub edi, 0xefb0
pop edi
push edx
push edx
add esp, 4
or edx, 0x4d0c
pop edx
push esi
or esi, 0xcb85
xor esi, 0x134b2
and esi, 0xb9ee
add esi, 0x15f25
pop esi
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 0x505070
push esi
xor esi, 0xf8e8
pop esi
push eax
push ebx
add esp, 4
jmp 0x505041
pop eax
push edi
jmp 0x50504a
jmp 0x505051
jmp 0x505056
pop edi
push ebx
xor ebx, 0x120f3
pop ebx
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], ecx
jmp 0x5051a1
cmp dword [ebp - 0xc10], 0
jle 0x505195
push edi
push eax
add esp, 4
add edi, 0xa206
and edi, 0xf9e2
sub edi, 0x15e93
pop edi
push esi
add esi, 0x130ec
pop esi
push esi
push edi
add esp, 4
sub esi, 0x10d6d
and esi, 0x4012
pop esi
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x9f0]
movzx edx, byte [ecx]
cmp eax, edx
je 0x505131
push edi
add edi, 0x7754
add edi, 0xb700
pop edi
push ebx
call 0x5050e2
add byte [edx], bh
cmp eax, dword [edi + 0x3a]
dec ebx
aaa
xor eax, dword [ebx + eax*4 - 0x3c]
add al, 0xe8
or dword [eax], eax
add byte [eax], al
add byte [edx + 0x3e], cl
inc edx
cmp ecx, dword [ecx + 0x4a]
cmp al, 0x83
les eax, [ebx + ebx*2]
mov eax, dword [ebp - 0xa60]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x9f0]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x505119
mov dword [ebp - 0x14cc], 1
jmp 0x505123
mov dword [ebp - 0x14cc], 0xffffffff
mov ecx, dword [ebp - 0x14cc]
mov dword [ebp - 0xc14], ecx
jmp 0x505195
push edi
add edi, 0x16fd8
add edi, 0x16db9
sub edi, 0x1641d
sub edi, 0x143e
pop edi
push esi
push edi
add esp, 4
sub esi, 0xc6aa
sub esi, 0x11a07
and esi, 0x82de
pop esi
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 0x505070
mov edx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 0
jne 0x5051ea
push edi
push esi
add esp, 4
jmp 0x5051b5
jmp 0x5051bc
pop edi
push eax
add eax, 0x1449d
or eax, 0x177f1
sub eax, 0xc3d1
pop eax
push edi
push esi
add esp, 4
jmp 0x5051db
pop edi
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0xa5c], eax
jmp 0x50522b
jmp 0x504f38
push eax
push eax
add esp, 4
or eax, 0xb4d6
pop eax
push esi
or esi, 0x1548b
pop esi
push eax
push edx
add esp, 4
sub eax, 0x10117
xor eax, 0x9bd0
and eax, 0xa11e
and eax, 0x16eaa
pop eax
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
or ecx, 0xa156
pop ecx
push ebx
push edi
add esp, 4
jmp 0x5052c7
pop ebx
push edx
push edi
add esp, 4
jmp 0x5052d6
and edx, 0xce13
or edx, 0x47f4
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 eax
push edx
add esp, 4
add eax, 0x1136d
or eax, 0x150ed
pop eax
push ebx
and ebx, 0x152f9
pop ebx
push edx
push ebx
add esp, 4
xor edx, 0xd185
or edx, 0x3760
add edx, 0x6809
pop edx
push ebx
push eax
add esp, 4
add ebx, 0x347e
pop ebx
push ebx
and ebx, 0x14e5
and ebx, 0x13d5
pop ebx
push edx
push edx
add esp, 4
xor edx, 0x17253
and edx, 0x153a8
xor edx, 0x7bbb
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 ebx
and ebx, 0x1324a
call 0x50541b
add byte [eax + 0x45], al
dec ecx
xor eax, dword [eax + 0x4f]
add esp, 4
or ebx, 0x532e
sub ebx, 0x13be2
pop ebx
push esi
jmp 0x505433
sub esi, 0x111de
pop esi
cmp dword [ebp - 0x14d4], 0
jne 0x505452
mov dword [ebp - 0x2e0], 0
jmp 0x50570e
mov eax, dword [ebp - 0x14d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc20], edx
push edi
sub edi, 0x3146
xor edi, 0x129c4
jmp 0x505478
pop edi
push edx
push esi
add esp, 4
or edx, 0x7998
xor edx, 0xc7a9
jmp 0x50548f
and edx, 0x14cf
pop edx
cmp dword [ebp - 0xc20], 0
jne 0x5054ae
mov dword [ebp - 0x2e0], 0
jmp 0x50570e
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0x4d4], eax
push edi
push ecx
add esp, 4
xor edi, 0x12ca5
pop edi
push esi
sub esi, 0xf642
or esi, 0x15e00
sub esi, 0x5458
sub esi, 0x6a2d
pop esi
push ecx
push esi
add esp, 4
xor ecx, 0x12149
pop ecx
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 edx
xor edx, 0xc605
call 0x50552f
add byte [edi + edi], dh
inc esi
xor al, 0x43
dec ebx
dec esi
cmp byte [eax - 0x7d], cl
les eax, [ecx + eax*4]
ret 0x6eea
push esi
jmp 0x505718
call 0x505727
add byte [edx + 0x4a], cl
xor al, byte [esp + esi + 0x39]
dec eax
cmp eax, dword [edx - 0x7d]
les eax, [ecx + eax*4]
out 0xde, al
mov dword [0x7e80000], eax
add byte [eax], al
add byte [eax], al
inc esp
inc esp
aaa
dec esi
push eax
xor al, byte [ebx - 0x7ca1fb3c]
mov ebp, 0xfffffd20
add byte [edi], cl
test dword [ecx + ecx], ecx
add byte [eax], al
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 esi
push esi
add esp, 4
add esi, 0xcd50
jmp 0x5057fa
pop esi
push esi
sub esi, 0x17bf
or esi, 0x629b
call 0x505814
add byte [edi + 0x3f], al
inc edi
xor cl, byte [ecx + 0x47]
add esp, 4
pop esi
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
xor ebx, 0x163fb
call 0x5058b0
add byte [ebx + edi + 0x4e], al
xor eax, dword [ebx + 0x33]
cmp byte [esi + 0x3d], cl
add esp, 4
call 0x5058c2
add byte [ecx + 0x49], al
inc ebx
dec ebx
cmp byte [ebx + 0x45], al
inc ebp
dec ebx
add esp, 4
or ebx, 0x5f5e
pop ebx
cmp dword [ebp - 0x14dc], 0
jne 0x5058e4
mov dword [ebp - 0x6ec], 0
jmp 0x505ba0
mov ecx, dword [ebp - 0x14dc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc2c], eax
push ebx
xor ebx, 0xffd2
xor ebx, 0x111e8
call 0x505910
add byte [esi], bh
inc esi
dec eax
dec esi
dec esp
cmp byte [eax - 0x7d], dl
les eax, [ecx + eax*4]
jecxz 0x505913
and ebx, 0x155fd
push ebp
add dword [eax], eax
pop ebx
push edi
and edi, 0xb5f9
or edi, 0xaf8b
pop edi
cmp dword [ebp - 0xc2c], 0
jne 0x505940
mov dword [ebp - 0x6ec], 0
jmp 0x505ba0
mov ecx, dword [ebp - 0xc2c]
mov dword [ebp - 0x4d8], ecx
push eax
sub eax, 0x2ba0
and eax, 0xb347
or eax, 0x1705c
pop eax
push edx
push edi
add esp, 4
add edx, 0xe24a
or edx, 0x35f7
sub edx, 0x90ac
add edx, 0x4e80
pop edx
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 edx
call 0x5059bb
add byte [edx + 0x45], cl
dec eax
inc ebp
xor cl, byte [ecx + eax*2 + 0x39]
cmp eax, dword [ebx + 0x525a04c4]
push edx
add esp, 4
or edx, 0xdf77
or edx, 0x138cc
xor edx, 0x3d75
or edx, 0x8d78
pop edx
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, 0x6932
pop eax
push eax
push ebx
add esp, 4
and eax, 0x3761
and eax, 0x8c8e
add eax, 0x17697
xor eax, 0xf1ab
pop eax
push ebx
push ecx
add esp, 4
add ebx, 0x3da5
pop ebx
movzx eax, word [ebp - 0x104]
test eax, eax
jne 0x505a8c
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
sub ecx, edx
mov dword [ebp - 0x14e4], ecx
jmp 0x505aef
movzx eax, word [ebp - 0x1fc]
movzx ecx, word [ebp - 0x104]
cmp eax, ecx
je 0x5059ab
movzx edx, word [ebp - 0x1fc]
xor edx, 0x20
movzx eax, word [ebp - 0x104]
cmp edx, eax
je 0x5059ab
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
cmp ecx, edx
jge 0x505ad9
mov dword [ebp - 0x14e0], 0xffffffff
jmp 0x505ae3
mov dword [ebp - 0x14e0], 1
mov eax, dword [ebp - 0x14e0]
mov dword [ebp - 0x14e4], eax
cmp dword [ebp - 0x14e4], 0
jne 0x505b38
push ecx
push edx
add esp, 4
xor ecx, 0x142c
xor ecx, 0x2603
and ecx, 0x166d9
sub ecx, 0x4673
pop ecx
push ecx
or ecx, 0xcf73
add ecx, 0xf76f
or ecx, 0x17d85
pop ecx
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x6ec], ecx
jmp 0x505ba0
push eax
push edi
add esp, 4
jmp 0x505b43
pop eax
push esi
push esi
add esp, 4
or esi, 0xd7da
sub esi, 0x12810
sub esi, 0x1c29
pop esi
push esi
sub esi, 0x2e46
add esi, 0x42b
pop esi
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 0x505b96
mov edx, dword [ebp - 0x4d8]
cmp dword [edx + 0x30], 0
jne 0x50594c
mov dword [ebp - 0x6ec], 0
push edx
sub edx, 0x17918
xor edx, 0x5f40
add edx, 0x5a02
add edx, 0x118b4
pop edx
push ecx
push edi
add esp, 4
jmp 0x505bc5
add ecx, 0x4828
xor ecx, 0x7f25
pop ecx
cmp dword [ebp - 0x6ec], 0
jne 0x505c1c
push ecx
call 0x505bec
add byte [ecx + 0x43], al
xor al, 0x4e
xor edi, dword [eax]
aaa
inc edx
dec edx
cmp eax, 0xeb04c483
pop es
dec esp
aaa
aaa
dec ebx
dec ebp
cmp ebx, dword [ecx + 0x50]
xor eax, 0x4271
pop eax
push edx
push ecx
add esp, 4
xor edx, 0x10376
pop edx
mov dword [ebp - 0x738], 0
jmp 0x506743
push ebx
push edx
add esp, 4
and ebx, 0x57e4
sub ebx, 0xeb21
add ebx, 0x10ccc
and ebx, 0x125b
pop ebx
push esi
jmp 0x505c41
xor esi, 0x5de9
jmp 0x505c4d
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 0x505c8d
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x505f7e
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x505cb5
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x505f7e
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 0x505ce7
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x505f7e
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x505d0c
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x505f7e
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 0x505d66
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 0x505f72
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 0x505dd6
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 0x505e88
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x505e88
push ecx
call 0x505e10
add byte [ecx + 0x4c], cl
dec eax
dec ebx
inc esi
add esp, 4
pop ecx
push esi
push eax
add esp, 4
or esi, 0xbdd8
call 0x505e2b
add byte [ebx], dh
push eax
inc esi
inc ebp
inc ecx
add esp, 4
or esi, 0x12525
pop esi
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 0x505e7a
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 0x505e81
jmp 0x505dc7
jmp 0x505e88
push ebx
or ebx, 0xe6b6
xor ebx, 0x2501
pop ebx
push eax
push edx
add esp, 4
sub eax, 0x363c
call 0x505eb0
add byte [eax + eax*2], bh
xor eax, dword [eax + 0x45]
dec ebp
dec eax
cmp eax, 0x4c48348
or eax, 0x245e
pop eax
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 0x505ee7
mov dword [ebp - 0xc30], 0
jmp 0x505f56
push edi
push edi
add esp, 4
sub edi, 0x8e72
pop edi
push edi
push eax
add esp, 4
call 0x505f04
add byte [ebx + 0x4d], al
dec eax
cmp edx, dword [eax + 0x44]
add esp, 4
add edi, 0x9fa5
and edi, 0x125de
jmp 0x505f18
pop edi
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 0x505f4c
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x505f56
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x505f6d
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x505f7e
jmp 0x505d57
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x506059
push ecx
and ecx, 0x6b8e
pop ecx
push edi
sub edi, 0x1553f
jmp 0x505fa2
sub edi, 0xa562
pop edi
push eax
jmp 0x505faf
pop eax
push esi
push edx
add esp, 4
jmp 0x505fbc
pop esi
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push edx
push edi
add esp, 4
or edx, 0x1454e
sub edx, 0x6bc4
add edx, 0x132
pop edx
push edi
xor edi, 0x13e52
sub edi, 0x1ead
xor edi, 0xd739
add edi, 0xb440
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 0x506059
push edi
push ebx
add esp, 4
call 0x506029
add byte [edi], bh
aas
cmp byte [ebx + 0x3c], al
xor eax, dword [ebx + 0x505f04c4]
jmp 0x506036
or eax, 0xeb3e
xor eax, 0xf3df
jmp 0x506049
pop eax
mov dword [ebp - 0x738], 0
jmp 0x506743
push ecx
sub ecx, 0xed03
and ecx, 0x16b15
and ecx, 0xb870
sub ecx, 0xc734
pop ecx
push ecx
push eax
add esp, 4
call 0x506087
add byte [ebx + 0x4d], cl
inc ebx
cmp byte [ecx + 0x49], cl
cmp eax, 0xc4833a49
add al, 0x59
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
jmp 0x5060b9
jmp 0x5060c0
pop edx
push edx
sub edx, 0x439
pop edx
push ecx
push edi
add esp, 4
add ecx, 0x26fd
jmp 0x5060dc
jmp 0x5060e3
pop ecx
cmp dword [ebp - 0x14f4], 0
jne 0x5060fc
mov dword [ebp - 0x2e0], 0
jmp 0x5063a3
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push edi
push ebx
add esp, 4
jmp 0x506119
sub edi, 0x145c6
xor edi, 0x5806
or edi, 0x12ddf
pop edi
push eax
xor eax, 0x4a23
sub eax, 0x13911
or eax, 0x9ad6
pop eax
cmp dword [ebp - 0xc3c], 0
jne 0x506158
mov dword [ebp - 0x2e0], 0
jmp 0x5063a3
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push eax
sub eax, 0x18437
xor eax, 0xee32
pop eax
push ecx
push eax
add esp, 4
xor ecx, 0x12d13
sub ecx, 0x3f6d
pop ecx
push edx
push edx
add esp, 4
sub edx, 0x3335
xor edx, 0x177e6
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 edx
push esi
add esp, 4
and edx, 0x2094
jmp 0x5061d2
and edx, 0x15bc9
pop edx
push esi
add esi, 0xfa36
xor esi, 0x5d6f
sub esi, 0xce5b
jmp 0x5061f1
pop esi
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
or esi, 0x15d43
pop esi
push eax
xor eax, 0x178ef
jmp 0x50625f
call 0x50626d
add byte [edi], dh
aaa
cmp byte [edi + 0x49], al
aaa
dec ecx
dec esp
add esp, 4
pop eax
push esi
jmp 0x50627a
pop esi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x506298
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x5062f2
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x5061c0
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x5061c0
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x5062dc
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x5062e6
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x50633b
push ebx
push edx
add esp, 4
call 0x50630d
add byte [edi], bh
dec esi
inc edx
dec ecx
cmp eax, dword [edx - 0x7d]
les eax, [ebx + ebp*8]
add al, 0x36
inc ebx
inc esi
dec eax
and ebx, 0x1b05
jmp 0x506324
pop ebx
push edi
sub edi, 0x12d37
pop edi
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x5063a3
push esi
push edx
add esp, 4
jmp 0x506348
or esi, 0x11e8a
pop esi
push ebx
push esi
add esp, 4
sub ebx, 0x5057
sub ebx, 0xe09b
or ebx, 0xce10
sub ebx, 0x11241
pop ebx
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 0x506399
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x506164
mov dword [ebp - 0x2e0], 0
push ebx
push ebx
add esp, 4
sub ebx, 0xd710
jmp 0x5063b6
pop ebx
push edx
push edx
add esp, 4
sub edx, 0x8938
pop edx
push ecx
push eax
add esp, 4
or ecx, 0x18587
sub ecx, 0xc781
pop ecx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push edx
push ebx
add esp, 4
jmp 0x5063f2
and edx, 0x4b68
and edx, 0xbc8e
call 0x50640a
add byte [ebx], dh
cmp byte [eax], bh
dec edi
inc esp
xor al, byte [ebx + 0x515a04c4]
or ecx, 0x18565
pop ecx
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x506446
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x506737
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x50646e
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x506737
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 0x5064a0
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x506737
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x5064c5
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x506737
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 0x50651f
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 0x50672b
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 0x50658f
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 0x506641
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x506641
push eax
push edi
add esp, 4
jmp 0x5065c8
pop eax
push edi
push edx
add esp, 4
sub edi, 0x6e46
pop edi
push edi
add edi, 0x16bd
call 0x5065ea
add byte [ecx + 0x48], al
cmp byte [eax + 0x3f], al
cmp eax, 0xc4834e34
add al, 0x5f
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 0x506633
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 0x50663a
jmp 0x506580
jmp 0x506641
push ecx
push eax
add esp, 4
sub ecx, 0x1825f
xor ecx, 0x30b0
jmp 0x506658
pop ecx
push edx
sub edx, 0x828c
pop edx
push edi
push esi
add esp, 4
sub edi, 0x4583
and edi, 0x1c3e
pop edi
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 0x5066a0
mov dword [ebp - 0xc40], 0
jmp 0x50670f
push ecx
sub ecx, 0x279e
add ecx, 0x6351
pop ecx
push eax
push eax
add esp, 4
and eax, 0x8241
pop eax
push edx
sub edx, 0x704f
call 0x5066ce
add byte [esi], bh
cmp byte ds:[eax + 0x4c], cl
inc esp
dec edi
add esp, 4
pop edx
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 0x506705
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x50670f
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x506726
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x506737
jmp 0x506510
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push edi
or edi, 0xa1bf
sub edi, 0xc3fa
pop edi
push ebx
push esi
add esp, 4
sub ebx, 0x64b8
and ebx, 0x22f2
add ebx, 0xc727
pop ebx
push ebx
push edi
add esp, 4
or ebx, 0x3436
pop ebx
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push ebx
or ebx, 0x13771
pop ebx
push ecx
call 0x50679a
add byte [esi + 0x4f], cl
inc ebx
dec ebx
inc ebp
inc ebp
add esp, 4
or ecx, 0x47c
or ecx, 0x55a9
pop ecx
push esi
push eax
add esp, 4
or esi, 0xb14b
pop esi
cmp dword [ebp - 0x3cc], 0
je 0x5067c8
cmp dword [ebp - 0xa5c], 0
jne 0x50680e
push edi
push ebx
add esp, 4
add edi, 0x19cb
or edi, 0x17f3c
and edi, 0x162c1
add edi, 0xc4af
pop edi
push eax
and eax, 0xcba9
pop eax
push eax
push edi
add esp, 4
xor eax, 0x98c1
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
sub eax, 0xa919
or eax, 0x17fd0
and eax, 0xfe1a
pop eax
push edi
push ebx
add esp, 4
or edi, 0x13fb8
or edi, 0x427e
xor edi, 0x9e56
and edi, 0xfa7e
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
and ebx, 0x4ee
jmp 0x506883
xor ebx, 0x42bf
jmp 0x50688e
pop ebx
push esi
push ecx
add esp, 4
jmp 0x50689a
xor esi, 0x15739
add esi, 0x60b8
pop esi
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 edi
sub edi, 0x16219
xor edi, 0x12e5b
pop edi
push ebx
push ebx
add esp, 4
call 0x506930
add byte [esi], bh
xor ecx, dword [ebp + 0x4f]
inc eax
xor eax, 0x4c4834d
add ebx, 0x10cfb
pop ebx
push eax
xor eax, 0x906c
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 ecx
push edi
add esp, 4
or ecx, 0xdaa1
add ecx, 0x115dd
sub ecx, 0xe122
pop ecx
push esi
push edi
add esp, 4
and esi, 0x10042
jmp 0x506994
add esi, 0x147d8
pop esi
cmp dword [ebp - 0x150c], 0
jne 0x5069b3
mov dword [ebp - 0x2a8], 0
jmp 0x506c5a
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push esi
add esi, 0x83a1
pop esi
push edx
or edx, 0x1809e
add edx, 0xa942
sub edx, 0xb798
add edx, 0x165da
pop edx
push ebx
or ebx, 0x673a
pop ebx
push eax
sub eax, 0xa296
pop eax
cmp dword [ebp - 0xc4c], 0
jne 0x506a0f
mov dword [ebp - 0x2a8], 0
jmp 0x506c5a
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x4e4], ecx
push esi
add esi, 0x7e23
pop esi
push edi
xor edi, 0x6749
and edi, 0xda04
jmp 0x506a36
jmp 0x506a3e
pop edi
push ebx
sub ebx, 0x149ca
add ebx, 0x1097e
pop ebx
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc48], edx
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc44], ecx
xor edx, edx
mov word [ebp - 0x204], dx
xor eax, eax
mov word [ebp - 0x38], ax
push eax
push ebx
add esp, 4
jmp 0x506a81
pop eax
push esi
or esi, 0x7478
pop esi
push edx
push edi
add esp, 4
add edx, 0x18489
jmp 0x506a9c
xor edx, 0x17744
sub edx, 0xdf3c
pop edx
mov ecx, dword [ebp - 0xc44]
mov dx, word [ecx]
mov word [ebp - 0xf8a], dx
mov eax, dword [ebp - 0xc44]
add eax, 2
mov dword [ebp - 0xc44], eax
mov cx, word [ebp - 0xf8a]
mov word [ebp - 0x204], cx
mov edx, dword [ebp - 0xc48]
mov ax, word [edx]
mov word [ebp - 0xf8c], ax
mov ecx, dword [ebp - 0xc48]
add ecx, 2
mov dword [ebp - 0xc48], ecx
mov dx, word [ebp - 0xf8c]
mov word [ebp - 0x38], dx
push ebx
jmp 0x506b09
and ebx, 0x1820d
call 0x506b1c
add byte [esi], dh
inc edi
cmp eax, dword [ecx + 0x4f]
inc ecx
aas
add esp, 4
jmp 0x506b25
pop ebx
push ebx
push esi
add esp, 4
add ebx, 0xbd4b
pop ebx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x506b4f
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x506ba9
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x506a77
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x506a77
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x506b93
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x506b9d
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x506bf2
push esi
and esi, 0xaea
sub esi, 0x7ceb
jmp 0x506bc7
pop esi
push eax
and eax, 0xabd8
pop eax
push ebx
sub ebx, 0xbe5c
pop ebx
push edi
push ecx
add esp, 4
sub edi, 0x800
pop edi
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x506c5a
push esi
push edx
add esp, 4
add esi, 0x78ce
and esi, 0x15baa
xor esi, 0x12539
pop esi
push edx
sub edx, 0x1e1e
and edx, 0x3254
pop edx
push eax
push ebx
add esp, 4
add eax, 0x2418
pop eax
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx]
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e4]
cmp ecx, dword [ebp - 0xc4c]
je 0x506c50
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x506a1b
mov dword [ebp - 0x2a8], 0
push eax
push edi
add esp, 4
and eax, 0x5204
or eax, 0x72bb
call 0x506c79
add byte [esi], bh
cmp al, byte [ecx + 0x36]
inc eax
xor esi, dword [esi]
xor al, 0x83
les eax, [eax + ebx*2]
push ecx
jmp 0x506c85
sub ecx, 0x12df0
pop ecx
cmp dword [ebp - 0x2a8], 0
jne 0x507591
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 eax
push ebx
add esp, 4
call 0x506d46
add byte [edi], bh
xor eax, 0x41373641
dec esp
cmp cl, byte [ebx - 0x7d]
les eax, [ecx + eax*4]
invalid
push eax
push eax
add esp, 4
add eax, 0x100ca
add eax, 0x7bf5
or eax, 0x6ef0
pop eax
push eax
jmp 0x5075b0
or eax, 0x1801b
and eax, 0x114fd
xor eax, 0x129ba
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 eax
jmp 0x5075f2
add eax, 0xf3f8
sub eax, 0x160d6
xor eax, 0xd0a9
pop eax
push edx
push edx
add esp, 4
jmp 0x507610
xor edx, 0x69ca
add edx, 0xfa09
pop edx
cmp dword [ebp - 0x1574], 0
jne 0x507635
mov dword [ebp - 0x2a8], 0
jmp 0x5078dc
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push edi
xor edi, 0xa033
and edi, 0x6ee4
and edi, 0x15efa
jmp 0x507661
pop edi
push ecx
jmp 0x507668
call 0x507675
add byte [ecx + eax*2], dh
cmp ecx, dword [esi + ecx*2 + 0x48]
inc esi
add esp, 4
pop ecx
cmp dword [ebp - 0xc68], 0
jne 0x507691
mov dword [ebp - 0x2a8], 0
jmp 0x5078dc
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push esi
push esi
add esp, 4
jmp 0x5076a7
and esi, 0x15c0b
call 0x5076bb
add byte [ebx + 0x4b], cl
cmp edi, dword [esi - 0x7cbfb5b6]
les eax, [esi + ebx*2]
push eax
add eax, 0x802e
pop eax
push edx
add edx, 0x149ae
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 esi
and esi, 0x5614
call 0x50770c
add byte [ecx + 0x3e], cl
cmp dword [edx], edi
aaa
dec ebx
add esp, 4
or esi, 0xb734
pop esi
push ecx
jmp 0x50771e
xor ecx, 0x78
sub ecx, 0x488f
pop ecx
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
push esi
add esp, 4
call 0x507793
add byte [edx + 0x3b], al
xor cl, byte [esi + edi + 0x42]
add esp, 4
sub edi, 0xefd6
sub edi, 0x24e6
pop edi
push esi
call 0x5077b0
add byte [ebx + eax*2], dh
dec eax
dec ebp
inc eax
add esp, 4
pop esi
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x5077d1
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x50782b
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x5076f9
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x5076f9
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x507815
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x50781f
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x507874
push eax
xor eax, 0x16739
jmp 0x507844
call 0x507853
add byte [eax + 0x39], dl
dec esp
dec eax
dec edx
cmp cl, byte [ecx + 0x3b]
dec ebp
add esp, 4
pop eax
push eax
push edi
add esp, 4
jmp 0x507865
pop eax
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x5078dc
push edx
or edx, 0x3509
call 0x507889
add byte [esi], dh
xor al, 0x34
cmp eax, 0x464e464d
add esp, 4
pop edx
push ecx
and ecx, 0x1136a
call 0x5078a2
add byte [edi], bh
dec edi
cmp bh, byte [eax]
inc ecx
cmp dword ss:[ecx - 0x7d], eax
les eax, [ecx + ebx*2]
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 0x5078d2
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x50769d
mov dword [ebp - 0x2a8], 0
push ebx
push ecx
add esp, 4
call 0x5078ee
add byte [ecx + 0x4b], al
aas
dec ebx
xor eax, 0xc4833937
add al, 0x5b
push edi
add edi, 0xccdb
jmp 0x507901
add edi, 0x5ea9
add edi, 0x1463
pop edi
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push eax
xor eax, 0xd22b
pop eax
push edi
push ecx
add esp, 4
add edi, 0x15cd9
call 0x50793f
add byte [edx], dh
inc edi
inc esi
aaa
push eax
inc eax
xor eax, dword [ebx + 0x3e]
add esp, 4
or edi, 0x1ada
add edi, 0x2c35
pop edi
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x50797f
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x507c70
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x5079a7
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x507c70
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 0x5079d9
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x507c70
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x5079fe
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x507c70
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 0x507a58
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 0x507c64
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 0x507ac8
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 0x507b7a
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x507b7a
push ebx
push eax
add esp, 4
jmp 0x507b03
pop ebx
push ecx
xor ecx, 0x1735d
call 0x507b17
add byte [edi], bh
xor ecx, dword [eax + 0x41]
inc edi
aaa
add esp, 4
or ecx, 0x1813d
sub ecx, 0x99da
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 0x507b6c
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 0x507b73
jmp 0x507ab9
jmp 0x507b7a
push eax
sub eax, 0x185ef
sub eax, 0x121c1
and eax, 0x5660
and eax, 0xb3b3
pop eax
push edx
push edx
add esp, 4
and edx, 0xdbf
or edx, 0x112c
xor edx, 0x12101
pop edx
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 0x507bd9
mov dword [ebp - 0xc6c], 0
jmp 0x507c48
push ebx
push ebx
add esp, 4
or ebx, 0x15947
jmp 0x507beb
xor ebx, 0x113dd
and ebx, 0x13e04
pop ebx
push edx
push ebx
add esp, 4
and edx, 0xfa99
pop edx
push edx
jmp 0x507c0a
pop edx
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 0x507c3e
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x507c48
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x507c5f
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x507c70
jmp 0x507a49
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push ecx
push eax
add esp, 4
or ecx, 0xaf1a
jmp 0x507c8d
and ecx, 0x1121e
and ecx, 0xa53c
pop ecx
push edx
and edx, 0x1430e
sub edx, 0x152b8
add edx, 0x16bad
pop edx
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 0x507d21
push edi
push ebx
add esp, 4
or edi, 0xcc88
jmp 0x507cec
or edi, 0x5cbd
and edi, 0x661
pop edi
push ecx
xor ecx, 0x96f7
and ecx, 0x165b7
sub ecx, 0x1167
pop ecx
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 0x507d3e
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x507d9a
push edx
push esi
add esp, 4
jmp 0x507d59
add edx, 0xe3a4
pop edx
push eax
add eax, 0xdb62
jmp 0x507d6e
sub eax, 0x43f
jmp 0x507d7d
pop eax
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 0x507d2f
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 0x507e12
push ebx
push ecx
add esp, 4
or ebx, 0x1228e
xor ebx, 0x6a44
add ebx, 0xf9e3
add ebx, 0x278d
pop ebx
push ebx
and ebx, 0xef43
sub ebx, 0xb555
sub ebx, 0x84dd
pop ebx
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push edx
sub edx, 0xa8ab
add edx, 0x92a9
pop edx
push ebx
jmp 0x507e2a
jmp 0x507e30
pop ebx
push esi
call 0x507e40
add byte [eax + 0x43], dl
inc ebp
cmp dh, byte [esi]
cmp eax, dword [edx + ecx*2 - 0x7d]
les eax, [esi + ebx*2]
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff07ff
pop ecx
pop eax
pop esi
mov cl, bl
or ecx, dword [eax + 0x71894d0]
pop es
pushal
pop eax
mov al, dh
sub dword [edi], ecx
or byte [edi], al
mov al, ch
mov bl, 0xc
or byte [edi], al
mov al, dl
in al, dx
and byte [eax], cl
pop es
pushal
pop esi
push edi
mov cl, bl
or ecx, dword [eax + 0x723f3ce]
pop es
mov dh, bh
iretd