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

Disassembly:
add esp, 4
or edi, 0xc2f2
pop edi
mov byte [ebp - 0x820], 0x4c
mov byte [ebp - 0x81f], 0x6f
mov byte [ebp - 0x81e], 0x61
mov byte [ebp - 0x81d], 0x64
mov byte [ebp - 0x81c], 0x4c
mov byte [ebp - 0x81b], 0x69
mov byte [ebp - 0x81a], 0x62
mov byte [ebp - 0x819], 0x72
mov byte [ebp - 0x818], 0x61
mov byte [ebp - 0x817], 0x72
mov byte [ebp - 0x816], 0x79
mov byte [ebp - 0x815], 0x57
mov byte [ebp - 0x814], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1898], eax
mov ecx, dword [ebp - 0x1898]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x189c], edx
mov eax, dword [ebp - 0x189c]
mov dword [ebp - 0x14dc], eax
push eax
push ecx
add esp, 4
or eax, 0x130b9
pop eax
push edx
push ecx
add esp, 4
sub edx, 0x15888
pop edx
push edi
xor edi, 0xba92
add edi, 0x115d8
xor edi, 0x9b50
jmp 0x409eed
pop edi
cmp dword [ebp - 0x14dc], 0
jne 0x409f06
mov dword [ebp - 0x6ec], 0
jmp 0x40a1c2
mov ecx, dword [ebp - 0x14dc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc2c], eax
push eax
push esi
add esp, 4
sub eax, 0x343
pop eax
push ecx
add ecx, 0xa6e0
and ecx, 0x11837
pop ecx
push esi
push edx
add esp, 4
or esi, 0x1859a
sub esi, 0x6fd5
xor esi, 0x6c91
pop esi
cmp dword [ebp - 0xc2c], 0
jne 0x409f62
mov dword [ebp - 0x6ec], 0
jmp 0x40a1c2
mov ecx, dword [ebp - 0xc2c]
mov dword [ebp - 0x4d8], ecx
push esi
push eax
add esp, 4
xor esi, 0x17ce4
sub esi, 0x9897
sub esi, 0xa0ad
or esi, 0xa687
pop esi
push esi
xor esi, 0x176a4
sub esi, 0x116e9
or esi, 0x4644
pop esi
lea edx, [ebp - 0x16cc]
mov dword [ebp - 0xc28], edx
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc24], ecx
xor edx, edx
mov word [ebp - 0x1fc], dx
xor eax, eax
mov word [ebp - 0x104], ax
push ecx
push esi
add esp, 4
call 0x409fdf
add byte [ebx], dh
inc esp
dec edx
dec ecx
dec esi
cmp al, 0x38
add esp, 4
sub ecx, 0x14ce9
add ecx, 0x16397
call 0x409ffb
add byte [edi], dh
inc ebx
cmp eax, 0x3748473b
add esp, 4
pop ecx
mov ecx, dword [ebp - 0xc24]
mov dx, word [ecx]
mov word [ebp - 0xf82], dx
mov eax, dword [ebp - 0xc24]
add eax, 2
mov dword [ebp - 0xc24], eax
mov cx, word [ebp - 0xf82]
mov word [ebp - 0x1fc], cx
mov edx, dword [ebp - 0xc28]
mov ax, word [edx]
mov word [ebp - 0xf84], ax
mov ecx, dword [ebp - 0xc28]
add ecx, 2
mov dword [ebp - 0xc28], ecx
mov dx, word [ebp - 0xf84]
mov word [ebp - 0x104], dx
push esi
call 0x40a06a
add byte [esi], dh
inc eax
cmp byte [esi + edi], dh
dec eax
cmp byte [ecx*2 + 0x4c48339], dh
add esi, 0x9e60
or esi, 0x11f2f
call 0x40a087
add byte [ebx + 0x3f], cl
cmp dh, byte [0x44503245]
add esp, 4
pop esi
movzx eax, word [ebp - 0x104]
test eax, eax
jne 0x40a0ae
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
sub ecx, edx
mov dword [ebp - 0x14e4], ecx
jmp 0x40a111
movzx eax, word [ebp - 0x1fc]
movzx ecx, word [ebp - 0x104]
cmp eax, ecx
invalid
invalid
push edi
push edx
add esp, 4
xor edi, 0x10c5f
call 0x40a1dc
add byte [0x3c334241], bh
inc esp
cmp byte [edi + 0x4e], cl
add esp, 4
and edi, 0x14f81
xor edi, 0x11d11
pop edi
push edi
add edi, 0x1a20
pop edi
cmp dword [ebp - 0x6ec], 0
jne 0x40a23e
push edx
add edx, 0x16587
xor edx, 0x17601
and edx, 0xb5d4
xor edx, 0xa2f2
pop edx
push esi
push esi
add esp, 4
sub esi, 0xfc58
add esi, 0x1862a
or esi, 0x868c
pop esi
mov dword [ebp - 0x738], 0
jmp 0x40ad65
push ebx
push esi
add esp, 4
sub ebx, 0x12de0
xor ebx, 0x120d7
pop ebx
push edx
push ebx
add esp, 4
jmp 0x40a25c
or edx, 0x29aa
pop edx
push ebx
push ecx
add esp, 4
jmp 0x40a26f
pop ebx
mov eax, dword [ebp - 0x6ec]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x6fc], 0
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x14e8], edx
cmp dword [ebp - 0x14e8], 0
jne 0x40a2af
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x40a5a0
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x40a2d7
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x40a5a0
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x14ec]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x14f0], ecx
cmp dword [ebp - 0x14f0], 0
jne 0x40a309
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x40a5a0
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x40a32e
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x40a5a0
mov edx, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18a0], eax
mov ecx, dword [ebp - 0x6f0]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18a4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18a8], ecx
mov dword [ebp - 0x6f4], 0
jmp 0x40a388
mov edx, dword [ebp - 0x6f4]
add edx, 1
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x40a594
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x180], 0
jmp 0x40a3f8
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
test eax, eax
je 0x40a4aa
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x40a4aa
push edi
add edi, 0x9623
or edi, 0xbdbb
or edi, 0x1586e
pop edi
push eax
push ecx
add esp, 4
or eax, 0x18294
pop eax
push esi
push edi
add esp, 4
sub esi, 0x4661
sub esi, 0x1049f
pop esi
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
cmp ecx, eax
je 0x40a49c
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x180]
cmp dh, 0xff
dec dword [edi]
mov esi, 0x20f28311
mov eax, dword [ebp - 0x180]
movsx ecx, byte [ebp + eax - 0x820]
cmp edx, ecx
jne 0x40a4a3
jmp 0x40a3e9
jmp 0x40a4aa
push ecx
push edx
add esp, 4
and ecx, 0x18449
pop ecx
push eax
sub eax, 0x14566
xor eax, 0xd16a
or eax, 0x15180
call 0x40a4d8
add byte [0x3b343b48], bh
dec edi
dec ebp
push eax
add esp, 4
pop eax
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
cmp eax, edx
jne 0x40a509
mov dword [ebp - 0xc30], 0
jmp 0x40a578
push eax
push eax
add esp, 4
call 0x40a51a
add byte [eax + 0x33], cl
cmp byte [esi + 0x3f], cl
inc ecx
add esp, 4
and eax, 0x7d22
add eax, 0xe211
pop eax
push edx
sub edx, 0x17d91
jmp 0x40a53a
pop edx
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
or eax, 0x20
cmp ecx, eax
jge 0x40a56e
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x40a578
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x40a58f
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x40a5a0
jmp 0x40a379
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x40a67b
push edi
add edi, 0x11e77
add edi, 0x165df
pop edi
push esi
push esi
add esp, 4
xor esi, 0x14c5e
and esi, 0x2b58
call 0x40a5db
add byte [edx + eax*2 + 0x32], al
cmp dh, byte [edi]
dec ebx
inc esi
xor esi, dword [edi]
add esp, 4
pop esi
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push edi
sub edi, 0x10343
jmp 0x40a5f8
pop edi
push edi
push edx
add esp, 4
or edi, 0x1404b
add edi, 0xcc02
pop edi
push esi
push edx
add esp, 4
xor esi, 0xb9ad
xor esi, 0x9aca
pop esi
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x40a67b
push eax
jmp 0x40a643
pop eax
push edx
add edx, 0x13fd3
pop edx
push ecx
or ecx, 0x9b6a
add ecx, 0x9538
pop ecx
push eax
push ecx
add esp, 4
and eax, 0x205a
add eax, 0x17067
pop eax
mov dword [ebp - 0x738], 0
jmp 0x40ad65
push edi
push edx
add esp, 4
or edi, 0x6732
pop edi
push eax
push esi
add esp, 4
sub eax, 0x108ad
and eax, 0x1171e
sub eax, 0x117d1
add eax, 0x712d
pop eax
push edi
xor edi, 0x124e1
pop edi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push edx
xor edx, 0x144fc
or edx, 0x47b7
and edx, 0x3726
jmp 0x40a6f0
pop edx
push edx
jmp 0x40a6f9
add edx, 0x1247c
jmp 0x40a705
pop edx
cmp dword [ebp - 0x14f4], 0
jne 0x40a71e
mov dword [ebp - 0x2e0], 0
jmp 0x40a9c5
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push edi
jmp 0x40a737
pop edi
push esi
push edi
add esp, 4
xor esi, 0x1681
and esi, 0x1385a
pop esi
push edi
jmp 0x40a750
xor edi, 0x1133b
add edi, 0x16ae2
jmp 0x40a761
pop edi
cmp dword [ebp - 0xc3c], 0
jne 0x40a77a
mov dword [ebp - 0x2e0], 0
jmp 0x40a9c5
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push ecx
and ecx, 0x15d52
or ecx, 0x8eb
or ecx, 0x7ba1
pop ecx
push ebx
and ebx, 0x11752
jmp 0x40a7a9
pop ebx
push edi
and edi, 0x8fe5
and edi, 0x1d99
pop edi
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc38], edx
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc34], ecx
xor edx, edx
mov word [ebp - 0x200], dx
xor eax, eax
mov word [ebp - 0x34], ax
push esi
or esi, 0xfccf
pop esi
push ebx
and ebx, 0x12996
xor ebx, 0x16a36
call 0x40a803
add byte [edx], bh
inc ebp
dec edi
cmp al, 0x3a
inc edi
add esp, 4
sub ebx, 0x104e9
pop ebx
push eax
jmp 0x40a813
pop eax
mov ecx, dword [ebp - 0xc34]
mov dx, word [ecx]
mov word [ebp - 0xf86], dx
mov eax, dword [ebp - 0xc34]
add eax, 2
mov dword [ebp - 0xc34], eax
mov cx, word [ebp - 0xf86]
mov word [ebp - 0x200], cx
mov edx, dword [ebp - 0xc38]
mov ax, word [edx]
mov word [ebp - 0xf88], ax
mov ecx, dword [ebp - 0xc38]
add ecx, 2
mov dword [ebp - 0xc38], ecx
mov dx, word [ebp - 0xf88]
mov word [ebp - 0x34], dx
push edx
or edx, 0x498c
and edx, 0xb9ec
pop edx
push ebx
xor ebx, 0x126d9
sub ebx, 0x15a71
or ebx, 0x74b5
pop ebx
push esi
jmp 0x40a896
add esi, 0x2bcc
pop esi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x40a8ba
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x40a914
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x40a7e2
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x40a7e2
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x40a8fe
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x40a908
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x40a95d
push eax
push eax
add esp, 4
xor eax, 0xc58d
or eax, 0x8995
xor eax, 0xc1b1
jmp 0x40a93c
pop eax
push eax
push ecx
add esp, 4
sub eax, 0xaff7
or eax, 0x18360
pop eax
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x40a9c5
push ebx
push ecx
add esp, 4
call 0x40a96f
add byte [ebx + edi], dh
dec edx
cmp byte [ebx + 0x50], cl
dec esp
add esp, 4
or ebx, 0x5c25
call 0x40a985
add byte [ebp + 0x3c], cl
inc ebp
cmp byte [ebp + 0x36], cl
inc edi
add esp, 4
sub ebx, 0x15930
pop ebx
mov edx, dword [ebp - 0x4dc]
mov eax, dword [edx]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [ebp - 0xc3c]
je 0x40a9bb
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x40a786
mov dword [ebp - 0x2e0], 0
push edi
push ecx
add esp, 4
call 0x40a9da
add byte [eax + 0x48], dl
dec ecx
aaa
inc edi
dec edx
cmp dh, byte [esi]
inc edx
push eax
add esp, 4
sub edi, 0xb3a3
pop edi
push ebx
push ecx
add esp, 4
add ebx, 0xb387
jmp 0x40a9f6
pop ebx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push edi
push edi
add esp, 4
and edi, 0x12c2c
pop edi
push esi
or esi, 0x84e3
xor esi, 0x758a
pop esi
push esi
push esi
add esp, 4
xor esi, 0xec75
and esi, 0x14d8e
sub esi, 0x3fc6
pop esi
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x40aa68
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x40ad59
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x40aa90
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x40ad59
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x40aac2
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x40ad59
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x40aae7
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x40ad59
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x40ab41
mov edx, dword [ebp - 0x704]
add edx, 1
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x40ad4d
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c0]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18cc], eax
mov dword [ebp - 0x184], 0
jmp 0x40abb1
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
test eax, eax
je 0x40ac63
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x40ac63
push ebx
add ebx, 0xa5be
add ebx, 0x4d37
and ebx, 0x8482
pop ebx
push ebx
push esi
add esp, 4
and ebx, 0xf238
sub ebx, 0x1847b
xor ebx, 0x16937
and ebx, 0x1220b
pop ebx
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
cmp ecx, eax
je 0x40ac55
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x184]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x184]
movsx ecx, byte [ebp + eax - 0x804]
cmp edx, ecx
jne 0x40ac5c
jmp 0x40aba2
jmp 0x40ac63
push esi
push ecx
add esp, 4
jmp 0x40ac6d
or esi, 0x177de
pop esi
push ecx
push eax
add esp, 4
sub ecx, 0x76c7
jmp 0x40ac86
pop ecx
push edx
add edx, 0x6681
or edx, 0x132de
pop edx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
cmp eax, edx
jne 0x40acc2
mov dword [ebp - 0xc40], 0
jmp 0x40ad31
push edi
push edx
add esp, 4
and edi, 0x15428
xor edi, 0x112af
pop edi
push ebx
jmp 0x40acde
pop ebx
push eax
push eax
add esp, 4
and eax, 0x16ea0
jmp 0x40acf3
pop eax
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
or eax, 0x20
cmp ecx, eax
jge 0x40ad27
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x40ad31
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x40ad48
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x40ad59
jmp 0x40ab32
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push ecx
call 0x40ad72
add byte [eax + 0x33], dl
dec ebx
xor eax, 0xc4833a3e
add al, 0x59
push ecx
jmp 0x40ad7f
call 0x40ad8d
add byte [0x38443237], dh
dec ecx
inc edi
dec ebp
add esp, 4
xor ecx, 0xe84b
pop ecx
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push ecx
sub ecx, 0x2db6
pop ecx
push edx
push edi
add esp, 4
call fcn.0040adc0
add byte [ebp + 0x49], cl
inc edi
dec esi
aaa
inc edi
dec esi