Function at 0x40dbf7
Capabilities:
Contain obfuscated stackstrings
Get number of processors

Disassembly:
add byte [eax], al
add byte [edi + 0x57], dl
add esp, 4
add edi, 0x12f3c
sub edi, 0xa805
pop edi
push esi
xor esi, 0x63a1
call 0x40a18b
add byte [esi], dh
inc ebp
dec esp
inc edx
inc esp
dec ecx
cmp dword [edi], edi
dec edx
add esp, 4
xor esi, 0x15a16
pop esi
imul edx, dword [ebp - 0x2c], 0x70
add edx, 0x44f3663b
imul eax, dword [ebp - 0x2c], 0x70
sub edx, eax
xor edx, 0
imul edx, dword [ebp - 0x2c]
imul ecx, dword [ebp - 0x2c], 0x70
sub edx, ecx
mov dword [ebp - 0x30], edx
jmp 0x40a352
mov ecx, dword [ebp - 0x1064]
mov edx, dword [ebp - 0x1060]
mov dword [ebp - 0x1634], ecx
mov dword [ebp - 0x1630], edx
push eax
jmp 0x40a371
pop eax
push edi
and edi, 0x150bc
sub edi, 0x14669
and edi, 0x14f0f
xor edi, 0xaa59
pop edi
push ebx
jmp 0x40a393
pop ebx
push ebx
or ebx, 0xcee8
pop ebx
push ecx
call 0x40a3a9
add byte [edi], bh
dec ebp
inc ebp
dec ecx
dec edi
aas
add esp, 4
pop ecx
push eax
jmp 0x40a3b3
xor eax, 0x57ec
pop eax
push eax
xor eax, 0x32f0
and eax, 0x4bb9
or eax, 0xe82
pop eax
mov eax, dword [ebp - 0x30]
add eax, 0x70
imul ecx, dword [ebp - 0x2c], 0x70
add ecx, 0x44f3663b
imul edx, dword [ebp - 0x2c], 0x70
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1e94], eax
push edi
xor edi, 0x35a
call 0x40a403
add byte [ebx], dh
inc esp
dec esi
dec edx
cmp eax, dword ss:[ebx + 0x565f04c4]
sub esi, 0x80c7
add esi, 0x16c94
jmp 0x40a41b
and esi, 0x26d1
pop esi
mov eax, dword [ebp - 0x1634]
add eax, 0x70
imul ecx, dword [ebp - 0x1630], 0x70
add ecx, 0x44f3663b
imul edx, dword [ebp - 0x1630], 0x70
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x1630]
mov dword [ebp - 0x1e90], eax
mov eax, dword [ebp - 0x1e90]
mov dword [ebp - 0x1e98], eax
mov ecx, dword [ebp - 0x1e94]
cmp ecx, dword [ebp - 0x1e98]
jae 0x40a476
mov dword [ebp - 0x15a8], 1
jmp 0x40a480
mov dword [ebp - 0x15a8], 0
mov dl, byte [ebp - 0x15a8]
mov byte [ebp - 0x3ad], dl
movzx eax, byte [ebp - 0x3ad]
test eax, eax
je 0x40d25f
push edi
call 0x40a4aa
add byte [esi + 0x4b], al
dec edx
cmp dword [esi], esi
cmp bh, byte [edx]
inc ebp
add esp, 4
call 0x40a4ba
add byte [eax], bh
xor esi, dword ss:[edi]
inc eax
cmp al, byte [eax - 0x7d]
les eax, [ecx + eax*4]
iretd
mov dword [ebp - 0x3f0], 0
call 0x40d26e
mov eax, 0x13379797
pop eax
mov dword [ebp - 0x3f0], eax
push ecx
push eax
add esp, 4
or ecx, 0x293e
xor ecx, 0x5e27
add ecx, 0x15c47
add ecx, 0xd019
pop ecx
push ebx
jmp 0x40d29f
or ebx, 0x8897
or ebx, 0x1e45
pop ebx
mov ecx, dword [ebp - 0x20fc]
mov dword [ebp - 0x15c4], ecx
push ecx
xor ecx, 0xb35a
pop ecx
push ecx
and ecx, 0x340b
pop ecx
push eax
jmp 0x40d2cf
and eax, 0x11266
xor eax, 0x15dfa
pop eax
push esi
add esi, 0x9a5c
or esi, 0x162be
pop esi
mov edx, dword [ebp - 0x14]
add edx, 0x70
imul eax, dword [ebp - 0x10], 0x70
add eax, 0x44f3663b
imul ecx, dword [ebp - 0x10], 0x70
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x15c4], edx
mov edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x2060], edx
mov eax, dword [ebp - 0x2060]
add eax, dword [ebp - 0x15c4]
mov dword [ebp - 0x3f0], eax
push ecx
xor ecx, 0x63c
or ecx, 0x3127
or ecx, 0x125ed
pop ecx
push ecx
push ebx
add esp, 4
or ecx, 0x38c1
pop ecx
push eax
push edx
add esp, 4
sub eax, 0x1239c
and eax, 0x1c94
pop eax
mov byte [ebp - 0xbe4], 0x52
mov byte [ebp - 0xbe3], 0xb9
mov byte [ebp - 0xbe2], 0x10
mov byte [ebp - 0xbe1], 0x10
mov byte [ebp - 0xbe0], 0x10
mov byte [ebp - 0xbdf], 0x10
mov byte [ebp - 0xbde], 0x5a
push edi
push ecx
add esp, 4
call 0x40d39e
add byte [ebx + 0x3e], al
xor eax, 0x4345423f
add esp, 4
add edi, 0xfc14
pop edi
push ecx
push esi
add esp, 4
call 0x40d3ba
add byte [edi], dh
cmp dword [edi + 0x4c], ecx
inc ebx
dec eax
dec ebp
add esp, 4
pop ecx
mov byte [ebp - 0xbec], 0x52
mov byte [ebp - 0xbeb], 0xb9
mov byte [ebp - 0xbea], 0x20
mov byte [ebp - 0xbe9], 0x20
mov byte [ebp - 0xbe8], 0x20
mov byte [ebp - 0xbe7], 0x20
mov byte [ebp - 0xbe6], 0x5a
push eax
and eax, 0x14676
pop eax
push edi
sub edi, 0x15d18
pop edi
push eax
xor eax, 0xcf8
sub eax, 0x111da
pop eax
push edx
xor edx, 0x7588
and edx, 0x1830d
and edx, 0x5f7
pop edx
mov dword [ebp - 0x2100], 0xe
push eax
add eax, 0xbc8e
xor eax, 0x17cd2
call 0x40d444
add byte [edx], dh
push eax
dec esp
inc edi
cmp al, byte [ebx + 0x565804c4]
push ecx
add esp, 4
call 0x40d459
add byte [ebx + 0x3e], al
xor ecx, dword ds:[ecx + 0x3a]
add esp, 4
pop esi
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xbe4]
mov dword [ebp - 0x15c8], eax
push esi
call 0x40d482
add byte [ebp + 0x4e], al
aas
xor cl, byte [eax + 0x4f]
inc ecx
cmp dword [eax], edi
add esp, 4
pop esi
push edi
push edi
add esp, 4
and edi, 0x8803
or edi, 0x2e6e
or edi, 0x93da
sub edi, 0x5f55
pop edi
mov dword [ebp - 0x2104], 0xffffffff
push ecx
jmp 0x40d4b5
pop ecx
push edi
sub edi, 0xf5de
and edi, 0x124b3
call 0x40d4d0
add byte [ebx], dh
inc ecx
cmp al, 0x40
dec edx
inc edx
inc ebx
add esp, 4
pop edi
push esi
push ecx
add esp, 4
xor esi, 0x44f0
pop esi
mov ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x4fc], ecx
jmp 0x40d4fd
mov edx, dword [ebp - 0x4fc]
add edx, 1
mov dword [ebp - 0x4fc], edx
push eax
push ebx
add esp, 4
call 0x40d50e
add byte [edx], bh
dec eax
xor ecx, dword [eax + 0x44]
cmp al, byte [ebx - 0x377efb3c]
inc ebp
add byte fs:[eax], al
add eax, 0xfd58
pop eax
push esi
push edi
add esp, 4
jmp 0x40d528
xor esi, 0x13377
pop esi
mov eax, dword [ebp - 0x4fc]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x40d577
push eax
and eax, 0x3e9
pop eax
push esi
push esi
add esp, 4
add esi, 0x66a0
call 0x40d55f
add byte [ebx], dh
dec esp
dec esi
inc ebx
inc ebp
inc ebx
add esp, 4
call 0x40d56e
add byte [eax], bh
dec esp
inc ebx
xor eax, 0xc483384e
add al, 0x5e
jmp 0x40d7a5
mov dword [ebp - 0xc80], 7
mov ecx, dword [ebp - 0x4fc]
mov dword [ebp - 0xacc], ecx
push edx
xor edx, 0x11b53
pop edx
push ecx
push edx
add esp, 4
call 0x40d5a9
add byte [ebx + 0x3a], cl
aas
cmp eax, 0x4d4c3d46
dec edx
add esp, 4
or ecx, 0xc003
and ecx, 0xdc4
sub ecx, 0x2bc9
pop ecx
mov edx, dword [ebp - 0x15c8]
mov dword [ebp - 0xa60], edx
mov dword [ebp - 0xc84], 0
mov eax, dword [ebp - 0x4fc]
cmp eax, dword [ebp - 0x15c8]
jne 0x40d626
push edx
push ecx
add esp, 4
sub edx, 0xf351
sub edx, 0x11fca
or edx, 0xd144
pop edx
push eax
add eax, 0x742c
xor eax, 0xce83
sub eax, 0x7653
xor eax, 0x4758
pop eax
mov ecx, dword [ebp - 0xc84]
mov dword [ebp - 0x15d0], ecx
jmp 0x40d757
cmp dword [ebp - 0xc80], 0
jle 0x40d74b
push eax
push edi
add esp, 4
xor eax, 0x7b8b
add eax, 0x1204d
xor eax, 0x1928
pop eax
push ebx
push edx
add esp, 4
sub ebx, 0x14e48
add ebx, 0x174eb
pop ebx
push edx
and edx, 0xff31
pop edx
mov edx, dword [ebp - 0xacc]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa60]
movzx edx, byte [ecx]
cmp eax, edx
je 0x40d6e7
push esi
jmp 0x40d684
call 0x40d691
add byte [eax + 0x4e], cl
push eax
inc edx
cmp esi, dword [0x4c48336]
xor esi, 0x1154d
pop esi
push edx
push edi
add esp, 4
or edx, 0x13447
xor edx, 0x74e9
pop edx
mov eax, dword [ebp - 0xacc]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x40d6cf
mov dword [ebp - 0x15cc], 1
jmp 0x40d6d9
mov dword [ebp - 0x15cc], 0xffffffff
mov ecx, dword [ebp - 0x15cc]
mov dword [ebp - 0xc84], ecx
jmp 0x40d74b
push edx
xor edx, 0x10e95
add edx, 0xfde6
pop edx
push edx
push eax
add esp, 4
call 0x40d709
add byte [edx], dh
dec ebp
push eax
push eax
aas
aaa
inc ecx
inc esi
xor al, 0x83
les eax, [edx + ebx*2]
push eax
push esi
add esp, 4
xor eax, 0x9826
pop eax
mov edx, dword [ebp - 0xc80]
sub edx, 1
mov dword [ebp - 0xc80], edx
mov eax, dword [ebp - 0xacc]
add eax, 1
mov dword [ebp - 0xacc], eax
mov ecx, dword [ebp - 0xa60]
add ecx, 1
mov dword [ebp - 0xa60], ecx
jmp 0x40d626
mov edx, dword [ebp - 0xc84]
mov dword [ebp - 0x15d0], edx
cmp dword [ebp - 0x15d0], 0
jne 0x40d7a0
push edi
and edi, 0x17fc0
pop edi
push edi
push edx
add esp, 4
and edi, 0x538f
xor edi, 0x1374c
or edi, 0x8d15
pop edi
push ecx
push esi
add esp, 4
sub ecx, 0x4514
and ecx, 0x365d
pop ecx
mov eax, dword [ebp - 0x4fc]
mov dword [ebp - 0x3e8], eax
jmp 0x40d7e1
jmp 0x40d4ee
push edx
sub edx, 0x6b22
or edx, 0x905
call 0x40d7be
add byte [esi + 0x3b], al
inc ebx
dec ebp
dec edx
add esp, 4
or edx, 0x14bef
pop edx
push esi
sub esi, 0x8063
jmp 0x40d7d6
pop esi
mov dword [ebp - 0x3e8], 0
push ebx
and ebx, 0x1add
xor ebx, 0x29b5
sub ebx, 0x17626
pop ebx
push ebx
push edi
add esp, 4
and ebx, 0x5896
add ebx, 0x36b2
or ebx, 0x117e
and ebx, 0x7bd1
pop ebx
push edi
jmp 0x40d819
xor edi, 0x135f7
sub edi, 0x1819c
and edi, 0xc18e
pop edi
push eax
add eax, 0xf4ae
or eax, 0x489f
jmp 0x40d83e
and eax, 0x3081
pop eax
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xbec]
mov dword [ebp - 0x15a0], eax
push edi
push edx
add esp, 4
or edi, 0x6d08
or edi, 0x48a9
pop edi
push edx
push edx
add esp, 4
jmp 0x40d876
pop edx
push esi
push ecx
add esp, 4
jmp 0x40d885
or esi, 0x9a64
pop esi
mov dword [ebp - 0x2108], 0xffffffff
push ecx
xor ecx, 0x13b72
or ecx, 0xe7a2
call 0x40d8b2
add byte [esi + 0x4d], al
aaa
dec esi
cmp esi, dword ss:[ebx]
dec esi
inc ecx
add esp, 4
call 0x40d8c4
add byte [ebx + 0x3b], cl
inc esp
inc edx
dec edi
dec edi
dec esi
add esp, 4
pop ecx
mov ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x500], ecx
jmp 0x40d8e5
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push edx
and edx, 0x131a3
jmp 0x40d8f3
sub edx, 0x7da0
add edx, 0x151c0
pop edx
push ecx
push edi
add esp, 4
jmp 0x40d90a
or ecx, 0xf297
add ecx, 0x1391a
pop ecx
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x40d95f
push eax
push edi
add esp, 4
add eax, 0x11434
add eax, 0xd823
pop eax
push eax
sub eax, 0x9e36
pop eax
push eax
push ecx
add esp, 4
sub eax, 0x611e
xor eax, 0x9b69
add eax, 0x971f
pop eax
jmp 0x40db8d
mov dword [ebp - 0xc88], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xac8], ecx
push ecx
sub ecx, 0x93fb
pop ecx
push esi
push edi
add esp, 4
or esi, 0x6a5
xor esi, 0x7b1
pop esi
push ebx
push edi
add esp, 4
and ebx, 0x1775
pop ebx
push ebx
push eax
add esp, 4
xor ebx, 0xc3c5
pop ebx
mov edx, dword [ebp - 0x15a0]
mov dword [ebp - 0xac4], edx
mov dword [ebp - 0xc8c], 0
mov eax, dword [ebp - 0x500]
cmp eax, dword [ebp - 0x15a0]
jne 0x40da0e
push esi
push ecx
add esp, 4
add esi, 0x173e5
add esi, 0x101af
pop esi
push edi
push edi
add esp, 4
add edi, 0x137a9
jmp 0x40d9ef
jmp 0x40d9f6
sub edi, 0x7099
pop edi
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d8], ecx
jmp 0x40db3f
cmp dword [ebp - 0xc88], 0
jle 0x40db33
push ecx
jmp 0x40da24
add ecx, 0xd1a4
pop ecx
push edx
jmp 0x40da33
add edx, 0xa547
call 0x40da49
add byte [0x413c3933], dh
cmp dword [eax + 0x3b], ecx
cmp byte ss:[ebx - 0x74a5fb3c], al
xchg ebp, eax
cmp ch, dh
invalid
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d8], edx
cmp dword [ebp - 0x15d8], 0
jne 0x40db88
push esi
or esi, 0x37b2
xor esi, 0x1385c
jmp 0x40db5b
or esi, 0x7493
pop esi
push ebx
push eax
add esp, 4
add ebx, 0xfc60
sub ebx, 0xe951
xor ebx, 0x112e0
pop ebx
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xac0], eax
jmp 0x40dbc9
jmp 0x40d8d6
push edi
sub edi, 0xc605
add edi, 0x6e23
add edi, 0x2f57
pop edi
push esi
push ebx
add esp, 4
call 0x40dbb6
add byte [edx], dh
dec esp
inc ebp
aaa
cmp al, byte [esi + 0x42]
cmp al, byte [ebp + 0x3d]
add esp, 4
jmp 0x40dbbe
pop esi
mov dword [ebp - 0xac0], 0
push edx
sub edx, 0xf0e5
pop edx
push ebx
push edi
add esp, 4
sub ebx, 0x862f
and ebx, 0xcd8d
pop ebx
push eax
and eax, 0x206e
call 0x40dbf7
add byte [edx], dh
dec eax
cmp esi, dword [esi]
cmp al, 0x3e
dec eax
add esp, 4
pop eax
mov byte [ebp - 0x878], 0x45
mov byte [ebp - 0x877], 0x78
mov byte [ebp - 0x876], 0x69
mov byte [ebp - 0x875], 0x74
mov byte [ebp - 0x874], 0x50
mov byte [ebp - 0x873], 0x72
mov byte [ebp - 0x872], 0x6f
mov byte [ebp - 0x871], 0x63
mov byte [ebp - 0x870], 0x65
mov byte [ebp - 0x86f], 0x73
mov byte [ebp - 0x86e], 0x73
mov byte [ebp - 0x86d], 0
push ecx
push edx
add esp, 4
sub ecx, 0x10092
pop ecx
push esi
sub esi, 0x1647f
or esi, 0xbcb6
pop esi
push ebx
push edx
add esp, 4
xor ebx, 0x1273c
sub ebx, 0x667e
add ebx, 0xee99
pop ebx
mov ecx, 0x6b
mov word [ebp - 0x173c], cx
mov edx, 0x65
mov word [ebp - 0x173a], dx
mov eax, 0x72
mov word [ebp - 0x1738], ax
mov ecx, 0x6e
mov word [ebp - 0x1736], cx
mov edx, 0x65
mov word [ebp - 0x1734], dx
mov eax, 0x6c
mov word [ebp - 0x1732], ax
mov ecx, 0x33
mov word [ebp - 0x1730], cx
mov edx, 0x32
mov word [ebp - 0x172e], dx
mov eax, 0x2e
mov word [ebp - 0x172c], ax
mov ecx, 0x64
mov word [ebp - 0x172a], cx
mov edx, 0x6c
mov word [ebp - 0x1728], dx
mov eax, 0x6c
mov word [ebp - 0x1726], ax
xor ecx, ecx
mov word [ebp - 0x1724], cx
push edx
xor edx, 0x3ff3
and edx, 0x3cee
and edx, 0xf591
pop edx
push eax
push eax
add esp, 4
xor eax, 0x1506b
add eax, 0x7a5c
jmp 0x40dd45
or eax, 0xcde1
pop eax
push edi
xor edi, 0x13f94
and edi, 0xc40f
pop edi
push eax
push esi
add esp, 4
sub eax, 0x17952
and eax, 0x16b3f
sub eax, 0x3f8f
pop eax
push edi
push edx
add esp, 4
add edi, 0xd848
pop edi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x19b8], edx
mov eax, dword [ebp - 0x19b8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x19bc], ecx
mov edx, dword [ebp - 0x19bc]
mov dword [ebp - 0x15dc], edx
push eax
and eax, 0x232f
sub eax, 0x48dd
and eax, 0xc53d
pop eax
push esi
push ebx
add esp, 4
xor esi, 0x10886
add esi, 0xe721
and esi, 0x88a3
and esi, 0x9110
pop esi
cmp dword [ebp - 0x15dc], 0
jne 0x40ddf0
mov dword [ebp - 0x31c], 0
jmp 0x40e0ac
mov eax, dword [ebp - 0x15dc]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push esi
add esi, 0x130f3
jmp 0x40de12
or esi, 0x12b83
pop esi
push ecx
call 0x40de2a
add byte [edi], dh
inc esp
dec eax
cmp dword [edx], esi
inc ebx
dec edi
dec ecx
dec ebp
cmp dword [ebx - 0xe7efb3c], eax
cmp edx, dword [esi + 1]
add byte [ecx - 0x7d], bl
mov ebp, 0xfffff368
add byte [ebp + 0xf], dh
mov dword [ebp - 0x31c], 0
jmp 0x40e0ac
push ecx
push eax
add esp, 4
sub ecx, 0xb95e
pop ecx
push esi
push esi
add esp, 4
and esi, 0x14c22
or esi, 0xf6ab
sub esi, 0x77a9
pop esi
push eax
or eax, 0x8bc6
add eax, 0x10f96
pop eax
cmp dword [ebp - 0x31c], 0
jne 0x40e9f7
mov edx, 0x6b
mov word [ebp - 0x1758], dx
mov eax, 0x65
mov word [ebp - 0x1756], ax
mov ecx, 0x72
mov word [ebp - 0x1754], cx
mov edx, 0x6e
mov word [ebp - 0x1752], dx
mov eax, 0x65
mov word [ebp - 0x1750], ax
mov ecx, 0x6c
mov word [ebp - 0x174e], cx
mov edx, 0x33
mov word [ebp - 0x174c], dx
mov eax, 0x32
mov word [ebp - 0x174a], ax
mov ecx, 0x2e
mov word [ebp - 0x1748], cx
mov edx, 0x64
mov word [ebp - 0x1746], dx
mov eax, 0x6c
mov word [ebp - 0x1744], ax
mov ecx, 0x6c
mov word [ebp - 0x1742], cx
xor edx, edx
mov word [ebp - 0x1740], dx
push ebx
call 0x40e193
add byte [edi + ecx*2 + 0x48], cl
cmp esi, dword [edi]
cmp al, 0x42
dec ecx
add esp, 4
pop ebx
push ebx
push ecx
add esp, 4
or ebx, 0xeffe
jmp 0x40e1a9
jmp 0x40e1af
xor ebx, 0x5ec5
pop ebx
mov byte [ebp - 0x894], 0x4c
mov byte [ebp - 0x893], 0x6f
mov byte [ebp - 0x892], 0x61
mov byte [ebp - 0x891], 0x64
mov byte [ebp - 0x890], 0x4c
mov byte [ebp - 0x88f], 0x69
mov byte [ebp - 0x88e], 0x62
mov byte [ebp - 0x88d], 0x72
mov byte [ebp - 0x88c], 0x61
mov byte [ebp - 0x88b], 0x72
mov byte [ebp - 0x88a], 0x79
mov byte [ebp - 0x889], 0x57
mov byte [ebp - 0x888], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19c0], eax
mov ecx, dword [ebp - 0x19c0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19c4], edx
mov eax, dword [ebp - 0x19c4]
mov dword [ebp - 0x15e8], eax
push edi
push esi
add esp, 4
or edi, 0x8644
or edi, 0xc9d8
pop edi
push eax
and eax, 0x1fa1
pop eax
push edx
push edx
add esp, 4
or edx, 0x12052
jmp 0x40e263
and edx, 0xa562
pop edx
cmp dword [ebp - 0x15e8], 0
jne 0x40e282
mov dword [ebp - 0x750], 0
jmp 0x40e53e
mov ecx, dword [ebp - 0x15e8]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca4], eax
push edx
or edx, 0x32f0
jmp 0x40e2a4
xor edx, 0x3296
or edx, 0x1258
pop edx
push ebx
push edx
add esp, 4
jmp 0x40e2bd
pop ebx
push esi
add esi, 0x11fcb
pop esi
cmp dword [ebp - 0xca4], 0
jne 0x40e2de
mov dword [ebp - 0x750], 0
jmp 0x40e53e
mov ecx, dword [ebp - 0xca4]
mov dword [ebp - 0x508], ecx
push ecx
and ecx, 0x11805
add ecx, 0x16c23
sub ecx, 0x15ec5
pop ecx
push esi
push eax
add esp, 4
add esi, 0x1349e
pop esi
push eax
push ebx
add esp, 4
add eax, 0x5426
or eax, 0x728
pop eax
lea edx, [ebp - 0x1758]
mov dword [ebp - 0xca0], edx
mov eax, dword [ebp - 0x508]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc9c], ecx
xor edx, edx
mov word [ebp - 0x214], dx
xor eax, eax
mov word [ebp - 0x110], ax
push esi
push edx
add esp, 4
xor esi, 0x15268
and esi, 0x3b77
pop esi
push edx
sub edx, 0x683e
and edx, 0x13fba
xor edx, 0x96aa
pop edx
push edi
push edx
add esp, 4
or edi, 0x8ebf
pop edi
mov ecx, dword [ebp - 0xc9c]
mov dx, word [ecx]
mov word [ebp - 0x1036], dx
mov eax, dword [ebp - 0xc9c]
add eax, 2
mov dword [ebp - 0xc9c], eax
mov cx, word [ebp - 0x1036]
mov word [ebp - 0x214], cx
mov edx, dword [ebp - 0xca0]
mov ax, word [edx]
mov word [ebp - 0x1038], ax
mov ecx, dword [ebp - 0xca0]
add ecx, 2
mov dword [ebp - 0xca0], ecx
mov dx, word [ebp - 0x1038]
mov word [ebp - 0x110], dx
push edx
and edx, 0x412d
pop edx
push edi
push ecx
add esp, 4
xor edi, 0x2206
add edi, 0x10f4c
add edi, 0xa175
pop edi
push edx
push esi
add esp, 4
and edx, 0xaf37
jmp 0x40e406
pop edx
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x40e42a
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
sub ecx, edx
mov dword [ebp - 0x15f0], ecx
jmp 0x40e48d
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x110]
cmp eax, ecx
je 0x40e349
movzx edx, word [ebp - 0x214]
xor edx, 0x20
movzx eax, word [ebp - 0x110]
cmp edx, eax
je 0x40e349
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
cmp ecx, edx
jge 0x40e477
mov dword [ebp - 0x15ec], 0xffffffff
jmp 0x40e481
mov dword [ebp - 0x15ec], 1
mov eax, dword [ebp - 0x15ec]
mov dword [ebp - 0x15f0], eax
cmp dword [ebp - 0x15f0], 0
jne 0x40e4d6
push ecx
call 0x40e4a5
add byte [ebp + 0x45], cl
dec edx
cmp dword [ebp + 0x4c], eax
dec esp
add esp, 4
add ecx, 0x3e3d
xor ecx, 0x8145
call 0x40e4c4
add byte [ebp + 0x48], cl
inc ebx
cmp ecx, dword [eax + 0x36]
cmp eax, 0x833c503d
les eax, [ecx + ebx*2]
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x750], ecx
jmp 0x40e53e
push ecx
push edx
add esp, 4
xor ecx, 0x9f6
xor ecx, 0x158e4
and ecx, 0x10a93
pop ecx
push esi
and esi, 0xedce
pop esi
push eax
push eax
add esp, 4
and eax, 0x5442
sub eax, 0xc623
pop eax
mov edx, dword [ebp - 0x508]
mov eax, dword [edx]
mov dword [ebp - 0x508], eax
mov ecx, dword [ebp - 0x508]
cmp ecx, dword [ebp - 0xca4]
je 0x40e534
mov edx, dword [ebp - 0x508]
cmp dword [edx + 0x30], 0
jne 0x40e2ea
mov dword [ebp - 0x750], 0
push edx
push edi
add esp, 4
and edx, 0xc6bd
xor edx, 0x7a3
pop edx
push edi
or edi, 0x9bc8
add edi, 0x7f2b
pop edi
push edx
push edx
add esp, 4
sub edx, 0x499
sub edx, 0x69a3
pop edx
cmp dword [ebp - 0x750], 0
jne 0x40e5ba
push esi
or esi, 0x6870
pop esi
push edi
push eax
add esp, 4
call 0x40e594
add byte [edi + 0x47], al
xor al, byte [edi + edi + 0x3d]
cmp eax, 0x4c48335
call 0x40e5a7
add byte [eax + 0x37], al
inc ecx
inc edi
dec ebx
dec esp
inc ecx
inc ecx
inc ebp
dec edi
add esp, 4
pop edi
mov dword [ebp - 0x79c], 0
jmp 0x40f0e1
push eax
sub eax, 0xfa15
sub eax, 0x15e18
add eax, 0x17c0
pop eax
push eax
push edi
add esp, 4
xor eax, 0xd533
xor eax, 0xf161
xor eax, 0x138bc
add eax, 0x44cd
pop eax
mov eax, dword [ebp - 0x750]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x760], 0
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x15f4], edx
cmp dword [ebp - 0x15f4], 0
jne 0x40e62b
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x40e91c
mov ecx, dword [ebp - 0x15f4]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15f8], edx
jne 0x40e653
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x40e91c
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15f8]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x15fc], ecx
cmp dword [ebp - 0x15fc], 0
jne 0x40e685
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
jmp 0x40e91c
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x15fc]
mov dword [ebp - 0x754], eax
jne 0x40e6aa
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], ecx
jmp 0x40e91c
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19c8], eax
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19cc], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19d0], ecx
mov dword [ebp - 0x758], 0
jmp 0x40e704
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 0x40e910
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x19c8]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x19cc]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19d0]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19d4], eax
mov dword [ebp - 0x198], 0
jmp 0x40e774
mov ecx, dword [ebp - 0x198]
add ecx, 1
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x40e826
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
test edx, edx
je 0x40e826
push edi
sub edi, 0x7744
call 0x40e7b5
add byte [edx + 0x36], cl
dec esp
dec edi
dec edx
cmp al, 0x44
add esp, 4
and edi, 0x12c2e
jmp 0x40e7c4
pop edi
push edx
xor edx, 0xfd4f
xor edx, 0x4d73
pop edx
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
cmp ecx, eax
je 0x40e818
mov ecx, dword [ebp - 0x75c]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x894]
cmp edx, ecx
jne 0x40e81f
jmp 0x40e765
jmp 0x40e826
push ecx
add ecx, 0x634b
xor ecx, 0x31fc
xor ecx, 0x15c19
pop ecx
push eax
call 0x40e847
add byte [edi + 0x37], al
inc esi
cmp byte [0xeb04c483], dh
add eax, 0x47483d42
add eax, 0x9dbe
pop eax
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
cmp eax, edx
jne 0x40e885
mov dword [ebp - 0xca8], 0
jmp 0x40e8f4
push ebx
xor ebx, 0x1210e
pop ebx
push esi
push edx
add esp, 4
xor esi, 0x2505
jmp 0x40e89d
pop esi
push edx
or edx, 0x6971
call 0x40e8b3
add byte [ebx], bh
dec ebp
xor al, 0x4f
dec edx
cmp dword [eax + 0x39], ecx
add esp, 4
pop edx
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
or eax, 0x20
cmp ecx, eax
jge 0x40e8ea
mov dword [ebp - 0xca8], 0xffffffff
jmp 0x40e8f4
mov dword [ebp - 0xca8], 1
cmp dword [ebp - 0xca8], 0
jne 0x40e90b
mov ecx, dword [ebp - 0x19d4]
mov dword [ebp - 0x3f4], ecx
jmp 0x40e91c
jmp 0x40e6f5
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
cmp dword [ebp - 0x3f4], 0
je 0x40e9f7
push eax
push ebx
add esp, 4
sub eax, 0x93f8
call 0x40e943
add byte [esi], dh
inc esi
cmp bh, byte [0x453d4b3d]
cmp dword [ebx + 0x505804c4], eax
xor eax, 0x6e04
pop eax
push esi
push esi
add esp, 4
xor esi, 0x167a7
pop esi
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x19d8], eax
push ecx
add ecx, 0x31b2
sub ecx, 0x1397c
add ecx, 0x503d
sub ecx, 0x9480
pop ecx
push ebx
push esi
add esp, 4
sub ebx, 0x17958
sub ebx, 0x13706
and ebx, 0x15a26
pop ebx
mov ecx, dword [ebp - 0x19d8]
mov dword [ebp - 0x19dc], ecx
lea edx, [ebp - 0x173c]
push edx
call dword [ebp - 0x19dc]
test eax, eax
jne 0x40e9f7
push ecx
or ecx, 0x7c48
sub ecx, 0x5013
pop ecx
push esi
call 0x40e9d5
add byte [ebx + 0x4e], cl
dec eax
cmp ecx, dword [ecx + 0x32]
dec ebx
dec esp
inc edx
dec esi
add esp, 4
or esi, 0x52d3
jmp 0x40e9e7
pop esi
mov dword [ebp - 0x79c], 0
jmp 0x40f0e1
push ebx
or ebx, 0x47b4
and ebx, 0xa18f
call 0x40ea10
add byte [esi], dh
inc ebx
cmp ecx, dword [eax + 0x3c]
add esp, 4
pop ebx
push esi
xor esi, 0x10b40
jmp 0x40ea22
or esi, 0xde5c
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19e0], eax
mov ecx, dword [ebp - 0x19e0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19e4], edx
mov eax, dword [ebp - 0x19e4]
mov dword [ebp - 0x1600], eax
push ebx
add ebx, 0xe374
add ebx, 0x1195e
or ebx, 0xc6d7
pop ebx
push eax
push ecx
add esp, 4
xor eax, 0x8235
xor eax, 0x17eb8
or eax, 0xa47e
xor eax, 0x16bfe
pop eax
cmp dword [ebp - 0x1600], 0
jne 0x40ea9a
mov dword [ebp - 0x31c], 0
jmp 0x40ed41
mov ecx, dword [ebp - 0x1600]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push ebx
push edi
add esp, 4
or ebx, 0x17ec6
add ebx, 0x10aa3
sub ebx, 0x53bf
and ebx, 0x8bb6
pop ebx
push eax
sub eax, 0x8932
pop eax
push eax
push edx
add esp, 4
sub eax, 0xc9d1
pop eax
cmp dword [ebp - 0xcb4], 0
jne 0x40eaf6
mov dword [ebp - 0x31c], 0
jmp 0x40ed41
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push edi
jmp 0x40eb0a
or edi, 0xc43b
jmp 0x40eb16
call 0x40eb24
add byte [ecx], bh
inc ecx
dec eax
dec esi
dec ecx
cmp al, byte [ebp + 0x3a]
add esp, 4
pop edi
push ebx
push edi
add esp, 4
xor ebx, 0x118b8
pop ebx
lea edx, [ebp - 0x173c]
mov dword [ebp - 0xcb0], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcac], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push edi
push edx
add esp, 4
call 0x40eb72
add byte [edx + 0x50], cl
dec edi
cmp al, 0x41
dec ecx
dec eax
cmp al, 0x4a
add esp, 4
pop edi
push edx
add edx, 0x63a4
or edx, 0xa64d
add edx, 0xbeae
xor edx, 0xe075
pop edx
mov ecx, dword [ebp - 0xcac]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xcac]
add eax, 2
mov dword [ebp - 0xcac], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb0]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xcb0]
add ecx, 2
mov dword [ebp - 0xcb0], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x34], dx
push edi
add edi, 0xa06e
and edi, 0xc0bc
sub edi, 0x11b01
call 0x40ec09
add byte [edi + 0x46], al
inc edx
inc eax
inc esi
cmp eax, 0x83384945
les eax, [edi + ebx*2]
push eax
push eax
add esp, 4
or eax, 0x9a48
pop eax
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x40ec36
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x1608], ecx
jmp 0x40ec90
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x40eb5e
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x40eb5e
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x40ec7a
mov dword [ebp - 0x1604], 0xffffffff
jmp 0x40ec84
mov dword [ebp - 0x1604], 1
mov eax, dword [ebp - 0x1604]
mov dword [ebp - 0x1608], eax
cmp dword [ebp - 0x1608], 0
jne 0x40ecd9
push edi
call 0x40eca9
add byte [eax + 0x4a], cl
inc edi
cmp dword [esi + 0x50], ecx
dec edi
push eax
inc ebx
add esp, 4
call 0x40ecbb
add byte [esi + 0x3f], al
inc ecx
push eax
inc ebx
xor eax, 0x8336323a
les eax, [ecx + eax*4]
imul dword [eax]
imul eax, dword [eax], 0x79ef8100
add eax, 0x8b5f0001
invalid
push edi
sub edi, 0x8737
add edi, 0x1759f
pop edi
push ecx
push eax
add esp, 4
or ecx, 0x65ac
jmp 0x40ecf8
xor ecx, 0x16a1a
pop ecx
push ebx
push esi
add esp, 4
xor ebx, 0x11448
pop ebx
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xcb4]
je 0x40ed37
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x40eb02
mov dword [ebp - 0x31c], 0
push ebx
or ebx, 0x122b6
add ebx, 0x9559
add ebx, 0xf3d6
sub ebx, 0xeb36
pop ebx
push esi
push eax
add esp, 4
call 0x40ed6f
add byte [edi + 0x34], al
xor eax, 0x4044383a
inc esp
add esp, 4
pop esi
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push edx
push edi
add esp, 4
add edx, 0xfe4
or edx, 0xeaa6
pop edx
push edx
push eax
add esp, 4
jmp 0x40eda2
xor edx, 0xb6c4
jmp 0x40edad
add edx, 0xa378
pop edx
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x160c], edx
cmp dword [ebp - 0x160c], 0
jne 0x40ede4
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x40f0d5
mov ecx, dword [ebp - 0x160c]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1610], edx
jne 0x40ee0c
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x40f0d5
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1610]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1614], ecx
cmp dword [ebp - 0x1614], 0
jne 0x40ee3e
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x40f0d5
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1614]
mov dword [ebp - 0x764], eax
jne 0x40ee63
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x40f0d5
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19e8], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19ec], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1d74], ecx
mov dword [ebp - 0x768], 0
jmp 0x40eebd
mov edx, dword [ebp - 0x768]
add edx, 1
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x40f0c9
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x19e8]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x19ec]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1d74]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19f0], eax
mov dword [ebp - 0x19c], 0
jmp 0x40ef2d
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
test eax, eax
je 0x40efdf
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x40efdf
push ecx
call 0x40ef6b
add byte [ebx + 0x33], cl
cmp al, 0x35
cmp dword [ebp + 0x42], ecx
inc ebx
inc ebp
add esp, 4
jmp 0x40ef77
pop ecx
push edi
sub edi, 0x13dea
sub edi, 0x7ddd
or edi, 0x11468
pop edi
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
cmp ecx, eax
je 0x40efd1
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x878]
cmp edx, ecx
jne 0x40efd8
jmp 0x40ef1e
jmp 0x40efdf
push ecx
push esi
add esp, 4
sub ecx, 0x9f5c
pop ecx
push ecx
or ecx, 0xd072
pop ecx
push ebx
push ecx
add esp, 4
xor ebx, 0x5c22
and ebx, 0x444b
add ebx, 0x3ed8
and ebx, 0x43f3
pop ebx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
cmp eax, edx
jne 0x40f03e
mov dword [ebp - 0xcb8], 0
jmp 0x40f0ad
push ecx
push ecx
add esp, 4
add ecx, 0x2d5c
pop ecx
push ebx
jmp 0x40f054
pop ebx
push eax
and eax, 0xf006
call 0x40f06c
add byte [edx + 0x35], cl
xor cl, byte [edx + 0x3f]
xor bh, byte ss:[esi]
push eax
aaa
add esp, 4
pop eax
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
or eax, 0x20
cmp ecx, eax
jge 0x40f0a3
mov dword [ebp - 0xcb8], 0xffffffff
jmp 0x40f0ad
mov dword [ebp - 0xcb8], 1
cmp dword [ebp - 0xcb8], 0
jne 0x40f0c4
mov ecx, dword [ebp - 0x19f0]
mov dword [ebp - 0x510], ecx
jmp 0x40f0d5
jmp 0x40eeae
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax
push esi
or esi, 0xa538
pop esi
push edi
or edi, 0xda90
add edi, 0x13e59
jmp 0x40f0fe
pop edi
push ecx
add ecx, 0xeaf0
add ecx, 0xac4c
sub ecx, 0x165c6
pop ecx
mov ecx, dword [ebp - 0x3e8]
add ecx, 0xe
mov dword [ebp - 0x1a40], ecx
push ebx
sub ebx, 0x337c
sub ebx, 0x171cf
xor ebx, 0x7b7d
or ebx, 0xbe03
pop ebx
push edi
push eax
add esp, 4
add al, 0x81
out dx, eax
inc ebp
add eax, dword [ecx]
add byte [edi + 0x53], bl