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

Disassembly:
pop ebx
push edx
call 0x407960
add byte [0x3a393b4c], dh
cmp cl, byte [esi + 0x36]
add esp, 4
sub edx, 0x37ec
sub edx, 0x3aab
pop edx
mov dword [ebp - 0x20d4], 0xffffffff
push edi
push ebx
add esp, 4
call 0x40798d
add byte [ecx], bh
dec edi
cmp al, 0x36
cmp byte [esi], bh
xor al, byte [edi - 0x7d]
les eax, [ebx + ebp*8]
add eax, 0x35423a48
cmp al, byte [ecx + 0x107c3cf]
add byte [edi + 0x51], bl
or ecx, 0x12d71
or ecx, 0xdc89
pop ecx
mov ecx, dword [ebp - 0x3f4]
mov dword [ebp - 0x500], ecx
jmp 0x4079c9
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push eax
jmp 0x4079d1
add eax, 0x633c
pop eax
push ecx
push eax
add esp, 4
jmp 0x4079e5
and ecx, 0x8d4
jmp 0x4079f4
xor ecx, 0x13d6f
pop ecx
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f4]
cmp eax, 0xffffffff
jb 0x407a43
push edi
sub edi, 0x181e
sub edi, 0x3d2a
sub edi, 0x7c74
pop edi
push eax
call 0x407a2e
add byte [ecx], bh
xor eax, dword [edx + 0x3c]
cmp al, byte [esi + 0x35]
add esp, 4
or eax, 0x164dd
xor eax, 0x11030
pop eax
jmp 0x407c71
mov dword [ebp - 0xc84], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xad0], ecx
push edx
and edx, 0x6ac1
sub edx, 0x7f13
pop edx
push edx
push edi
add esp, 4
add edx, 0xfdde
pop edx
push edx
push esi
add esp, 4
add edx, 0x68f
xor edx, 0xfdaa
xor edx, 0x1052c
pop edx
mov edx, dword [ebp - 0x15cc]
mov dword [ebp - 0xacc], edx
mov dword [ebp - 0xc88], 0
mov eax, dword [ebp - 0x500]
cmp eax, dword [ebp - 0x15cc]
jne 0x407af2
push eax
push edi
add esp, 4
or eax, 0x4f92
jmp 0x407ac3
xor eax, 0xf307
pop eax
push ecx
add ecx, 0xc3dc
sub ecx, 0x9937
jmp 0x407ae0
pop ecx
mov ecx, dword [ebp - 0xc88]
mov dword [ebp - 0x15d4], ecx
jmp 0x407c23
cmp dword [ebp - 0xc84], 0
jle 0x407c17
push eax
push ebx
add esp, 4
xor eax, 0xec26
pop eax
push edx
sub edx, 0x10183
pop edx
push ebx
push eax
add esp, 4
jmp 0x407b1d
pop ebx
push eax
jmp 0x407b28
pop eax
push ecx
and ecx, 0x5683
pop ecx
mov edx, dword [ebp - 0xad0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xacc]
movzx edx, byte [ecx]
cmp eax, edx
je 0x407bb3
push edx
push edi
add esp, 4
jmp 0x407b53
or edx, 0x12b1c
pop edx
push edx
xor edx, 0x9f1a
jmp 0x407b66
pop edx
push ebx
push eax
add esp, 4
sub ebx, 0x17946
or ebx, 0x4c8f
pop ebx
mov eax, dword [ebp - 0xad0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xacc]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x407b9b
mov dword [ebp - 0x15d0], 1
jmp 0x407ba5
mov dword [ebp - 0x15d0], 0xffffffff
mov ecx, dword [ebp - 0x15d0]
mov dword [ebp - 0xc88], ecx
jmp 0x407c17
push eax
push eax
add esp, 4
and eax, 0x8398
add eax, 0x64d1
add eax, 0x14924
xor eax, 0x1595
pop eax
push edi
or edi, 0x129b9
or edi, 0x141cb
add edi, 0x17bbe
pop edi
mov edx, dword [ebp - 0xc84]
sub edx, 1
mov dword [ebp - 0xc84], edx
mov eax, dword [ebp - 0xad0]
add eax, 1
mov dword [ebp - 0xad0], eax
mov ecx, dword [ebp - 0xacc]
add ecx, 1
mov dword [ebp - 0xacc], ecx
jmp 0x407af2
mov edx, dword [ebp - 0xc88]
mov dword [ebp - 0x15d4], edx
cmp dword [ebp - 0x15d4], 0
jne 0x407c6c
push ecx
push edi
add esp, 4
xor ecx, 0x947
call 0x407c46
add byte [edx + 0x38], al
inc ecx
inc edx
inc ebp
cmp al, 0x50
dec ecx
xor al, 0x83
les eax, [ecx + eax*4]
int1
lahf
insd dword es:[edi], dx
add dword [eax], eax
or ecx, 0x15600
pop ecx
push ecx
xor ecx, 0x1799b
pop ecx
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0x3e4], eax
jmp 0x407cad
jmp 0x4079ba
push edx
push edi
add esp, 4
call 0x407c85
add byte [ecx + 0x40], cl
cmp dh, byte [esi]
dec esp
dec edx
inc ebp
inc esp
inc eax
add esp, 4
call 0x407c97
add byte [eax + 0x35], dl
inc ebx
inc edi
inc eax
xor edi, dword [edi + edi]
push eax
add esp, 4
jmp 0x407ca2
pop edx
mov dword [ebp - 0x3e4], 0
push esi
sub esi, 0xe867
call 0x407cc3
add byte [ebx], dh
dec ebx
inc ebx
dec esi
dec esp
dec edx
inc edx
aaa
inc eax
add esp, 4
pop esi
push ebx
push ebx
add esp, 4
xor ebx, 0x9f7e
pop ebx
push ecx
push edx
add esp, 4
add ecx, 0x9570
pop ecx
push edx
push edx
add esp, 4
add edx, 0x169b4
jmp 0x407cf2
sub edx, 0x11a43
pop edx
push edx
push esi
add esp, 4
and edx, 0x156a
pop edx
push esi
push edi
add esp, 4
add esi, 0x376c
pop esi
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xbe8]
mov dword [ebp - 0x15d8], eax
push edi
push edi
add esp, 4
jmp 0x407d30
add edi, 0x10e52
add edi, 0x11285
and edi, 0x1720e
pop edi
push ecx
push edi
add esp, 4
call 0x407d54
add byte [edi + edi], bh
inc edx
xor al, 0x46
dec edi
add esp, 4
pop ecx
mov dword [ebp - 0x20d8], 0xffffffff
push eax
push ecx
add esp, 4
and eax, 0x176e0
jmp 0x407d72
jmp 0x407d77
jmp 0x407d7e
pop eax
push edx
push ebx
add esp, 4
sub edx, 0x14b8f
jmp 0x407d93
pop edx
mov ecx, dword [ebp - 0x3f4]
mov dword [ebp - 0x504], ecx
jmp 0x407db1
mov edx, dword [ebp - 0x504]
add edx, 1
mov dword [ebp - 0x504], edx
push edx
add edx, 0xf283
pop edx
push esi
add esi, 0x101d9
xor esi, 0x16223
pop esi
push eax
push ebx
add esp, 4
xor eax, 0x6d85
call 0x407ddf
add byte [edi], bh
cmp eax, dword [esi + 0x39]
inc ebx
xor eax, dword [ebx + eax*4 - 0x3c]
add al, 0x58
mov eax, dword [ebp - 0x504]
sub eax, dword [ebp - 0x3f4]
cmp eax, 0xffffffff
jb 0x407e2b
push edi
push edx
add esp, 4
xor edi, 0xe8f2
pop edi
push ecx
push ebx
add esp, 4
add ecx, 0x3229
call 0x407e17
add byte [esi + 0x44], cl
dec ecx
inc esi
inc esp
inc ebp
add esp, 4
xor ecx, 0xb728
jmp 0x407e25
pop ecx
jmp 0x408059
mov dword [ebp - 0xc8c], 7
mov ecx, dword [ebp - 0x504]
mov dword [ebp - 0xac8], ecx
push edx
xor edx, 0x388c
sub edx, 0x3641
add edx, 0xdd4d
pop edx
push ecx
push ebx
add esp, 4
xor ecx, 0x4250
or ecx, 0x17099
jmp 0x407e6c
xor ecx, 0x78d1
pop ecx
mov edx, dword [ebp - 0x15d8]
mov dword [ebp - 0xa64], edx
mov dword [ebp - 0xc90], 0
mov eax, dword [ebp - 0x504]
cmp eax, dword [ebp - 0x15d8]
jne 0x407eda
push esi
push edi
add esp, 4
sub esi, 0x12f0b
and esi, 0x4cbd
pop esi
push ebx
push ebx
add esp, 4
and ebx, 0xd222
sub ebx, 0x58dc
sub ebx, 0x879b
pop ebx
push esi
or esi, 0xe6c1
pop esi
mov ecx, dword [ebp - 0xc90]
mov dword [ebp - 0x15a8], ecx
jmp 0x40800b
cmp dword [ebp - 0xc8c], 0
jle 0x407fff
push edi
push ecx
add esp, 4
and edi, 0x1710d
sub edi, 0x788e
pop edi
push edx
push ecx
add esp, 4
xor edx, 0xcf7c
pop edx
push esi
xor esi, 0xdf41
add esi, 0x83e5
add esi, 0x9341
pop esi
mov edx, dword [ebp - 0xac8]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa64]
movzx edx, byte [ecx]
cmp eax, edx
je 0x407f9b
push edx
sub edx, 0x3b0d
or edx, 0x168be
and edx, 0x3fbe
jmp 0x407f47
pop edx
push eax
push edi
add esp, 4
add eax, 0x13055
or eax, 0x2076
jmp 0x407f60
pop eax
mov eax, dword [ebp - 0xac8]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa64]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x407f83
mov dword [ebp - 0x15dc], 1
jmp 0x407f8d
mov dword [ebp - 0x15dc], 0xffffffff
mov ecx, dword [ebp - 0x15dc]
mov dword [ebp - 0xc90], ecx
jmp 0x407fff
push edi
push edx
add esp, 4
call 0x407faf
add byte [edi + 0x3e], cl
dec esp
inc esp
xor ecx, dword [ebx + 0x3e]
inc ecx
xor al, 0x83
les eax, [edi + ebx*2]
push ebx
sub ebx, 0x5282
sub ebx, 0x8d15
pop ebx
push esi
push ecx
add esp, 4
or esi, 0x8e41
pop esi
mov edx, dword [ebp - 0xc8c]
sub edx, 1
mov dword [ebp - 0xc8c], edx
mov eax, dword [ebp - 0xac8]
add eax, 1
mov dword [ebp - 0xac8], eax
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
jmp 0x407eda
mov edx, dword [ebp - 0xc90]
mov dword [ebp - 0x15a8], edx
cmp dword [ebp - 0x15a8], 0
jne 0x408054
push esi
push eax
add esp, 4
or esi, 0x7ac
pop esi
push eax
sub eax, 0x25cc
xor eax, 0x5add
pop eax
push edi
push edx
add esp, 4
or edi, 0x16967
or edi, 0x45dd
sub edi, 0x1530f
pop edi
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0xac4], eax
jmp 0x408095
jmp 0x407da2
push esi
push esi
add esp, 4
sub esi, 0xbb65
pop esi
push ecx
push ecx
add esp, 4
sub ecx, 0x1110d
xor ecx, 0x19bb
pop ecx
push edi
or edi, 0x1544
and edi, 0xe287
xor edi, 0x6bc2
pop edi
mov dword [ebp - 0xac4], 0
push eax
sub eax, 0x1424d
pop eax
push ecx
jmp 0x4080a4
jmp 0x4080aa
and ecx, 0x1714b
jmp 0x4080b6
pop ecx
push esi
jmp 0x4080c0
add esi, 0xd6c4
pop esi
mov byte [ebp - 0x87c], 0x45
mov byte [ebp - 0x87b], 0x78
mov byte [ebp - 0x87a], 0x69
mov byte [ebp - 0x879], 0x74
mov byte [ebp - 0x878], 0x50
mov byte [ebp - 0x877], 0x72
mov byte [ebp - 0x876], 0x6f
mov byte [ebp - 0x875], 0x63
mov byte [ebp - 0x874], 0x65
mov byte [ebp - 0x873], 0x73
mov byte [ebp - 0x872], 0x73
mov byte [ebp - 0x871], 0
push edi
push ebx
add esp, 4
or edi, 0x182ff
xor edi, 0x12cbb
or edi, 0x14d4c
xor edi, 0x115fb
pop edi
push esi
or esi, 0x13f13
add esi, 0xde73
xor esi, 0xa093
pop esi
mov ecx, 0x6b
mov word [ebp - 0x1740], cx
mov edx, 0x65
mov word [ebp - 0x173e], dx
mov eax, 0x72
mov word [ebp - 0x173c], ax
mov ecx, 0x6e
mov word [ebp - 0x173a], cx
mov edx, 0x65
mov word [ebp - 0x1738], dx
mov eax, 0x6c
mov word [ebp - 0x1736], ax
mov ecx, 0x33
mov word [ebp - 0x1734], cx
mov edx, 0x32
mov word [ebp - 0x1732], dx
mov eax, 0x2e
mov word [ebp - 0x1730], ax
mov ecx, 0x64
mov word [ebp - 0x172e], cx
mov edx, 0x6c
mov word [ebp - 0x172c], dx
mov eax, 0x6c
mov word [ebp - 0x172a], ax
xor ecx, ecx
mov word [ebp - 0x1728], cx
push ebx
push edi
add esp, 4
and ebx, 0x12f33
call 0x408201
add byte [edi + esi], dh
dec eax
cmp dword [eax + edi + 0x48], ecx
xor al, 0x41
xor al, byte [ebx + 0xbe804c4]
add byte [eax], al
add byte [eax], al
cmp dword [ebx + 0x3c], ecx
dec ebp
inc ecx
dec esp
dec esp
inc ecx
cmp byte [edi - 0x7d], cl
les eax, [ebx + ebx*2]
push edx
jmp 0x40821e
and edx, 0x179c1
pop edx
push eax
push edi
add esp, 4
add eax, 0x14431
pop eax
push edi
jmp 0x40823b
jmp 0x408243
add edi, 0xedea
pop edi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x2034], edx
mov eax, dword [ebp - 0x2034]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x198c], ecx
mov edx, dword [ebp - 0x198c]
mov dword [ebp - 0x15e0], edx
push eax
xor eax, 0x10497
xor eax, 0xe811
xor eax, 0x17aa5
and eax, 0xca83
pop eax
push esi
push ecx
add esp, 4
or esi, 0xe9d
xor esi, 0x71d4
or esi, 0x13d73
pop esi
cmp dword [ebp - 0x15e0], 0
jne 0x4082bc
mov dword [ebp - 0x2d4], 0
jmp 0x408578
mov eax, dword [ebp - 0x15e0]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc9c], edx
push ecx
push edx
add esp, 4
sub ecx, 0x11548
xor ecx, 0x14542
or ecx, 0x103f7
pop ecx
push esi
and esi, 0x8b84
sub esi, 0xecf6
and esi, 0x83c8
xor esi, 0xf16c
pop esi
cmp dword [ebp - 0xc9c], 0
jne 0x408318
mov dword [ebp - 0x2d4], 0
jmp 0x408578
mov eax, dword [ebp - 0xc9c]
mov dword [ebp - 0x508], eax
push ebx
push ecx
add esp, 4
xor ebx, 0x12427
sub ebx, 0x59cb
pop ebx
push eax
push eax
add esp, 4
add eax, 0x4810
pop eax
push edi
or edi, 0x5993
and edi, 0x11f0c
sub edi, 0x5f2b
pop edi
lea ecx, [ebp - 0x1740]
mov dword [ebp - 0xc98], ecx
mov edx, dword [ebp - 0x508]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc94], eax
xor ecx, ecx
mov word [ebp - 0x210], cx
xor edx, edx
mov word [ebp - 0x10c], dx
push esi
call 0x408394
add byte [edx + 0x48], al
xor ecx, dword [eax + 0x37]
xor al, 0x3b
dec eax
inc ebp
xor al, byte [ebx - 0x397efb3c]
jp 0x4083ac
add dword [eax], eax
pop esi
push ebx
jmp 0x4083a8
or ebx, 0x123f8
add dword [eax], eax
add ebx, 0x1867b
pop ebx
mov eax, dword [ebp - 0xc94]
mov cx, word [eax]
mov word [ebp - 0x1036], cx
mov edx, dword [ebp - 0xc94]
add edx, 2
mov dword [ebp - 0xc94], edx
mov ax, word [ebp - 0x1036]
mov word [ebp - 0x210], ax
mov ecx, dword [ebp - 0xc98]
mov dx, word [ecx]
mov word [ebp - 0x1038], dx
mov eax, dword [ebp - 0xc98]
add eax, 2
mov dword [ebp - 0xc98], eax
mov cx, word [ebp - 0x1038]
mov word [ebp - 0x10c], cx
push edx
push edx
add esp, 4
sub edx, 0xc774
sub edx, 0xb0d5
call 0x40842d
add byte [esi + esi], dh
cmp dword [esi], edi
inc ebx
push eax
add esp, 4
jmp 0x408438
pop edx
push eax
or eax, 0x53e7
pop eax
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x408464
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e8], eax
jmp 0x4084c7
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x408383
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x408383
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x4084b1
mov dword [ebp - 0x15e4], 0xffffffff
jmp 0x4084bb
mov dword [ebp - 0x15e4], 1
mov edx, dword [ebp - 0x15e4]
mov dword [ebp - 0x15e8], edx
cmp dword [ebp - 0x15e8], 0
jne 0x408510
push edi
push esi
add esp, 4
sub edi, 0x174d1
and edi, 0x12600
pop edi
push edx
call 0x4084f1
add byte [ebp + 0x50], al
xor al, 0x4c
aas
cmp byte [eax*2 - 0x14fb3b7d], bh
add eax, dword [esi + 0x34]
inc ebp
pop edx
push ecx
add ecx, 0xab7
pop ecx
mov eax, dword [ebp - 0x508]
mov dword [ebp - 0x2d4], eax
jmp 0x408578
push esi
push ebx
add esp, 4
or esi, 0x16f99
xor esi, 0x700c
add esi, 0xc7c8
pop esi
push edi
add edi, 0x672f
sub edi, 0x17614
pop edi
push edi
push ebx
add esp, 4
jmp 0x408541
pop edi
mov ecx, dword [ebp - 0x508]
mov edx, dword [ecx]
mov dword [ebp - 0x508], edx
mov eax, dword [ebp - 0x508]
cmp eax, dword [ebp - 0xc9c]
je 0x40856e
mov ecx, dword [ebp - 0x508]
cmp dword [ecx + 0x30], 0
jne 0x408324
mov dword [ebp - 0x2d4], 0
push ebx
xor ebx, 0x1567
add ebx, 0xc444
pop ebx
push eax
or eax, 0xd6aa
jmp 0x408595
or eax, 0x15d04
pop eax
push esi
sub esi, 0x4c5a
xor esi, 0x16c86
pop esi
cmp dword [ebp - 0x2d4], 0
jne 0x408ec3
mov edx, 0x6b
mov word [ebp - 0x17ac], dx
mov eax, 0x65
mov word [ebp - 0x17aa], ax
mov ecx, 0x72
mov word [ebp - 0x17a8], cx
mov edx, 0x6e
mov word [ebp - 0x17a6], dx
mov eax, 0x65
mov word [ebp - 0x17a4], ax
mov ecx, 0x6c
mov word [ebp - 0x17a2], cx
mov edx, 0x33
mov word [ebp - 0x17a0], dx
mov eax, 0x32
mov word [ebp - 0x179e], ax
mov ecx, 0x2e
mov word [ebp - 0x179c], cx
mov edx, 0x64
mov word [ebp - 0x179a], dx
mov eax, 0x6c
mov word [ebp - 0x1798], ax
mov ecx, 0x6c
mov word [ebp - 0x1796], cx
xor edx, edx
mov word [ebp - 0x1794], dx
push eax
push edx
add esp, 4
jmp 0x40865c
or eax, 0x15277
call 0x408670
add byte [edx + 0x32], al
cmp al, 0x35
push eax
cmp dword [ebp + 0x49], eax
add esp, 4
jmp 0x408679
pop eax
push ebx
or ebx, 0x126c0
pop ebx
mov byte [ebp - 0x898], 0x4c
mov byte [ebp - 0x897], 0x6f
mov byte [ebp - 0x896], 0x61
mov byte [ebp - 0x895], 0x64
mov byte [ebp - 0x894], 0x4c
mov byte [ebp - 0x893], 0x69
mov byte [ebp - 0x892], 0x62
mov byte [ebp - 0x891], 0x72
mov byte [ebp - 0x890], 0x61
mov byte [ebp - 0x88f], 0x72
mov byte [ebp - 0x88e], 0x79
mov byte [ebp - 0x88d], 0x57
mov byte [ebp - 0x88c], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1990], eax
mov ecx, dword [ebp - 0x1990]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1994], edx
mov eax, dword [ebp - 0x1994]
mov dword [ebp - 0x15ec], eax
push ebx
push esi
add esp, 4
and ebx, 0xf0de
sub ebx, 0x4e1c
add ebx, 0x2026
and ebx, 0x12bb3
pop ebx
push edi
or edi, 0x5e4
jmp 0x40872f
xor edi, 0xe033
pop edi
cmp dword [ebp - 0x15ec], 0
jne 0x40874e
mov dword [ebp - 0x754], 0
jmp 0x408a0a
mov ecx, dword [ebp - 0x15ec]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca8], eax
push edi
xor edi, 0x50a5
jmp 0x40876d
xor edi, 0xf494
pop edi
push eax
or eax, 0xfe06
pop eax
push ecx
xor ecx, 0x90d3
pop ecx
push edx
sub edx, 0x146a7
or edx, 0xa540
pop edx
cmp dword [ebp - 0xca8], 0
jne 0x4087aa
mov dword [ebp - 0x754], 0
jmp 0x408a0a
mov ecx, dword [ebp - 0xca8]
mov dword [ebp - 0x50c], ecx
push eax
or eax, 0x90c2
jmp 0x4087c3
pop eax
push esi
push edi
add esp, 4
add esi, 0x915f
pop esi
push ecx
push edx
add esp, 4
or ecx, 0x11778
xor ecx, 0x46a6
xor ecx, 0x178b6
pop ecx
lea edx, [ebp - 0x17ac]
mov dword [ebp - 0xca4], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xca0], ecx
xor edx, edx
mov word [ebp - 0x214], dx
xor eax, eax
mov word [ebp - 0x110], ax
push ecx
push ecx
add esp, 4
add ecx, 0xe7a3
pop ecx
push edi
push ebx
add esp, 4
xor edi, 0xe0a6
add edi, 0xd9c4
pop edi
push esi
or esi, 0x6640
pop esi
push eax
push edi
add esp, 4
xor eax, 0xcf61
pop eax
mov ecx, dword [ebp - 0xca0]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xca0]
add eax, 2
mov dword [ebp - 0xca0], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x214], cx
mov edx, dword [ebp - 0xca4]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xca4]
add ecx, 2
mov dword [ebp - 0xca4], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x110], dx
push ecx
push esi
add esp, 4
and ecx, 0x4583
call 0x4088b9
add byte [ecx], bh
cmp al, 0x4d
cmp al, 0x3c
add esp, 4
call 0x4088c9
add byte [edx + 0x3d], cl
cmp eax, 0x3c3b3c3a
add esp, 4
or ecx, 0x86cb
pop ecx
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x4088f6
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
sub ecx, edx
mov dword [ebp - 0x15f4], ecx
jmp 0x408959
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x110]
cmp eax, ecx
je 0x408815
movzx edx, word [ebp - 0x214]
xor edx, 0x20
movzx eax, word [ebp - 0x110]
cmp edx, eax
je 0x408815
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
cmp ecx, edx
jge 0x408943
mov dword [ebp - 0x15f0], 0xffffffff
jmp 0x40894d
mov dword [ebp - 0x15f0], 1
mov eax, dword [ebp - 0x15f0]
mov dword [ebp - 0x15f4], eax
cmp dword [ebp - 0x15f4], 0
jne 0x4089a2
push ebx
push esi
add esp, 4
jmp 0x40896d
xor ebx, 0xf12
sub ebx, 0x10192
or ebx, 0x13263
pop ebx
push edi
call 0x408990
add byte [esi + 0x50], al
aaa
xor edi, dword [eax]
inc esp
inc esi
xor eax, 0x4c48336
pop edi
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x754], ecx
jmp 0x408a0a
push esi
and esi, 0x2a7f
add esi, 0xe711
pop esi
push eax
push eax
add esp, 4
and eax, 0x10060
or eax, 0x3168
call 0x4089d0
add byte [ebx], bh
inc ebx
dec ebx
aaa
cmp eax, 0x37444e44
add esp, 4
pop eax
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xca8]
je 0x408a00
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x4087b6
mov dword [ebp - 0x754], 0
push ebx
push edx
add esp, 4
and ebx, 0x11edb
pop ebx
push eax
push esi
add esp, 4
add eax, 0x12aca
call 0x408a2f
add byte [ebx + eax*2 + 0x48], cl
dec esi
inc edx
dec eax
inc ebx
add esp, 4
jmp 0x408a3b
pop eax
cmp dword [ebp - 0x754], 0
jne 0x408a86
push ebx
add ebx, 0x15623
pop ebx
push ecx
push ebx
add esp, 4
add ecx, 0x13815
pop ecx
push ecx
add ecx, 0x15ca5
jmp 0x408a67
pop ecx
push ebx
or ebx, 0x12c2
pop ebx
push ecx
jmp 0x408a76
pop ecx
mov dword [ebp - 0x7a0], 0
jmp 0x4095ad
push edx
push edx
add esp, 4
add edx, 0x1288e
add edx, 0xf0a9
and edx, 0x12ec2
pop edx
push eax
and eax, 0x9f29
xor eax, 0xeb3b
or eax, 0x76c7
add eax, 0x182f6
pop eax
mov eax, dword [ebp - 0x754]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x764], 0
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x15f8], edx
cmp dword [ebp - 0x15f8], 0
jne 0x408af7
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], eax
jmp 0x408de8
mov ecx, dword [ebp - 0x15f8]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15fc], edx
jne 0x408b1f
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], eax
jmp 0x408de8
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15fc]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1600], ecx
cmp dword [ebp - 0x1600], 0
jne 0x408b51
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], edx
jmp 0x408de8
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x1600]
mov dword [ebp - 0x758], eax
jne 0x408b76
mov ecx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], ecx
jmp 0x408de8
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1998], eax
mov ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x199c], edx
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19a0], ecx
mov dword [ebp - 0x75c], 0
jmp 0x408bd0
mov edx, dword [ebp - 0x75c]
add edx, 1
mov dword [ebp - 0x75c], edx
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x75c]
cmp ecx, dword [eax + 0x18]
jae 0x408ddc
mov edx, dword [ebp - 0x75c]
mov eax, dword [ebp - 0x1998]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x760], ecx
mov edx, dword [ebp - 0x75c]
mov eax, dword [ebp - 0x199c]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19a0]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19a4], eax
mov dword [ebp - 0x194], 0
jmp 0x408c40
mov ecx, dword [ebp - 0x194]
add ecx, 1
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x760]
add edx, dword [ebp - 0x194]
movsx eax, byte [edx]
test eax, eax
je 0x408cf2
mov ecx, dword [ebp - 0x194]
movsx edx, byte [ebp + ecx - 0x898]
test edx, edx
je 0x408cf2
push edx
push esi
add esp, 4
and edx, 0x3073
sub edx, 0x154ff
pop edx
push edx
push esi
add esp, 4
sub edx, 0x1171f
pop edx
push edi
push esi
add esp, 4
or edi, 0x1f42
pop edi
push ebx
xor ebx, 0x8ac8
pop ebx
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x194]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x194]
movsx eax, byte [ebp + edx - 0x898]
cmp ecx, eax
je 0x408ce4
mov ecx, dword [ebp - 0x760]
add ecx, dword [ebp - 0x194]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x194]
movsx ecx, byte [ebp + eax - 0x898]
cmp edx, ecx
jne 0x408ceb
jmp 0x408c31
jmp 0x408cf2
push eax
push ebx
add esp, 4
and eax, 0x14382
pop eax
push edi
push eax
add esp, 4
sub edi, 0x13238
call 0x408d15
add byte [0x43354938], bh
aas
add esp, 4
jmp 0x408d1d
or edi, 0x497b
pop edi
mov edx, dword [ebp - 0x760]
add edx, dword [ebp - 0x194]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x194]
movsx edx, byte [ebp + ecx - 0x898]
cmp eax, edx
jne 0x408d51
mov dword [ebp - 0xcac], 0
jmp 0x408dc0
push edx
push ecx
add esp, 4
and edx, 0x136c3
or edx, 0xcb1
pop edx
push edi
sub edi, 0x8e4f
or edi, 0x152da
xor edi, 0xf86
pop edi
push eax
push eax
add esp, 4
xor eax, 0xfb59
pop eax
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x194]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x194]
movsx eax, byte [ebp + edx - 0x898]
or eax, 0x20
cmp ecx, eax
jge 0x408db6
mov dword [ebp - 0xcac], 0xffffffff
jmp 0x408dc0
mov dword [ebp - 0xcac], 1
cmp dword [ebp - 0xcac], 0
jne 0x408dd7
mov ecx, dword [ebp - 0x19a4]
mov dword [ebp - 0x3f8], ecx
jmp 0x408de8
jmp 0x408bc1
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], edx
cmp dword [ebp - 0x3f8], 0
je 0x408ec3
push ebx
push edx
add esp, 4
or ebx, 0x1c94
pop ebx
push ecx
jmp 0x408e07
sub ecx, 0x168f8
xor ecx, 0x10fa6
pop ecx
push eax
add eax, 0xae28
jmp 0x408e20
or eax, 0x8b95
pop eax
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x19a8], eax
push edi
call 0x408e43
add byte [esi + 0x46], al
dec eax
dec ecx
inc edi
xor ecx, dword [ebx + 0x50]
inc edi
add esp, 4
xor edi, 0xdbb1
jmp 0x408e52
pop edi
push edx
push ecx
add esp, 4
add edx, 0x15189
add edx, 0x7e31
pop edx
mov ecx, dword [ebp - 0x19a8]
mov dword [ebp - 0x19ac], ecx
lea edx, [ebp - 0x1740]
push edx
call dword [ebp - 0x19ac]
test eax, eax
jne 0x408ec3
push ebx
push ebx
add esp, 4
add ebx, 0x8e20
xor ebx, 0x13d35
add ebx, 0x14d8c
pop ebx
push edi
sub edi, 0xe3d4
xor edi, 0xda04
pop edi
push edi
push esi
add esp, 4
and edi, 0x17bd5
pop edi
mov dword [ebp - 0x7a0], 0
jmp 0x4095ad
push edi
push ecx
add esp, 4
xor edi, 0x5fdb
call 0x408edd
add byte [esi + 0x3b], cl
xor bh, byte [edi]
dec eax
dec esi
xor eax, 0xc4834e4e
add al, 0xeb
add al, 0x45
inc ecx
dec edi
add edi, 0xbf10
pop edi
push ebx
or ebx, 0x14342
pop ebx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19b0], eax
mov ecx, dword [ebp - 0x19b0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19b4], edx
mov eax, dword [ebp - 0x19b4]
mov dword [ebp - 0x1604], eax
push eax
and eax, 0xd8b6
pop eax
push edi
or edi, 0x46a3
and edi, 0xe2d9
pop edi
push ebx
push edx
add esp, 4
sub ebx, 0xe776
pop ebx
push edx
and edx, 0x7525
pop edx
push ecx
and ecx, 0x373e
pop ecx
cmp dword [ebp - 0x1604], 0
jne 0x408f66
mov dword [ebp - 0x2d4], 0
jmp 0x40920d
mov ecx, dword [ebp - 0x1604]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb8], eax
push esi
push eax
add esp, 4
xor esi, 0x113d9
and esi, 0x12fe1
pop esi
push edi
sub edi, 0x795b
xor edi, 0x7705
pop edi
push esi
push ebx
add esp, 4
or esi, 0x91d3
sub esi, 0xa477
pop esi
cmp dword [ebp - 0xcb8], 0
jne 0x408fc2
mov dword [ebp - 0x2d4], 0
jmp 0x40920d
mov ecx, dword [ebp - 0xcb8]
mov dword [ebp - 0x510], ecx
push esi
push edx
add esp, 4
and esi, 0x4f20
pop esi
push esi
push ebx
add esp, 4
add esi, 0x34e8
and esi, 0x6ec8
or esi, 0x7a9e
or esi, 0x1365b
pop esi
push ebx
add ebx, 0x6af6
pop ebx
lea edx, [ebp - 0x1740]
mov dword [ebp - 0xcb4], edx
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcb0], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push esi
push eax
add esp, 4
xor esi, 0x3e33
and esi, 0x152fb
xor esi, 0xc3f5
add esi, 0x2ba2
pop esi
push ecx
xor ecx, 0x2cec
add ecx, 0x1484b
sub ecx, 0x162d9
pop ecx
mov ecx, dword [ebp - 0xcb0]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcb0]
add eax, 2
mov dword [ebp - 0xcb0], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb4]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcb4]
add ecx, 2
mov dword [ebp - 0xcb4], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x34], dx
push edx
push edi
add esp, 4
jmp 0x4090be
jmp 0x4090c7
call 0x4090d5
add byte [eax + 0x3f], al
inc eax
cmp al, 0x39
inc ebp
dec ecx
add esp, 4
pop edx
push eax
push ecx
add esp, 4
sub eax, 0x6ad
pop eax
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x409102
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x160c], ecx
jmp 0x40915c
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x40902a
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x40902a
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x409146
mov dword [ebp - 0x1608], 0xffffffff
jmp 0x409150
mov dword [ebp - 0x1608], 1
mov eax, dword [ebp - 0x1608]
mov dword [ebp - 0x160c], eax
cmp dword [ebp - 0x160c], 0
jne 0x4091a5
push esi
jmp 0x40916f
pop esi
push eax
push esi
add esp, 4
call 0x409181
add byte [eax + 0x46], dl
aas
inc ebx
dec ebp
dec ecx
add esp, 4
xor eax, 0x1004c
jmp 0x409190
add eax, 0x10840
pop eax
mov ecx, dword [ebp - 0x510]
mov dword [ebp - 0x2d4], ecx
jmp 0x40920d
push eax
xor eax, 0x7d28
or eax, 0x4c40
pop eax
push ecx
push eax
add esp, 4
sub ecx, 0x6ffd
pop ecx
push edx
add edx, 0x10373
call 0x4091d3
add byte [edx + 0x43], cl
cmp eax, 0x354e3437
add esp, 4
pop edx
mov edx, dword [ebp - 0x510]
mov eax, dword [edx]
mov dword [ebp - 0x510], eax
mov ecx, dword [ebp - 0x510]
cmp ecx, dword [ebp - 0xcb8]
je 0x409203
mov edx, dword [ebp - 0x510]
cmp dword [edx + 0x30], 0
jne 0x408fce
mov dword [ebp - 0x2d4], 0
push eax
push ebx
add esp, 4
add eax, 0xcc41
pop eax
push eax
sub eax, 0x1234a
jmp 0x409226
pop eax
push ebx
push esi
add esp, 4
jmp 0x409232
sub ebx, 0x1254d
or ebx, 0x7a17
pop ebx
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push edi
push eax
add esp, 4
sub edi, 0xe69b
xor edi, 0x15446
pop edi
push esi
push edi
add esp, 4
and esi, 0xa675
pop esi
push eax
xor eax, 0x13726
add eax, 0x7d3c
sub eax, 0xc579
pop eax
mov dword [ebp - 0x774], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1610], edx
cmp dword [ebp - 0x1610], 0
jne 0x4092b0
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x514], eax
jmp 0x4095a1
mov ecx, dword [ebp - 0x1610]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1614], edx
jne 0x4092d8
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x514], eax
jmp 0x4095a1
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1614]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1618], ecx
cmp dword [ebp - 0x1618], 0
jne 0x40930a
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x514], edx
jmp 0x4095a1
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1618]
mov dword [ebp - 0x768], eax
jne 0x40932f
mov ecx, dword [ebp - 0x774]
mov dword [ebp - 0x514], ecx
jmp 0x4095a1
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19b8], eax
mov ecx, dword [ebp - 0x768]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19bc], edx
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19c0], ecx
mov dword [ebp - 0x76c], 0
jmp 0x409389
mov edx, dword [ebp - 0x76c]
add edx, 1
mov dword [ebp - 0x76c], edx
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x76c]
cmp ecx, dword [eax + 0x18]
jae 0x409595
mov edx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x19b8]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x770], ecx
mov edx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x19bc]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19c0]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1d48], eax
mov dword [ebp - 0x198], 0
jmp 0x4093f9
mov ecx, dword [ebp - 0x198]
add ecx, 1
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x4094ab
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x87c]
test edx, edx
je 0x4094ab
push ecx
push ecx
add esp, 4
sub ecx, 0x9f81
sub ecx, 0xae08
pop ecx
push edi
add edi, 0x159e
pop edi
push edx
push edx
add esp, 4
xor edx, 0x9b9e
xor edx, 0x5bb
sub edx, 0xf66d
pop edx
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x87c]
cmp ecx, eax
je 0x40949d
mov ecx, dword [ebp - 0x770]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x87c]
cmp edx, ecx
jne 0x4094a4
jmp 0x4093ea
jmp 0x4094ab
push edx
or edx, 0x1c5f
or edx, 0x182a2
or edx, 0x5a7
call 0x4094cb
add byte [eax + ecx*2 + 0x44], cl
xor ecx, dword [edx + 0x42]
xor al, 0x83
les eax, [edx + ebx*2]
push esi
sub esi, 0x39ae
xor esi, 0x17a64
pop esi
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x87c]
cmp eax, edx
jne 0x40950a
mov dword [ebp - 0xcbc], 0
jmp 0x409579
push edi
push esi
add esp, 4
jmp 0x409515
pop edi
push edx
xor edx, 0xa43
sub edx, 0x42a7
xor edx, 0x4f9
call 0x409538
add byte [edi + 0x39], cl
inc edx
cmp al, 0x3e
dec esp
cmp bh, byte [edx]
dec ebx
add esp, 4
pop edx
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x87c]
or eax, 0x20
cmp ecx, eax
jge 0x40956f
mov dword [ebp - 0xcbc], 0xffffffff
jmp 0x409579
mov dword [ebp - 0xcbc], 1
cmp dword [ebp - 0xcbc], 0
jne 0x409590
mov ecx, dword [ebp - 0x1d48]
mov dword [ebp - 0x514], ecx
jmp 0x4095a1
jmp 0x40937a
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x514], edx
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0x7a0], eax
push edx
push ecx
add esp, 4
xor edx, 0x4e07
pop edx
push ebx
xor ebx, 0xcc80
call 0x4095cf
add byte [edx], dh
dec ebp
dec esi
dec ecx
dec ebx
dec esp
inc eax
cmp eax, 0x4c48347
xor ebx, 0x11d96
sub ebx, 0x1565e
pop ebx
mov ecx, dword [ebp - 0x3e4]
add ecx, 0xe
mov dword [ebp - 0x1a10], ecx
push ebx
or ebx, 0xebab
add ebx, 0x1aa1
and ebx, 0xaaac
sub ebx, 0x4bcf
pop ebx
push esi
push edi
add esp, 4
sub esi, 0x1122f
and esi, 0x6658
or esi, 0x6a2
pop esi
cmp dword [ebp - 0x3e4], 0
je 0x409632
cmp dword [ebp - 0xac4], 0
jne 0x409678
push ecx
push edx
add esp, 4
or ecx, 0xfb5f
add ecx, 0x6a73
or ecx, 0xd442
add ecx, 0x72a3
pop ecx
push ecx
xor ecx, 0xd6c8
and ecx, 0x30c0
add ecx, 0x7b36
pop ecx
mov edx, dword [ebp - 0x7a0]
mov dword [ebp - 0x19c4], edx
push 0
call dword [ebp - 0x19c4]
mov dword [ebp - 0x20dc], 0xa
push edi
push ebx
add esp, 4
sub edi, 0x1819f
sub edi, 0x2f5b
pop edi
push esi
or esi, 0x12b82
add esi, 0x5d2a
xor esi, 0x3902
pop esi
push ebx
push ebx
add esp, 4
and ebx, 0xe7c2
pop ebx
mov eax, dword [ebp - 0x3e4]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ed], cl
mov edx, dword [ebp - 0xac4]
sub edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x169c], edx
mov dword [ebp - 0xcec], 0
push edx
push ebx
add esp, 4
call 0x4096f4
add byte [ecx + 0x4f], al
dec eax
dec ecx
dec edi
cmp eax, 0x334b4c50
add esp, 4
pop edx
push esi
jmp 0x4096fe
pop esi
push eax
push ebx
add esp, 4
sub eax, 0x44dc
or eax, 0x111ca
pop eax
mov byte [ebp - 0x9d8], 0x56
mov byte [ebp - 0x9d7], 0x69
mov byte [ebp - 0x9d6], 0x72
mov byte [ebp - 0x9d5], 0x74
mov byte [ebp - 0x9d4], 0x75
mov byte [ebp - 0x9d3], 0x61
mov byte [ebp - 0x9d2], 0x6c
mov byte [ebp - 0x9d1], 0x50
mov byte [ebp - 0x9d0], 0x72
mov byte [ebp - 0x9cf], 0x6f
mov byte [ebp - 0x9ce], 0x74
mov byte [ebp - 0x9cd], 0x65
mov byte [ebp - 0x9cc], 0x63
mov byte [ebp - 0x9cb], 0x74
mov byte [ebp - 0x9ca], 0
push ecx
or ecx, 0x440b
jmp 0x409787
add ecx, 0x7ba8
pop ecx
push edi
push edi
add esp, 4
and edi, 0x7ec
xor edi, 0xa1d4
pop edi
push ecx
push eax
add esp, 4
xor ecx, 0x14e33
pop ecx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19c8], eax
mov ecx, dword [ebp - 0x19c8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19cc], edx
mov eax, dword [ebp - 0x19cc]
mov dword [ebp - 0x161c], eax
push esi
sub esi, 0x637c
pop esi
push eax
push edi
add esp, 4
and eax, 0x97e0
add eax, 0x7fc4
pop eax
push edi
or edi, 0x4be3
call 0x409801
add byte [eax + edx*2 + 0x34], al
inc eax
dec ecx
inc ecx
inc edx
add esp, 4
pop edi
cmp dword [ebp - 0x161c], 0
jne 0x40981d
mov dword [ebp - 0x2f4], 0
jmp 0x409ac4
mov ecx, dword [ebp - 0x161c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc8], eax
push ebx
and ebx, 0x963a
or ebx, 0x1732d
sub ebx, 0xb933
pop ebx
push ecx
push edx
add esp, 4
and ecx, 0xff68
add ecx, 0x106a8
or ecx, 0x90a6
add ecx, 0x139b6
pop ecx
cmp dword [ebp - 0xcc8], 0
jne 0x409879
mov dword [ebp - 0x2f4], 0
jmp 0x409ac4
mov ecx, dword [ebp - 0xcc8]
mov dword [ebp - 0x518], ecx
push edi
push edx
add esp, 4
add edi, 0x31de
or edi, 0x5b2
or edi, 0x5e1d
pop edi
push eax
or eax, 0xaf7e
add eax, 0xa719
or eax, 0x128f
or eax, 0x2509
pop eax
lea edx, [ebp - 0x1740]
mov dword [ebp - 0xcc4], edx
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcc0], ecx
xor edx, edx
mov word [ebp - 0x21c], dx
xor eax, eax
mov word [ebp - 0x38], ax
push eax
push esi
add esp, 4
and eax, 0x8d37
or eax, 0xfe
pop eax
push eax
push ecx
add esp, 4
sub eax, 0x160d
pop eax
push eax
sub eax, 0xfa79
xor eax, 0x10049
and eax, 0x169fa
pop eax
mov ecx, dword [ebp - 0xcc0]
mov dx, word [ecx]
mov word [ebp - 0x1042], dx
mov eax, dword [ebp - 0xcc0]
add eax, 2
mov dword [ebp - 0xcc0], eax
mov cx, word [ebp - 0x1042]
mov word [ebp - 0x21c], cx
mov edx, dword [ebp - 0xcc4]
mov ax, word [edx]
mov word [ebp - 0x1044], ax
mov ecx, dword [ebp - 0xcc4]
add ecx, 2
mov dword [ebp - 0xcc4], ecx
mov dx, word [ebp - 0x1044]
mov word [ebp - 0x38], dx
push edi
push edx
add esp, 4
or edi, 0xa666
sub edi, 0x10cdf
xor edi, 0xb5b8
xor edi, 0xaa23
pop edi
push eax
xor eax, 0x138c4
add eax, 0x6a11
add eax, 0xd590
pop eax
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x4099b9
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1624], ecx
jmp 0x409a13
movzx eax, word [ebp - 0x21c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x4098e1
movzx edx, word [ebp - 0x21c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x4098e1
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x4099fd
mov dword [ebp - 0x1620], 0xffffffff
jmp 0x409a07
mov dword [ebp - 0x1620], 1
mov eax, dword [ebp - 0x1620]
mov dword [ebp - 0x1624], eax
cmp dword [ebp - 0x1624], 0
jne 0x409a5c
push ebx
call 0x409a2c
add byte [edi + 0x4c], al
dec ebp
inc esi
cmp al, 0x3b
inc ebp
inc eax
dec edx
add esp, 4
pop ebx
push ebx
push edi
add esp, 4
and ebx, 0x9dcd
and ebx, 0x80df
sub ebx, 0xccbc
or ebx, 0x15776
pop ebx
mov ecx, dword [ebp - 0x518]
mov dword [ebp - 0x2f4], ecx
jmp 0x409ac4
push esi
and esi, 0x1815f
pop esi
push eax
or eax, 0xa39c
pop eax
push eax
push edx
add esp, 4
sub eax, 0x8db2
xor eax, 0x1d2a
call 0x409a8a
add byte [0x40424239], dh
cmp byte [esi - 0x7d], cl
les eax, [eax + ebx*2]
mov edx, dword [ebp - 0x518]
mov eax, dword [edx]
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x518]
cmp ecx, dword [ebp - 0xcc8]
je 0x409aba
mov edx, dword [ebp - 0x518]
cmp dword [edx + 0x30], 0
jne 0x409885
mov dword [ebp - 0x2f4], 0
push eax
push edx
add esp, 4
call 0x409ad9
add byte [edi + edi + 0x37], cl
inc ebx
cmp al, byte [eax + 0x4f]
cmp eax, 0xc483494d
add al, 0xe8
or eax, dword [eax]
add byte [eax], al
add byte [eax + 0x4a], al
aas
cmp bh, byte [edi]
xor eax, dword [ecx + 0x4b]
aaa
add esp, 4
or eax, 0x6a45
pop eax
cmp dword [ebp - 0x2f4], 0
jne 0x40a3fb
mov eax, 0x6b
mov word [ebp - 0x17c8], ax
mov ecx, 0x65
mov word [ebp - 0x17c6], cx
mov edx, 0x72
mov word [ebp - 0x17c4], dx
mov eax, 0x6e
mov word [ebp - 0x17c2], ax
mov ecx, 0x65
mov word [ebp - 0x17c0], cx
mov edx, 0x6c
mov word [ebp - 0x17be], dx
mov eax, 0x33
mov word [ebp - 0x17bc], ax
mov ecx, 0x32
mov word [ebp - 0x17ba], cx
mov edx, 0x2e
mov word [ebp - 0x17b8], dx
mov eax, 0x64
mov word [ebp - 0x17b6], ax
mov ecx, 0x6c
mov word [ebp - 0x17b4], cx
mov edx, 0x6c
mov word [ebp - 0x17b2], dx
xor eax, eax
mov word [ebp - 0x17b0], ax
push ebx
xor ebx, 0x1853f
or ebx, 0xa5fd
pop ebx
push edx
jmp 0x409bb1
jmp 0x409bb8
or edx, 0x12b8e
call 0x409bca
add byte [edi], bh
aas
dec esp
push eax
inc esi
inc ebx
add esp, 4
pop edx
mov byte [ebp - 0x8a8], 0x4c
mov byte [ebp - 0x8a7], 0x6f
mov byte [ebp - 0x8a6], 0x61
mov byte [ebp - 0x8a5], 0x64
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x69
mov byte [ebp - 0x8a2], 0x62
mov byte [ebp - 0x8a1], 0x72
mov byte [ebp - 0x8a0], 0x61
mov byte [ebp - 0x89f], 0x72
mov byte [ebp - 0x89e], 0x79
mov byte [ebp - 0x89d], 0x57
mov byte [ebp - 0x89c], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19d0], ecx
mov edx, dword [ebp - 0x19d0]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19d4], eax
mov ecx, dword [ebp - 0x19d4]
mov dword [ebp - 0x1628], ecx
push esi
and esi, 0x3ce
pop esi
push eax
push ecx
add esp, 4
xor eax, 0x4863
pop eax
push eax
push edi
add esp, 4
add eax, 0x9065
add eax, 0x13db7
sub eax, 0x714a
sub eax, 0x11e49
pop eax
cmp dword [ebp - 0x1628], 0
jne 0x409c9b
mov dword [ebp - 0x778], 0
jmp 0x409f42
mov edx, dword [ebp - 0x1628]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd4], ecx
push eax
push edx
add esp, 4
call 0x409cc1
add byte [ecx + 0x4e], al
xor cl, byte [esi + esi + 0x4d]
inc ebx
xor cl, byte [ebp - 0x7d]
les eax, [ecx + eax*4]
lock or byte [esi], ah
add dword [eax], eax
pop eax
push ebx
add ebx, 0x113a8
add ebx, 0xa489
add ebx, 0x52ba
pop ebx
cmp dword [ebp - 0xcd4], 0
jne 0x409cf7
mov dword [ebp - 0x778], 0
jmp 0x409f42
mov edx, dword [ebp - 0xcd4]
mov dword [ebp - 0x51c], edx
push esi
push ebx
add esp, 4
and esi, 0x11117
add esi, 0xb48a
pop esi
push eax
xor eax, 0xa8
or eax, 0x5bbd
pop eax
push edx
push edi
add esp, 4
sub edx, 0xf9bb
or edx, 0xfa4b
pop edx
lea eax, [ebp - 0x17c8]
mov dword [ebp - 0xcd0], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xccc], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push eax
push esi
add esp, 4
and eax, 0x7f11
or eax, 0x10cb5
pop eax
push esi
push edi
add esp, 4
and esi, 0xd54e
add esi, 0x107fc
sub esi, 0x13009
pop esi
push ecx
and ecx, 0x101ab
pop ecx
mov edx, dword [ebp - 0xccc]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xccc]
add ecx, 2
mov dword [ebp - 0xccc], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x220], dx
mov eax, dword [ebp - 0xcd0]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcd0]
add edx, 2
mov dword [ebp - 0xcd0], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x3c], ax
push eax
push ecx
add esp, 4
and eax, 0x61a0
add eax, 0x17579
pop eax
push ecx
push ebx
add esp, 4
jmp 0x409e06
sub ecx, 0x15d54
pop ecx
push ecx
jmp 0x409e13
and ecx, 0x94dd
pop ecx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x409e37
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1670], edx
jmp 0x409e91
movzx ecx, word [ebp - 0x220]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x409d5f
movzx eax, word [ebp - 0x220]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x409d5f
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x409e7b
mov dword [ebp - 0x162c], 0xffffffff
jmp 0x409e85
mov dword [ebp - 0x162c], 1
mov ecx, dword [ebp - 0x162c]
mov dword [ebp - 0x1670], ecx
cmp dword [ebp - 0x1670], 0
jne 0x409eda
push edi
call 0x409eaa
add byte [edx], bh
dec esp
inc edi
cmp byte [eax + 0x50], dl
cmp dword [edx + 0x3c], ecx
add esp, 4
pop edi
push edi
jmp 0x409eb7
xor edi, 0x171a1
pop edi
push eax
and eax, 0x118c4
add eax, 0x2948
pop eax
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x778], edx
jmp 0x409f42
push ebx
push esi
add esp, 4
and ebx, 0x1621f
add ebx, 0x3f2
sub ebx, 0x4f7e
pop ebx
push edi
and edi, 0x14232
sub edi, 0x40c2
add edi, 0x107c3
and edi, 0x152f4
pop edi
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0xcd4]
je 0x409f38
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x409d03
mov dword [ebp - 0x778], 0
push eax
add eax, 0x67f
and eax, 0x530
xor eax, 0x15d13
and eax, 0x103aa
pop eax
push ecx
push ecx
add esp, 4
or ecx, 0x4b3a
pop ecx
push ecx
push esi
add esp, 4
xor ecx, 0x1080
pop ecx
cmp dword [ebp - 0x778], 0
jne 0x409fbe
push eax
call 0x409f8b
add byte [eax + ecx*2 + 0x3d], cl
xor ecx, dword [eax + 0x32]
dec edx
add esp, 4
pop eax
push ebx
add ebx, 0x159f
and ebx, 0x13c83
xor ebx, 0x971e
pop ebx
push eax
push ecx
add esp, 4
or eax, 0xe1d2
pop eax
mov dword [ebp - 0xac0], 0
jmp 0x40aae6
push esi
push esi
add esp, 4
add esi, 0x6a0f
call 0x409fd8
add byte [ebx], dh
aas
inc edi
inc ebx
aas
cmp al, 0x4d
aaa
inc edi
add esp, 4
sub esi, 0x6bf3
pop esi
push eax
sub eax, 0x1307
sub eax, 0x113f0
pop eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x788], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x1674], eax
cmp dword [ebp - 0x1674], 0
jne 0x40a02f
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], ecx
jmp 0x40a320
mov edx, dword [ebp - 0x1674]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1678], eax
jne 0x40a057
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], ecx
jmp 0x40a320
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1678]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1680], edx
cmp dword [ebp - 0x1680], 0
jne 0x40a089
mov eax, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], eax
jmp 0x40a320
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x77c], ecx
jne 0x40a0ae
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], edx
jmp 0x40a320
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19d8], ecx
mov edx, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19dc], eax
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19e0], edx
mov dword [ebp - 0x780], 0
jmp 0x40a108
mov eax, dword [ebp - 0x780]
add eax, 1
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x780]
cmp edx, dword [ecx + 0x18]
jae 0x40a314
mov eax, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x19d8]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x784], edx
mov eax, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x19dc]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19e0]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19e4], ecx
mov dword [ebp - 0x19c], 0
jmp 0x40a178
mov edx, dword [ebp - 0x19c]
add edx, 1
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x784]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40a22a
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x8a8]
test eax, eax
je 0x40a22a
push ecx
add ecx, 0xd396
sub ecx, 0x1452e
and ecx, 0xc21e
and ecx, 0x1388b
pop ecx
push edi
push eax
add esp, 4
xor edi, 0x13953
xor edi, 0x10afd
xor edi, 0x14bd4
pop edi
mov ecx, dword [ebp - 0x784]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x8a8]
cmp edx, ecx
je 0x40a21c
mov edx, dword [ebp - 0x784]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x8a8]
cmp eax, edx
jne 0x40a223
jmp 0x40a169
jmp 0x40a22a
push edx
push eax
add esp, 4
jmp 0x40a234
xor edx, 0xbbdd
call 0x40a24a
add byte [edi], dh
dec ebx
inc ebx
push eax
dec esi
dec esi
cmp edx, dword [eax + 0x3e]
add esp, 4
sub edx, 0x16039
pop edx
push esi
and esi, 0x22fd
pop esi
mov eax, dword [ebp - 0x784]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x8a8]
cmp ecx, eax
jne 0x40a289
mov dword [ebp - 0xcd8], 0
jmp 0x40a2f8
push edi
or edi, 0x1690b
sub edi, 0x65a6
and edi, 0xcfea
or edi, 0x137c7
pop edi
push ecx
push edi
add esp, 4
add ecx, 0x10d75
add ecx, 0xebca
add ecx, 0x479c
pop ecx
mov ecx, dword [ebp - 0x784]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x8a8]
or ecx, 0x20
cmp edx, ecx
jge 0x40a2ee
mov dword [ebp - 0xcd8], 0xffffffff
jmp 0x40a2f8
mov dword [ebp - 0xcd8], 1
cmp dword [ebp - 0xcd8], 0
jne 0x40a30f
mov edx, dword [ebp - 0x19e4]
mov dword [ebp - 0x3fc], edx
jmp 0x40a320
jmp 0x40a0f9
mov eax, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], eax
cmp dword [ebp - 0x3fc], 0
je 0x40a3fb
push edx
call 0x40a33d
add byte [edx + 0x34], al
dec ecx
inc ebp
inc edi
dec esp
dec esp
xor al, byte [esi - 0x7d]
les eax, [edx + ebx*2]
push edi
call 0x40a34f
add byte [ebp + 0x50], cl
dec edx
inc eax
inc ecx
inc edx
cmp byte [ebx - 0x387efb3c], al
out 0, al
add byte [ecx + 0x6932c7], al
add byte [edi - 0x75], bl
lea eax, [esp + edi*8]
invalid
push edi
jmp 0x40a405
pop edi
push edx
jmp 0x40a40d
sub edx, 0xdc8d
xor edx, 0x9eda
call 0x40a429
add byte [eax + 0x41], al
dec esi
push eax
dec edx
cmp bh, byte [0x8336343b]
les eax, [edx + ebx*2]
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19f0], ecx
mov edx, dword [ebp - 0x19f0]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19f4], eax
mov ecx, dword [ebp - 0x19f4]
mov dword [ebp - 0x1684], ecx
push eax
or eax, 0xd1f3
xor eax, 0x9956
add eax, 0xddfc
and eax, 0x5bec
pop eax
push ecx
push ecx
add esp, 4
sub ecx, 0xff2a
or ecx, 0x16ca6
xor ecx, 0xe187
pop ecx
cmp dword [ebp - 0x1684], 0
jne 0x40a49f
mov dword [ebp - 0x2f4], 0
jmp 0x40a746
mov edx, dword [ebp - 0x1684]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce4], ecx
push ebx
add ebx, 0xb919
call 0x40a4c4
add byte [esi], bh
xor al, 0x49
inc ecx
dec eax
aas
add esp, 4
sub ebx, 0xad15
jmp 0x40a4d2
pop ebx
push ecx
and ecx, 0x12dab
pop ecx
push edx
add edx, 0x3344
pop edx
cmp dword [ebp - 0xce4], 0
jne 0x40a4fb
mov dword [ebp - 0x2f4], 0
jmp 0x40a746
mov edx, dword [ebp - 0xce4]
mov dword [ebp - 0x520], edx
push ecx
call 0x40a515
add byte [eax + 0x49], dl
inc edi
inc eax
inc edx
inc ebp
dec ebp
add esp, 4
call 0x40a527
add byte [ebx + 0x37], cl
push eax
inc edx
inc edx
cmp eax, 0x8346453b
les eax, [ebx + ebp*8]
add eax, dword [edi + 0x4e]
cmp ebp, ebx
pop es
inc edi
inc edx
dec esp
dec ebx
inc esi
cmp dword [ecx - 0x73], ebx
test eax, eax
call 0x85caa540
and bl, dh
invalid
push ebx
call 0x40a756
add byte [edi + 0x44], al
inc ebp
inc ecx
aas
dec eax
cmp eax, dword ss:[ebx - 0x3c7efb3c]
adc bl, 0
add byte [ecx + 0x1685c3], al
add byte [ebx + 0x53], bl
push esi
add esp, 4
sub ebx, 0x83b
and ebx, 0x1198b
pop ebx
mov ecx, dword [ebp - 0x2f4]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x36c], edx
push ebx
xor ebx, 0xe730
pop ebx
push edx
sub edx, 0xab4d
jmp 0x40a79d
call 0x40a7a9
add byte [edi + 0x3e], cl
inc eax
dec edx
aas
xor eax, 0x5a04c483
push ebx
push edx
add esp, 4
add ebx, 0x1247
pop ebx
mov dword [ebp - 0x798], 0
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x1690], eax
cmp dword [ebp - 0x1690], 0
jne 0x40a7e9
mov ecx, dword [ebp - 0x798]
mov dword [ebp - 0x524], ecx
jmp 0x40aada
mov edx, dword [ebp - 0x1690]
mov eax, dword [ebp - 0x36c]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1694], eax
jne 0x40a811
mov ecx, dword [ebp - 0x798]
mov dword [ebp - 0x524], ecx
jmp 0x40aada
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1694]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1698], edx
cmp dword [ebp - 0x1698], 0
jne 0x40a843
mov eax, dword [ebp - 0x798]
mov dword [ebp - 0x524], eax
jmp 0x40aada
mov ecx, dword [ebp - 0x36c]
add ecx, dword [ebp - 0x1698]
mov dword [ebp - 0x78c], ecx
jne 0x40a868
mov edx, dword [ebp - 0x798]
mov dword [ebp - 0x524], edx
jmp 0x40aada
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x36c]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19f8], ecx
mov edx, dword [ebp - 0x78c]
mov eax, dword [ebp - 0x36c]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19fc], eax
mov ecx, dword [ebp - 0x78c]
mov edx, dword [ebp - 0x36c]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1a00], edx
mov dword [ebp - 0x790], 0
jmp 0x40a8c2
mov eax, dword [ebp - 0x790]
add eax, 1
mov dword [ebp - 0x790], eax
mov ecx, dword [ebp - 0x78c]
mov edx, dword [ebp - 0x790]
cmp edx, dword [ecx + 0x18]
jae 0x40aace
mov eax, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x19f8]
mov edx, dword [ebp - 0x36c]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x794], edx
mov eax, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x19fc]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1a00]
mov ecx, dword [ebp - 0x36c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a04], ecx
mov dword [ebp - 0x1a0], 0
jmp 0x40a932
mov edx, dword [ebp - 0x1a0]
add edx, 1
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x794]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40a9e4
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x9d8]
test eax, eax
je 0x40a9e4
push edi
add edi, 0x26f3
jmp 0x40a96e
sub edi, 0x10dbd
pop edi
push ebx
push edi
add esp, 4
jmp 0x40a981
sub ebx, 0xd4ac
jmp 0x40a990
pop ebx
mov ecx, dword [ebp - 0x794]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x9d8]
cmp edx, ecx
je 0x40a9d6
mov edx, dword [ebp - 0x794]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x9d8]
cmp eax, edx
jne 0x40a9dd
jmp 0x40a923
jmp 0x40a9e4
push eax
call 0x40a9f1
add byte [ebx], bh
dec ecx
xor edi, dword [esi + 0x4c48336]
call 0x40aa00
add byte [ebp + 0x50], al
cmp eax, 0xc4834b37
add al, 0x58
push eax
push ecx
add esp, 4
or eax, 0xeedf
jmp 0x40aa15
pop eax
mov eax, dword [ebp - 0x794]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x9d8]
cmp ecx, eax
jne 0x40aa43
mov dword [ebp - 0xce8], 0
jmp 0x40aab2
push edi
call 0x40aa50
add byte [ebx + 0x45], al
inc ebp
cmp eax, 0xc4834533
add al, 0x5f
push edi
jmp 0x40aa5d
and edi, 0x15102
pop edi
push edx
push esi
add esp, 4
jmp 0x40aa6e
xor edx, 0x17d9b
pop edx
mov ecx, dword [ebp - 0x794]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x9d8]
or ecx, 0x20
cmp edx, ecx
jge 0x40aaa8
mov dword [ebp - 0xce8], 0xffffffff
jmp 0x40aab2
mov dword [ebp - 0xce8], 1
cmp dword [ebp - 0xce8], 0
jne 0x40aac9
mov edx, dword [ebp - 0x1a04]
mov dword [ebp - 0x524], edx
jmp 0x40aada
jmp 0x40a8b3
mov eax, dword [ebp - 0x798]
mov dword [ebp - 0x524], eax
mov ecx, dword [ebp - 0x524]
mov dword [ebp - 0xac0], ecx
push edi
push esi
add esp, 4
or edi, 0xa230
pop edi
push esi
and esi, 0x4e92
sub esi, 0x15a70
add esi, 0x139b2
pop esi
push ebx
push esi
add esp, 4
sub ebx, 0x11270
or ebx, 0x40c0
pop ebx
mov edx, dword [ebp - 0xac0]
mov dword [ebp - 0x1a08], edx
lea eax, [ebp - 0xcec]
push eax
push 0x40
mov ecx, dword [ebp - 0x169c]
push ecx
mov edx, dword [ebp - 0x3e4]
push edx
call dword [ebp - 0x1a08]
test eax, eax
jne 0x40ab8b
push ecx
push edx
add esp, 4
and ecx, 0x1706a
add ecx, 0xb12
pop ecx
push ebx
sub ebx, 0xbe46
pop ebx
push edi
push edi
add esp, 4
add edi, 0x93ee
and edi, 0x18286
and edi, 0x2e54
pop edi
mov eax, dword [ebp - 0x7a0]
mov dword [ebp - 0x1a0c], eax
push 0
call dword [ebp - 0x1a0c]
mov ecx, dword [ebp - 0x1a10]
mov dword [ebp - 0x79c], ecx
jmp 0x40aba8
mov edx, dword [ebp - 0x79c]
add edx, 1
mov dword [ebp - 0x79c], edx
mov eax, dword [ebp - 0x79c]
cmp eax, dword [ebp - 0xac4]
jae 0x40ac04
push esi
xor esi, 0x54cd
pop esi
push eax
call 0x40abcf
add byte [eax], bh
cmp byte [esi], bh
cmp dword [esi], esi
inc ecx
inc esi
cmp ecx, dword [edi + 0x41]
add esp, 4
xor eax, 0x4fd0
call 0x40abe4
add byte [eax], bh
dec edx
dec edx
cmp al, 0x43
inc ebp
add esp, 4
pop eax
movzx ecx, byte [ebp - 0x3ed]
mov edx, dword [ebp - 0x79c]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x79c]
mov byte [ecx], al
jmp 0x40ab99
mov edx, dword [ebp - 0xac0]
mov dword [ebp - 0x1a14], edx
lea eax, [ebp - 0xcec]
push eax
mov ecx, dword [ebp - 0xcec]
push ecx
mov edx, dword [ebp - 0x169c]
push edx
mov eax, dword [ebp - 0x3e4]
push eax
call dword [ebp - 0x1a14]
test eax, eax
jne 0x40ac7c
push ebx
or ebx, 0x5c25
add ebx, 0x1fe3
add ebx, 0x6ad8
sub ebx, 0x87ca
pop ebx
push eax
xor eax, 0x6555
call 0x40ac64
add byte [ecx + 0x48], cl
push eax
inc edi
dec esi
inc edx
dec ebx
add esp, 4
pop eax
mov ecx, dword [ebp - 0x7a0]
mov dword [ebp - 0x1a18], ecx
push 0
call dword [ebp - 0x1a18]
push eax
push esi
add esp, 4
or eax, 0x16c64
add eax, 0xd205
sub eax, 0xdfb0
pop eax
push edi
push ebx
add esp, 4
sub edi, 0x10d63
or edi, 0x795f
jmp 0x40acad
pop edi
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff09ff
pop ecx
pushal
mov bh, al
pop edx
stc
or dword [ecx], ecx
mov bh, al
xchg edx, eax
adc dword [edx], ecx
or dword [eax + 0x59], ebp
pop edi
mov ebp, cs
or eax, 0x2d8d18a
or dword [ecx], ecx
mov dl, cl
xchg edx, eax
dec ecx
or cl, byte [ecx]
mov bh, cl
cwde
dec dword [ecx]
or dword [ecx + 0x5b], esp
pushal
mov ebp, cs
or eax, 0x66facb8a
or dword [ecx], ecx
arpl di, cx
invalid