Function at 0x407ba0
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0x8f0
mov dword [ebp + 0x70], 0
mov eax, dword [ebp + 0x64]
xor eax, dword [ebp + 0x64]
mov dword [ebp + 0x64], eax
jmp 0x407bc6
mov ecx, dword [ebp + 0x64]
add ecx, 1
mov dword [ebp + 0x64], ecx
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b2b
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0x118], eax
mov edx, dword [ebp + 0x64]
cmp edx, dword [ebp - 0x118]
jge 0x407c6f
mov dword [ebp - 0x190], 1
jmp 0x407c79
mov dword [ebp - 0x190], 0
mov al, byte [ebp - 0x190]
mov byte [ebp + 0x1b], al
mov ecx, dword [ebp - 0x118]
xor ecx, dword [ebp - 0x118]
mov dword [ebp - 0x118], ecx
movzx edx, byte [ebp + 0x1b]
test edx, edx
je 0x407e21
mov eax, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x64]
mov dl, byte [ecx + 0x412104]
mov byte [ebp + eax + 3], dl
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x4122cc]
not ecx
xor ecx, 0x701f1b58
mov edx, 4
shl edx, 2
mov eax, dword [edx + 0x4122cc]
not eax
shr eax, 1
sub ecx, eax
mov edx, 4
imul eax, edx, 3
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 2
mov eax, 4
shl eax, 2
mov eax, dword [eax + 0x4122cc]
shl eax, 3
and edx, eax
add ecx, edx
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x4122cc]
shl eax, 1
mov edx, 4
imul edx, edx, 3
mov edx, dword [edx + 0x4122cc]
not edx
shr edx, 2
imul eax, edx
sub ecx, eax
mov eax, 4
shl eax, 1
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 3
add ecx, edx
mov dword [ebp - 0x120], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x4122cc]
not ecx
xor ecx, 0x701f182f
mov edx, 4
shl edx, 2
mov eax, dword [edx + 0x4122cc]
not eax
shr eax, 1
sub ecx, eax
mov edx, 4
imul eax, edx, 3
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 2
mov eax, 4
shl eax, 2
mov eax, dword [eax + 0x4122cc]
shl eax, 3
and edx, eax
add ecx, edx
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x4122cc]
shl eax, 1
mov edx, 4
imul edx, edx, 3
mov edx, dword [edx + 0x4122cc]
not edx
shr edx, 2
imul eax, edx
sub ecx, eax
mov eax, 4
shl eax, 1
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 3
add ecx, edx
mov dword [ebp - 0x11c], ecx
mov eax, dword [ebp - 0x120]
add eax, dword [ebp + 0x64]
xor edx, edx
div dword [ebp - 0x11c]
mov eax, dword [ebp + 0x64]
movsx ecx, byte [ebp + eax + 3]
xor ecx, edx
mov edx, dword [ebp + 0x64]
mov byte [ebp + edx + 3], cl
mov eax, dword [ebp - 0x11c]
xor eax, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x120]
xor ecx, dword [ebp - 0x120]
mov dword [ebp - 0x120], ecx
jmp 0x407bbd
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b2e
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0x124], eax
mov edx, dword [ebp + 0x64]
xor edx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x64]
sub eax, dword [ebp - 0x124]
mov byte [ebp + eax + 3], dl
mov ecx, dword [ebp - 0x124]
xor ecx, dword [ebp - 0x124]
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp + 0x64]
xor edx, dword [ebp + 0x64]
mov dword [ebp + 0x64], edx
mov eax, dword [ebp + 0x7c]
push eax
lea ecx, [ebp + 3]
push ecx
lea edx, [ebp - 0x77c]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, dword [ebp + 0x40]
xor eax, dword [ebp + 0x40]
mov dword [ebp + 0x40], eax
jmp 0x407f0d
mov ecx, dword [ebp + 0x40]
add ecx, 1
mov dword [ebp + 0x40], ecx
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b2b
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp + 0x40]
cmp edx, dword [ebp - 0x3c]
jge 0x407fb0
mov dword [ebp - 0x194], 1
jmp 0x407fba
mov dword [ebp - 0x194], 0
mov al, byte [ebp - 0x194]
mov byte [ebp + 0x16], al
mov ecx, dword [ebp - 0x3c]
xor ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], ecx
movzx edx, byte [ebp + 0x16]
test edx, edx
je 0x407ff2
mov eax, dword [ebp + 0x40]
movsx ecx, byte [ebp + eax + 3]
mov edx, dword [ebp + 0x40]
movsx eax, byte [ebp + edx + 3]
xor eax, ecx
mov ecx, dword [ebp + 0x40]
mov byte [ebp + ecx + 3], al
jmp 0x407f04
mov edx, dword [ebp + 0x40]
xor edx, dword [ebp + 0x40]
mov dword [ebp + 0x40], edx
lea eax, [ebp - 0x474]
push eax
lea ecx, [ebp - 0x77c]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
je 0x40ab1c
cmp dword [ebp - 0x12c], 0xffffffff
je 0x40ab1c
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b3f
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x474]
and edx, dword [ebp - 0x40]
jne 0x4080d5
mov dword [ebp - 0x130], 1
jmp 0x4080df
mov dword [ebp - 0x130], 0
mov al, byte [ebp - 0x130]
mov byte [ebp + 0x15], al
mov ecx, dword [ebp - 0x40]
xor ecx, dword [ebp - 0x40]
mov dword [ebp - 0x40], ecx
movzx edx, byte [ebp + 0x15]
test edx, edx
je 0x409ca9
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x4122cc]
not ecx
xor ecx, 0x701f182b
mov edx, 4
shl edx, 2
mov eax, dword [edx + 0x4122cc]
not eax
shr eax, 1
sub ecx, eax
mov edx, 4
imul eax, edx, 3
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 2
mov eax, 4
shl eax, 2
mov eax, dword [eax + 0x4122cc]
shl eax, 3
and edx, eax
add ecx, edx
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x4122cc]
shl eax, 1
mov edx, 4
imul edx, edx, 3
mov edx, dword [edx + 0x4122cc]
not edx
shr edx, 2
imul eax, edx
sub ecx, eax
mov eax, 4
shl eax, 1
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 3
add ecx, edx
mov dword [ebp - 0x4c], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x4122cc]
not ecx
xor ecx, 0x701f1b2f
mov edx, 4
shl edx, 2
mov eax, dword [edx + 0x4122cc]
not eax
shr eax, 1
sub ecx, eax
mov edx, 4
imul eax, edx, 3
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 2
mov eax, 4
shl eax, 2
mov eax, dword [eax + 0x4122cc]
shl eax, 3
and edx, eax
add ecx, edx
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x4122cc]
shl eax, 1
mov edx, 4
imul edx, edx, 3
mov edx, dword [edx + 0x4122cc]
not edx
shr edx, 2
imul eax, edx
sub ecx, eax
mov eax, 4
shl eax, 1
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 3
add ecx, edx
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x1d4], ecx
lea edx, [ebp - 0x334]
mov dword [ebp - 0x1d0], edx
mov dword [ebp - 0x44], 0
jmp 0x40824d
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp - 0x1cc]
jge 0x40826b
mov edx, dword [ebp - 0x1d0]
add edx, dword [ebp - 0x44]
mov al, byte [ebp - 0x1d4]
mov byte [edx], al
jmp 0x408244
mov ecx, dword [ebp - 0x48]
xor ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x4c]
xor edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp + 0x68]
xor eax, dword [ebp + 0x68]
mov dword [ebp + 0x68], eax
jmp 0x408291
mov ecx, dword [ebp + 0x68]
add ecx, 1
mov dword [ebp + 0x68], ecx
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b2a
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0x50], eax
mov edx, dword [ebp + 0x68]
cmp edx, dword [ebp - 0x50]
jge 0x408334
mov dword [ebp - 0x134], 1
jmp 0x40833e
mov dword [ebp - 0x134], 0
mov al, byte [ebp - 0x134]
mov byte [ebp + 0x14], al
mov ecx, dword [ebp - 0x50]
xor ecx, dword [ebp - 0x50]
mov dword [ebp - 0x50], ecx
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x4084bf
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x68]
mov dl, byte [ecx + 0x412108]
mov byte [ebp + eax - 0xd], dl
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x4122cc]
not ecx
xor ecx, 0x701f189a
mov edx, 4
shl edx, 2
mov eax, dword [edx + 0x4122cc]
not eax
shr eax, 1
sub ecx, eax
mov edx, 4
imul eax, edx, 3
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 2
mov eax, 4
shl eax, 2
mov eax, dword [eax + 0x4122cc]
shl eax, 3
and edx, eax
add ecx, edx
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x4122cc]
shl eax, 1
mov edx, 4
imul edx, edx, 3
mov edx, dword [edx + 0x4122cc]
not edx
shr edx, 2
imul eax, edx
sub ecx, eax
mov eax, 4
shl eax, 1
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 3
add ecx, edx
mov dword [ebp - 0x58], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x4122cc]
not ecx
xor ecx, 0x701f182f
mov edx, 4
shl edx, 2
mov eax, dword [edx + 0x4122cc]
not eax
shr eax, 1
sub ecx, eax
mov edx, 4
imul eax, edx, 3
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 2
mov eax, 4
shl eax, 2
mov eax, dword [eax + 0x4122cc]
shl eax, 3
and edx, eax
add ecx, edx
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x4122cc]
shl eax, 1
mov edx, 4
imul edx, edx, 3
mov edx, dword [edx + 0x4122cc]
not edx
shr edx, 2
imul eax, edx
sub ecx, eax
mov eax, 4
shl eax, 1
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 3
add ecx, edx
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x58]
add eax, dword [ebp + 0x68]
xor edx, edx
div dword [ebp - 0x54]
mov eax, dword [ebp + 0x68]
movsx ecx, byte [ebp + eax - 0xd]
xor ecx, edx
mov edx, dword [ebp + 0x68]
mov byte [ebp + edx - 0xd], cl
mov eax, dword [ebp - 0x54]
xor eax, dword [ebp - 0x54]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x58]
xor ecx, dword [ebp - 0x58]
mov dword [ebp - 0x58], ecx
jmp 0x408288
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b2e
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp + 0x68]
xor edx, dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
sub eax, dword [ebp - 0x5c]
mov byte [ebp + eax - 0xd], dl
mov ecx, dword [ebp - 0x5c]
xor ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp + 0x68]
xor edx, dword [ebp + 0x68]
mov dword [ebp + 0x68], edx
lea eax, [ebp - 0x448]
push eax
mov ecx, dword [ebp + 0x7c]
push ecx
lea edx, [ebp - 0xd]
push edx
lea eax, [ebp - 0x334]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov ecx, dword [ebp + 0x3c]
xor ecx, dword [ebp + 0x3c]
mov dword [ebp + 0x3c], ecx
jmp 0x4085a3
mov edx, dword [ebp + 0x3c]
add edx, 1
mov dword [ebp + 0x3c], edx
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x4122cc]
not ecx
xor ecx, 0x701f1b2a
mov edx, 4
shl edx, 2
mov eax, dword [edx + 0x4122cc]
not eax
shr eax, 1
sub ecx, eax
mov edx, 4
imul eax, edx, 3
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 2
mov eax, 4
shl eax, 2
mov eax, dword [eax + 0x4122cc]
shl eax, 3
and edx, eax
add ecx, edx
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x4122cc]
shl eax, 1
mov edx, 4
imul edx, edx, 3
mov edx, dword [edx + 0x4122cc]
not edx
shr edx, 2
imul eax, edx
sub ecx, eax
mov eax, 4
shl eax, 1
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 3
add ecx, edx
mov dword [ebp - 0x60], ecx
mov eax, dword [ebp + 0x3c]
cmp eax, dword [ebp - 0x60]
jge 0x408647
mov dword [ebp - 0x138], 1
jmp 0x408651
mov dword [ebp - 0x138], 0
mov cl, byte [ebp - 0x138]
mov byte [ebp + 0x13], cl
mov edx, dword [ebp - 0x60]
xor edx, dword [ebp - 0x60]
mov dword [ebp - 0x60], edx
movzx eax, byte [ebp + 0x13]
test eax, eax
je 0x408689
mov ecx, dword [ebp + 0x3c]
movsx edx, byte [ebp + ecx - 0xd]
mov eax, dword [ebp + 0x3c]
movsx ecx, byte [ebp + eax - 0xd]
xor ecx, edx
mov edx, dword [ebp + 0x3c]
mov byte [ebp + edx - 0xd], cl
jmp 0x40859a
mov eax, dword [ebp + 0x3c]
xor eax, dword [ebp + 0x3c]
mov dword [ebp + 0x3c], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f182b
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0x6c], edx
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f1b2f
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x19c], edx
lea eax, [ebp - 0x578]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x64], 0
jmp 0x4087e2
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x1d8]
jge 0x408800
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x64]
mov cl, byte [ebp - 0x19c]
mov byte [eax], cl
jmp 0x4087d9
mov edx, dword [ebp - 0x68]
xor edx, dword [ebp - 0x68]
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x6c]
xor eax, dword [ebp - 0x6c]
mov dword [ebp - 0x6c], eax
lea ecx, [ebp - 0x32f]
mov dword [ebp - 0x1a4], ecx
lea edx, [ebp - 0x334]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x1c]
mov dl, byte [ecx]
mov byte [ebp + 0x12], dl
add dword [ebp - 0x1c], 1
cmp byte [ebp + 0x12], 0
jne 0x408833
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1b0], ecx
lea edx, [ebp - 0x578]
mov dword [ebp - 0x1ac], edx
mov dword [ebp - 0x20], 0
jmp 0x40887e
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1a8]
jge 0x4088a1
mov edx, dword [ebp - 0x1ac]
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1b0]
add eax, dword [ebp - 0x20]
mov cl, byte [eax]
mov byte [edx], cl
jmp 0x408875
or dword [ebp + 0x70], 1
mov edx, dword [ebp + 0x60]
xor edx, dword [ebp + 0x60]
mov dword [ebp + 0x60], edx
jmp 0x4088b9
mov eax, dword [ebp + 0x60]
add eax, 1
mov dword [ebp + 0x60], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f1b2a
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0x70], edx
mov ecx, dword [ebp + 0x60]
cmp ecx, dword [ebp - 0x70]
jge 0x40895d
mov dword [ebp - 0x13c], 1
jmp 0x408967
mov dword [ebp - 0x13c], 0
mov dl, byte [ebp - 0x13c]
mov byte [ebp + 0x11], dl
mov eax, dword [ebp - 0x70]
xor eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], eax
movzx ecx, byte [ebp + 0x11]
test ecx, ecx
je 0x408ae6
mov edx, dword [ebp + 0x60]
mov eax, dword [ebp + 0x60]
mov cl, byte [eax + 0x412110]
mov byte [ebp + edx - 0x17], cl
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b65
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0x78], eax
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f182f
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x78]
add eax, dword [ebp + 0x60]
xor edx, edx
div dword [ebp - 0x74]
mov eax, dword [ebp + 0x60]
movsx ecx, byte [ebp + eax - 0x17]
xor ecx, edx
mov edx, dword [ebp + 0x60]
mov byte [ebp + edx - 0x17], cl
mov eax, dword [ebp - 0x74]
xor eax, dword [ebp - 0x74]
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x78]
xor ecx, dword [ebp - 0x78]
mov dword [ebp - 0x78], ecx
jmp 0x4088b0
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b2e
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0x7c], eax
mov edx, dword [ebp + 0x60]
xor edx, dword [ebp + 0x60]
mov eax, dword [ebp + 0x60]
sub eax, dword [ebp - 0x7c]
mov byte [ebp + eax - 0x17], dl
mov ecx, dword [ebp - 0x7c]
xor ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x7c], ecx
mov edx, dword [ebp + 0x60]
xor edx, dword [ebp + 0x60]
mov dword [ebp + 0x60], edx
lea eax, [ebp - 0x334]
mov dword [ebp - 0x24], eax
jmp 0x408bab
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x24]
movsx eax, byte [edx]
test eax, eax
je 0x408c1e
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x80], ecx
lea edx, [ebp - 0x17]
mov dword [ebp - 4], edx
jmp 0x408bd5
mov eax, dword [ebp - 0x80]
add eax, 1
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
movsx eax, byte [edx]
test eax, eax
je 0x408c07
mov ecx, dword [ebp - 0x80]
movsx edx, byte [ecx]
mov eax, dword [ebp - 4]
movsx ecx, byte [eax]
cmp edx, ecx
je 0x408c05
mov edx, dword [ebp - 0x80]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 4]
movsx edx, byte [ecx]
or edx, 0x20
cmp eax, edx
jne 0x408c07
jmp 0x408bc3
mov eax, dword [ebp - 4]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x408c1c
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x140], edx
jmp 0x408c28
jmp 0x408ba2
mov dword [ebp - 0x140], 0
cmp dword [ebp - 0x140], 0
jne 0x409020
or dword [ebp + 0x70], 2
mov eax, dword [ebp + 0x5c]
xor eax, dword [ebp + 0x5c]
mov dword [ebp + 0x5c], eax
jmp 0x408c4d
mov ecx, dword [ebp + 0x5c]
add ecx, 1
mov dword [ebp + 0x5c], ecx
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b2a
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0x84], eax
mov edx, dword [ebp + 0x5c]
cmp edx, dword [ebp - 0x84]
jge 0x408cf6
mov dword [ebp - 0x144], 1
jmp 0x408d00
mov dword [ebp - 0x144], 0
mov al, byte [ebp - 0x144]
mov byte [ebp + 0x17], al
mov ecx, dword [ebp - 0x84]
xor ecx, dword [ebp - 0x84]
mov dword [ebp - 0x84], ecx
movzx edx, byte [ebp + 0x17]
test edx, edx
je 0x408ea8
mov eax, dword [ebp + 0x5c]
mov ecx, dword [ebp + 0x5c]
mov dl, byte [ecx + str.n2_0]
mov byte [ebp + eax - 0x12], dl
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x4122cc]
not ecx
xor ecx, 0x701f1b6f
mov edx, 4
shl edx, 2
mov eax, dword [edx + 0x4122cc]
not eax
shr eax, 1
sub ecx, eax
mov edx, 4
imul eax, edx, 3
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 2
mov eax, 4
shl eax, 2
mov eax, dword [eax + 0x4122cc]
shl eax, 3
and edx, eax
add ecx, edx
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x4122cc]
shl eax, 1
mov edx, 4
imul edx, edx, 3
mov edx, dword [edx + 0x4122cc]
not edx
shr edx, 2
imul eax, edx
sub ecx, eax
mov eax, 4
shl eax, 1
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 3
add ecx, edx
mov dword [ebp - 0x8c], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x4122cc]
not ecx
xor ecx, 0x701f182f
mov edx, 4
shl edx, 2
mov eax, dword [edx + 0x4122cc]
not eax
shr eax, 1
sub ecx, eax
mov edx, 4
imul eax, edx, 3
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 2
mov eax, 4
shl eax, 2
mov eax, dword [eax + 0x4122cc]
shl eax, 3
and edx, eax
add ecx, edx
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x4122cc]
shl eax, 1
mov edx, 4
imul edx, edx, 3
mov edx, dword [edx + 0x4122cc]
not edx
shr edx, 2
imul eax, edx
sub ecx, eax
mov eax, 4
shl eax, 1
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 3
add ecx, edx
mov dword [ebp - 0x88], ecx
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp + 0x5c]
xor edx, edx
div dword [ebp - 0x88]
mov eax, dword [ebp + 0x5c]
movsx ecx, byte [ebp + eax - 0x12]
xor ecx, edx
mov edx, dword [ebp + 0x5c]
mov byte [ebp + edx - 0x12], cl
mov eax, dword [ebp - 0x88]
xor eax, dword [ebp - 0x88]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x8c]
xor ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x8c], ecx
jmp 0x408c44
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b2e
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0x90], eax
mov edx, dword [ebp + 0x5c]
xor edx, dword [ebp + 0x5c]
mov eax, dword [ebp + 0x5c]
sub eax, dword [ebp - 0x90]
mov byte [ebp + eax - 0x12], dl
mov ecx, dword [ebp - 0x90]
xor ecx, dword [ebp - 0x90]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp + 0x5c]
xor edx, dword [ebp + 0x5c]
mov dword [ebp + 0x5c], edx
lea eax, [ebp - 0x334]
mov dword [ebp - 0x28], eax
jmp 0x408f7c
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x28]
movsx eax, byte [edx]
test eax, eax
je 0x409001
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x94], ecx
lea edx, [ebp - 0x12]
mov dword [ebp - 8], edx
jmp 0x408faf
mov eax, dword [ebp - 0x94]
add eax, 1
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
movsx eax, byte [edx]
test eax, eax
je 0x408fe7
mov ecx, dword [ebp - 0x94]
movsx edx, byte [ecx]
mov eax, dword [ebp - 8]
movsx ecx, byte [eax]
cmp edx, ecx
je 0x408fe5
mov edx, dword [ebp - 0x94]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 8]
movsx edx, byte [ecx]
or edx, 0x20
cmp eax, edx
jne 0x408fe7
jmp 0x408f97
mov eax, dword [ebp - 8]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x408ffc
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x148], edx
jmp 0x40900b
jmp 0x408f73
mov dword [ebp - 0x148], 0
cmp dword [ebp - 0x148], 0
jne 0x409020
mov dword [ebp - 0x14c], 1
jmp 0x40902a
mov dword [ebp - 0x14c], 0
mov al, byte [ebp - 0x14c]
mov byte [ebp + 0xd], al
mov ecx, dword [ebp + 0x70]
and ecx, 2
je 0x409155
and dword [ebp + 0x70], 0xfffffffd
mov edx, dword [ebp + 0x38]
xor edx, dword [ebp + 0x38]
mov dword [ebp + 0x38], edx
jmp 0x409057
mov eax, dword [ebp + 0x38]
add eax, 1
mov dword [ebp + 0x38], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f1b2a
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0x98], edx
mov ecx, dword [ebp + 0x38]
cmp ecx, dword [ebp - 0x98]
jge 0x409101
mov dword [ebp - 0x150], 1
jmp 0x40910b
mov dword [ebp - 0x150], 0
mov dl, byte [ebp - 0x150]
mov byte [ebp + 0xf], dl
mov eax, dword [ebp - 0x98]
xor eax, dword [ebp - 0x98]
mov dword [ebp - 0x98], eax
movzx ecx, byte [ebp + 0xf]
test ecx, ecx
je 0x40914c
mov edx, dword [ebp + 0x38]
movsx eax, byte [ebp + edx - 0x12]
mov ecx, dword [ebp + 0x38]
movsx edx, byte [ebp + ecx - 0x12]
xor edx, eax
mov eax, dword [ebp + 0x38]
mov byte [ebp + eax - 0x12], dl
jmp 0x40904e
mov ecx, dword [ebp + 0x38]
xor ecx, dword [ebp + 0x38]
mov dword [ebp + 0x38], ecx
mov edx, dword [ebp + 0x70]
and edx, 1
je 0x409276
and dword [ebp + 0x70], 0xfffffffe
mov eax, dword [ebp + 0x34]
xor eax, dword [ebp + 0x34]
mov dword [ebp + 0x34], eax
jmp 0x409179
mov ecx, dword [ebp + 0x34]
add ecx, 1
mov dword [ebp + 0x34], ecx
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b2a
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0x9c], eax
mov edx, dword [ebp + 0x34]
cmp edx, dword [ebp - 0x9c]
jge 0x409222
mov dword [ebp - 0x154], 1
jmp 0x40922c
mov dword [ebp - 0x154], 0
mov al, byte [ebp - 0x154]
mov byte [ebp + 0xe], al
mov ecx, dword [ebp - 0x9c]
xor ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x9c], ecx
movzx edx, byte [ebp + 0xe]
test edx, edx
je 0x40926d
mov eax, dword [ebp + 0x34]
movsx ecx, byte [ebp + eax - 0x17]
mov edx, dword [ebp + 0x34]
movsx eax, byte [ebp + edx - 0x17]
xor eax, ecx
mov ecx, dword [ebp + 0x34]
mov byte [ebp + ecx - 0x17], al
jmp 0x409170
mov edx, dword [ebp + 0x34]
xor edx, dword [ebp + 0x34]
mov dword [ebp + 0x34], edx
movzx eax, byte [ebp + 0xd]
test eax, eax
je 0x40970c
mov ecx, dword [ebp + 0x58]
xor ecx, dword [ebp + 0x58]
mov dword [ebp + 0x58], ecx
jmp 0x409296
mov edx, dword [ebp + 0x58]
add edx, 1
mov dword [ebp + 0x58], edx
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x4122cc]
not ecx
xor ecx, 0x701f1b19
mov edx, 4
shl edx, 2
mov eax, dword [edx + 0x4122cc]
not eax
shr eax, 1
sub ecx, eax
mov edx, 4
imul eax, edx, 3
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 2
mov eax, 4
shl eax, 2
mov eax, dword [eax + 0x4122cc]
shl eax, 3
and edx, eax
add ecx, edx
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x4122cc]
shl eax, 1
mov edx, 4
imul edx, edx, 3
mov edx, dword [edx + 0x4122cc]
not edx
shr edx, 2
imul eax, edx
sub ecx, eax
mov eax, 4
shl eax, 1
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 3
add ecx, edx
mov dword [ebp - 0xa0], ecx
mov eax, dword [ebp + 0x58]
cmp eax, dword [ebp - 0xa0]
jge 0x409340
mov dword [ebp - 0x158], 1
jmp 0x40934a
mov dword [ebp - 0x158], 0
mov cl, byte [ebp - 0x158]
mov byte [ebp + 0xc], cl
mov edx, dword [ebp - 0xa0]
xor edx, dword [ebp - 0xa0]
mov dword [ebp - 0xa0], edx
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x4094fb
mov ecx, dword [ebp + 0x58]
mov edx, dword [ebp + 0x58]
mov al, byte [edx + 0x412120]
mov byte [ebp + ecx - 0x230], al
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f1b4a
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0xa8], edx
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f182f
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xa8]
add eax, dword [ebp + 0x58]
xor edx, edx
div dword [ebp - 0xa4]
mov ecx, dword [ebp + 0x58]
movsx eax, byte [ebp + ecx - 0x230]
xor eax, edx
mov ecx, dword [ebp + 0x58]
mov byte [ebp + ecx - 0x230], al
mov edx, dword [ebp - 0xa4]
xor edx, dword [ebp - 0xa4]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xa8]
xor eax, dword [ebp - 0xa8]
mov dword [ebp - 0xa8], eax
jmp 0x40928d
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f1b2e
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0xac], edx
mov ecx, dword [ebp + 0x58]
xor ecx, dword [ebp + 0x58]
mov edx, dword [ebp + 0x58]
sub edx, dword [ebp - 0xac]
mov byte [ebp + edx - 0x230], cl
mov eax, dword [ebp - 0xac]
xor eax, dword [ebp - 0xac]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp + 0x58]
xor ecx, dword [ebp + 0x58]
mov dword [ebp + 0x58], ecx
lea edx, [ebp - 0x578]
push edx
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x67c]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov edx, dword [ebp + 0x44]
xor edx, dword [ebp + 0x44]
mov dword [ebp + 0x44], edx
jmp 0x4095f1
mov eax, dword [ebp + 0x44]
add eax, 1
mov dword [ebp + 0x44], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f1b19
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0xb0], edx
mov ecx, dword [ebp + 0x44]
cmp ecx, dword [ebp - 0xb0]
jge 0x40969b
mov dword [ebp - 0x15c], 1
jmp 0x4096a5
mov dword [ebp - 0x15c], 0
mov dl, byte [ebp - 0x15c]
mov byte [ebp + 0xa], dl
mov eax, dword [ebp - 0xb0]
xor eax, dword [ebp - 0xb0]
mov dword [ebp - 0xb0], eax
movzx ecx, byte [ebp + 0xa]
test ecx, ecx
je 0x4096ef
mov edx, dword [ebp + 0x44]
movsx eax, byte [ebp + edx - 0x230]
mov ecx, dword [ebp + 0x44]
movsx edx, byte [ebp + ecx - 0x230]
xor edx, eax
mov eax, dword [ebp + 0x44]
mov byte [ebp + eax - 0x230], dl
jmp 0x4095e8
mov ecx, dword [ebp + 0x44]
xor ecx, dword [ebp + 0x44]
mov dword [ebp + 0x44], ecx
lea edx, [ebp - 0x67c]
push edx
call section..text
add esp, 4
jmp 0x40ab00
mov dword [ebp - 0x160], 0
lea eax, [ebp - 0x334]
push eax
call fcn.004024b0
add esp, 4
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
jne 0x409753
lea ecx, [ebp - 0x334]
push ecx
call fcn.00402280
add esp, 4
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x160], 1
mov edx, dword [0x41300c]
mov eax, dword [0x413008]
lea ecx, [eax + edx*4]
mov dword [ebp - 0x128], ecx
lea edx, [ebp - 0x160]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x2c], 0
jmp 0x409791
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 4
jge 0x4097af
mov edx, dword [ebp - 0x1b4]
add edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1b8]
add eax, dword [ebp - 0x2c]
mov cl, byte [eax]
mov byte [edx], cl
jmp 0x409788
mov edx, dword [0x41300c]
mov eax, dword [0x413220]
lea ecx, [eax + edx*4]
mov dword [ebp - 0x128], ecx
lea edx, [ebp - 0xc4]
mov dword [ebp - 0x1c0], edx
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x30], 0
jmp 0x4097ed
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 4
jge 0x40980b
mov edx, dword [ebp - 0x1bc]
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c0]
add eax, dword [ebp - 0x30]
mov cl, byte [eax]
mov byte [edx], cl
jmp 0x4097e4
mov edx, dword [0x41300c]
add edx, 1
mov dword [0x41300c], edx
mov eax, dword [ebp + 0x54]
xor eax, dword [ebp + 0x54]
mov dword [ebp + 0x54], eax
jmp 0x40982e
mov ecx, dword [ebp + 0x54]
add ecx, 1
mov dword [ebp + 0x54], ecx
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b0d
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0xb4], eax
mov edx, dword [ebp + 0x54]
cmp edx, dword [ebp - 0xb4]
jge 0x4098d7
mov dword [ebp - 0x164], 1
jmp 0x4098e1
mov dword [ebp - 0x164], 0
mov al, byte [ebp - 0x164]
mov byte [ebp + 9], al
mov ecx, dword [ebp - 0xb4]
xor ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xb4], ecx
movzx edx, byte [ebp + 9]
test edx, edx
je 0x409a92
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x54]
mov dl, byte [ecx + str._bqvgf]
mov byte [ebp + eax - 0x1fa], dl
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x4122cc]
not ecx
xor ecx, 0x701f1b30
mov edx, 4
shl edx, 2
mov eax, dword [edx + 0x4122cc]
not eax
shr eax, 1
sub ecx, eax
mov edx, 4
imul eax, edx, 3
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 2
mov eax, 4
shl eax, 2
mov eax, dword [eax + 0x4122cc]
shl eax, 3
and edx, eax
add ecx, edx
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x4122cc]
shl eax, 1
mov edx, 4
imul edx, edx, 3
mov edx, dword [edx + 0x4122cc]
not edx
shr edx, 2
imul eax, edx
sub ecx, eax
mov eax, 4
shl eax, 1
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 3
add ecx, edx
mov dword [ebp - 0xbc], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x4122cc]
not ecx
xor ecx, 0x701f182f
mov edx, 4
shl edx, 2
mov eax, dword [edx + 0x4122cc]
not eax
shr eax, 1
sub ecx, eax
mov edx, 4
imul eax, edx, 3
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 2
mov eax, 4
shl eax, 2
mov eax, dword [eax + 0x4122cc]
shl eax, 3
and edx, eax
add ecx, edx
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x4122cc]
shl eax, 1
mov edx, 4
imul edx, edx, 3
mov edx, dword [edx + 0x4122cc]
not edx
shr edx, 2
imul eax, edx
sub ecx, eax
mov eax, 4
shl eax, 1
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 3
add ecx, edx
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebp - 0xbc]
add eax, dword [ebp + 0x54]
xor edx, edx
div dword [ebp - 0xb8]
mov eax, dword [ebp + 0x54]
movsx ecx, byte [ebp + eax - 0x1fa]
xor ecx, edx
mov edx, dword [ebp + 0x54]
mov byte [ebp + edx - 0x1fa], cl
mov eax, dword [ebp - 0xb8]
xor eax, dword [ebp - 0xb8]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xbc]
xor ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xbc], ecx
jmp 0x409825
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b2e
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp + 0x54]
xor edx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x54]
sub eax, dword [ebp - 0xc0]
mov byte [ebp + eax - 0x1fa], dl
mov ecx, dword [ebp - 0xc0]
xor ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp + 0x54]
xor edx, dword [ebp + 0x54]
mov dword [ebp + 0x54], edx
lea eax, [ebp - 0x578]
push eax
mov ecx, dword [ebp - 0xc4]
push ecx
lea edx, [ebp - 0x1fa]
push edx
lea eax, [ebp - 0x67c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov ecx, dword [ebp + 0x30]
xor ecx, dword [ebp + 0x30]
mov dword [ebp + 0x30], ecx
jmp 0x409b8e
mov edx, dword [ebp + 0x30]
add edx, 1
mov dword [ebp + 0x30], edx
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x4122cc]
not ecx
xor ecx, 0x701f1b0d
mov edx, 4
shl edx, 2
mov eax, dword [edx + 0x4122cc]
not eax
shr eax, 1
sub ecx, eax
mov edx, 4
imul eax, edx, 3
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 2
mov eax, 4
shl eax, 2
mov eax, dword [eax + 0x4122cc]
shl eax, 3
and edx, eax
add ecx, edx
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x4122cc]
shl eax, 1
mov edx, 4
imul edx, edx, 3
mov edx, dword [edx + 0x4122cc]
not edx
shr edx, 2
imul eax, edx
sub ecx, eax
mov eax, 4
shl eax, 1
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 3
add ecx, edx
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp + 0x30]
cmp eax, dword [ebp - 0xc8]
jge 0x409c38
mov dword [ebp - 0x168], 1
jmp 0x409c42
mov dword [ebp - 0x168], 0
mov cl, byte [ebp - 0x168]
mov byte [ebp + 8], cl
mov edx, dword [ebp - 0xc8]
xor edx, dword [ebp - 0xc8]
mov dword [ebp - 0xc8], edx
movzx eax, byte [ebp + 8]
test eax, eax
je 0x409c8c
mov ecx, dword [ebp + 0x30]
movsx edx, byte [ebp + ecx - 0x1fa]
mov eax, dword [ebp + 0x30]
movsx ecx, byte [ebp + eax - 0x1fa]
xor ecx, edx
mov edx, dword [ebp + 0x30]
mov byte [ebp + edx - 0x1fa], cl
jmp 0x409b85
mov eax, dword [ebp + 0x30]
xor eax, dword [ebp + 0x30]
mov dword [ebp + 0x30], eax
lea ecx, [ebp - 0x67c]
push ecx
call section..text
add esp, 4
jmp 0x40ab00
or dword [ebp + 0x70], 4
mov edx, dword [ebp + 0x50]
xor edx, dword [ebp + 0x50]
mov dword [ebp + 0x50], edx
jmp 0x409cc1
mov eax, dword [ebp + 0x50]
add eax, 1
mov dword [ebp + 0x50], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f1b2d
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0xcc], edx
mov ecx, dword [ebp + 0x50]
cmp ecx, dword [ebp - 0xcc]
jge 0x409d6b
mov dword [ebp - 0x16c], 1
jmp 0x409d75
mov dword [ebp - 0x16c], 0
mov dl, byte [ebp - 0x16c]
mov byte [ebp + 7], dl
mov eax, dword [ebp - 0xcc]
xor eax, dword [ebp - 0xcc]
mov dword [ebp - 0xcc], eax
movzx ecx, byte [ebp + 7]
test ecx, ecx
je 0x409f1b
mov edx, dword [ebp + 0x50]
mov eax, dword [ebp + 0x50]
mov cl, byte [eax + 0x41217c]
mov byte [ebp + edx + 0x4a], cl
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b0b
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0xd4], eax
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f182f
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd4]
add eax, dword [ebp + 0x50]
xor edx, edx
div dword [ebp - 0xd0]
mov eax, dword [ebp + 0x50]
movsx ecx, byte [ebp + eax + 0x4a]
xor ecx, edx
mov edx, dword [ebp + 0x50]
mov byte [ebp + edx + 0x4a], cl
mov eax, dword [ebp - 0xd0]
xor eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd4]
xor ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xd4], ecx
jmp 0x409cb8
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b2e
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp + 0x50]
xor edx, dword [ebp + 0x50]
mov eax, dword [ebp + 0x50]
sub eax, dword [ebp - 0xd8]
mov byte [ebp + eax + 0x4a], dl
mov ecx, dword [ebp - 0xd8]
xor ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp + 0x50]
xor edx, dword [ebp + 0x50]
mov dword [ebp + 0x50], edx
lea eax, [ebp + 0x4a]
mov dword [ebp - 0xe0], eax
lea ecx, [ebp - 0x448]
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0xdc]
mov al, byte [edx]
mov byte [ebp + 0x20], al
mov ecx, dword [ebp - 0xe0]
cmp al, byte [ecx]
jne 0x40a042
cmp byte [ebp + 0x20], 0
je 0x40a036
mov edx, dword [ebp - 0xdc]
mov al, byte [edx + 1]
mov byte [ebp + 0x1f], al
mov ecx, dword [ebp - 0xe0]
cmp al, byte [ecx + 1]
jne 0x40a042
add dword [ebp - 0xdc], 2
add dword [ebp - 0xe0], 2
cmp byte [ebp + 0x1f], 0
jne 0x409ff0
mov dword [ebp - 0x170], 0
jmp 0x40a04d
sbb edx, edx
or edx, 1
mov dword [ebp - 0x170], edx
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1c4], eax
cmp dword [ebp - 0x1c4], 0
je 0x40a42e
or dword [ebp + 0x70], 8
mov ecx, dword [ebp + 0x4c]
xor ecx, dword [ebp + 0x4c]
mov dword [ebp + 0x4c], ecx
jmp 0x40a07e
mov edx, dword [ebp + 0x4c]
add edx, 1
mov dword [ebp + 0x4c], edx
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x4122cc]
not ecx
xor ecx, 0x701f1b2c
mov edx, 4
shl edx, 2
mov eax, dword [edx + 0x4122cc]
not eax
shr eax, 1
sub ecx, eax
mov edx, 4
imul eax, edx, 3
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 2
mov eax, 4
shl eax, 2
mov eax, dword [eax + 0x4122cc]
shl eax, 3
and edx, eax
add ecx, edx
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x4122cc]
shl eax, 1
mov edx, 4
imul edx, edx, 3
mov edx, dword [edx + 0x4122cc]
not edx
shr edx, 2
imul eax, edx
sub ecx, eax
mov eax, 4
shl eax, 1
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 3
add ecx, edx
mov dword [ebp - 0xe4], ecx
mov eax, dword [ebp + 0x4c]
cmp eax, dword [ebp - 0xe4]
jge 0x40a128
mov dword [ebp - 0x174], 1
jmp 0x40a132
mov dword [ebp - 0x174], 0
mov cl, byte [ebp - 0x174]
mov byte [ebp + 0x1e], cl
mov edx, dword [ebp - 0xe4]
xor edx, dword [ebp - 0xe4]
mov dword [ebp - 0xe4], edx
movzx eax, byte [ebp + 0x1e]
test eax, eax
je 0x40a2da
mov ecx, dword [ebp + 0x4c]
mov edx, dword [ebp + 0x4c]
mov al, byte [edx + 0x412180]
mov byte [ebp + ecx + 0x21], al
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f1b4a
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0xec], edx
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f182f
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0xec]
add eax, dword [ebp + 0x4c]
xor edx, edx
div dword [ebp - 0xe8]
mov ecx, dword [ebp + 0x4c]
movsx eax, byte [ebp + ecx + 0x21]
xor eax, edx
mov ecx, dword [ebp + 0x4c]
mov byte [ebp + ecx + 0x21], al
mov edx, dword [ebp - 0xe8]
xor edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0xec]
xor eax, dword [ebp - 0xec]
mov dword [ebp - 0xec], eax
jmp 0x40a075
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f1b2e
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0xf0], edx
mov ecx, dword [ebp + 0x4c]
xor ecx, dword [ebp + 0x4c]
mov edx, dword [ebp + 0x4c]
sub edx, dword [ebp - 0xf0]
mov byte [ebp + edx + 0x21], cl
mov eax, dword [ebp - 0xf0]
xor eax, dword [ebp - 0xf0]
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp + 0x4c]
xor ecx, dword [ebp + 0x4c]
mov dword [ebp + 0x4c], ecx
lea edx, [ebp + 0x21]
mov dword [ebp - 0xf8], edx
lea eax, [ebp - 0x448]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf4]
mov dl, byte [ecx]
mov byte [ebp + 0x1d], dl
mov eax, dword [ebp - 0xf8]
cmp dl, byte [eax]
jne 0x40a402
cmp byte [ebp + 0x1d], 0
je 0x40a3f6
mov ecx, dword [ebp - 0xf4]
mov dl, byte [ecx + 1]
mov byte [ebp + 0x1c], dl
mov eax, dword [ebp - 0xf8]
cmp dl, byte [eax + 1]
jne 0x40a402
add dword [ebp - 0xf4], 2
add dword [ebp - 0xf8], 2
cmp byte [ebp + 0x1c], 0
jne 0x40a3b0
mov dword [ebp - 0x178], 0
jmp 0x40a40d
sbb ecx, ecx
or ecx, 1
mov dword [ebp - 0x178], ecx
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x1c8], edx
cmp dword [ebp - 0x1c8], 0
je 0x40a42e
mov dword [ebp - 0x17c], 1
jmp 0x40a438
mov dword [ebp - 0x17c], 0
mov al, byte [ebp - 0x17c]
mov byte [ebp + 0x10], al
mov ecx, dword [ebp + 0x70]
and ecx, 8
je 0x40a563
and dword [ebp + 0x70], 0xfffffff7
mov edx, dword [ebp + 0x2c]
xor edx, dword [ebp + 0x2c]
mov dword [ebp + 0x2c], edx
jmp 0x40a465
mov eax, dword [ebp + 0x2c]
add eax, 1
mov dword [ebp + 0x2c], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f1b2c
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0xfc], edx
mov ecx, dword [ebp + 0x2c]
cmp ecx, dword [ebp - 0xfc]
jge 0x40a50f
mov dword [ebp - 0x180], 1
jmp 0x40a519
mov dword [ebp - 0x180], 0
mov dl, byte [ebp - 0x180]
mov byte [ebp + 0xb], dl
mov eax, dword [ebp - 0xfc]
xor eax, dword [ebp - 0xfc]
mov dword [ebp - 0xfc], eax
movzx ecx, byte [ebp + 0xb]
test ecx, ecx
je 0x40a55a
mov edx, dword [ebp + 0x2c]
movsx eax, byte [ebp + edx + 0x21]
mov ecx, dword [ebp + 0x2c]
movsx edx, byte [ebp + ecx + 0x21]
xor edx, eax
mov eax, dword [ebp + 0x2c]
mov byte [ebp + eax + 0x21], dl
jmp 0x40a45c
mov ecx, dword [ebp + 0x2c]
xor ecx, dword [ebp + 0x2c]
mov dword [ebp + 0x2c], ecx
mov edx, dword [ebp + 0x70]
and edx, 4
je 0x40a684
and dword [ebp + 0x70], 0xfffffffb
mov eax, dword [ebp + 0x28]
xor eax, dword [ebp + 0x28]
mov dword [ebp + 0x28], eax
jmp 0x40a587
mov ecx, dword [ebp + 0x28]
add ecx, 1
mov dword [ebp + 0x28], ecx
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b2d
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0x100], eax
mov edx, dword [ebp + 0x28]
cmp edx, dword [ebp - 0x100]
jge 0x40a630
mov dword [ebp - 0x184], 1
jmp 0x40a63a
mov dword [ebp - 0x184], 0
mov al, byte [ebp - 0x184]
mov byte [ebp + 0x1a], al
mov ecx, dword [ebp - 0x100]
xor ecx, dword [ebp - 0x100]
mov dword [ebp - 0x100], ecx
movzx edx, byte [ebp + 0x1a]
test edx, edx
je 0x40a67b
mov eax, dword [ebp + 0x28]
movsx ecx, byte [ebp + eax + 0x4a]
mov edx, dword [ebp + 0x28]
movsx eax, byte [ebp + edx + 0x4a]
xor eax, ecx
mov ecx, dword [ebp + 0x28]
mov byte [ebp + ecx + 0x4a], al
jmp 0x40a57e
mov edx, dword [ebp + 0x28]
xor edx, dword [ebp + 0x28]
mov dword [ebp + 0x28], edx
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x40ab00
mov ecx, dword [ebp + 0x6c]
xor ecx, dword [ebp + 0x6c]
mov dword [ebp + 0x6c], ecx
jmp 0x40a6a4
mov edx, dword [ebp + 0x6c]
add edx, 1
mov dword [ebp + 0x6c], edx
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x4122cc]
not ecx
xor ecx, 0x701f1b29
mov edx, 4
shl edx, 2
mov eax, dword [edx + 0x4122cc]
not eax
shr eax, 1
sub ecx, eax
mov edx, 4
imul eax, edx, 3
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 2
mov eax, 4
shl eax, 2
mov eax, dword [eax + 0x4122cc]
shl eax, 3
and edx, eax
add ecx, edx
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x4122cc]
shl eax, 1
mov edx, 4
imul edx, edx, 3
mov edx, dword [edx + 0x4122cc]
not edx
shr edx, 2
imul eax, edx
sub ecx, eax
mov eax, 4
shl eax, 1
mov edx, dword [eax + 0x4122cc]
not edx
shr edx, 3
add ecx, edx
mov dword [ebp - 0x104], ecx
mov eax, dword [ebp + 0x6c]
cmp eax, dword [ebp - 0x104]
jge 0x40a74e
mov dword [ebp - 0x188], 1
jmp 0x40a758
mov dword [ebp - 0x188], 0
mov cl, byte [ebp - 0x188]
mov byte [ebp + 0x19], cl
mov edx, dword [ebp - 0x104]
xor edx, dword [ebp - 0x104]
mov dword [ebp - 0x104], edx
movzx eax, byte [ebp + 0x19]
test eax, eax
je 0x40a900
mov ecx, dword [ebp + 0x6c]
mov edx, dword [ebp + 0x6c]
mov al, byte [edx + 0x412184]
mov byte [ebp + ecx - 0x36], al
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f18fa
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0x10c], edx
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f182f
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x10c]
add eax, dword [ebp + 0x6c]
xor edx, edx
div dword [ebp - 0x108]
mov ecx, dword [ebp + 0x6c]
movsx eax, byte [ebp + ecx - 0x36]
xor eax, edx
mov ecx, dword [ebp + 0x6c]
mov byte [ebp + ecx - 0x36], al
mov edx, dword [ebp - 0x108]
xor edx, dword [ebp - 0x108]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x10c]
xor eax, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], eax
jmp 0x40a69b
mov ecx, 4
shl ecx, 0
mov edx, dword [ecx + 0x4122cc]
not edx
xor edx, 0x701f1b2e
mov eax, 4
shl eax, 2
mov ecx, dword [eax + 0x4122cc]
not ecx
shr ecx, 1
sub edx, ecx
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 2
mov ecx, 4
shl ecx, 2
mov ecx, dword [ecx + 0x4122cc]
shl ecx, 3
and eax, ecx
add edx, eax
mov eax, 4
shl eax, 1
mov ecx, dword [eax + 0x4122cc]
shl ecx, 1
mov eax, 4
imul eax, eax, 3
mov eax, dword [eax + 0x4122cc]
not eax
shr eax, 2
imul ecx, eax
sub edx, ecx
mov ecx, 4
shl ecx, 1
mov eax, dword [ecx + 0x4122cc]
not eax
shr eax, 3
add edx, eax
mov dword [ebp - 0x110], edx
mov ecx, dword [ebp + 0x6c]
xor ecx, dword [ebp + 0x6c]
mov edx, dword [ebp + 0x6c]
sub edx, dword [ebp - 0x110]
mov byte [ebp + edx - 0x36], cl
mov eax, dword [ebp - 0x110]
xor eax, dword [ebp - 0x110]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 0x6c]
xor ecx, dword [ebp + 0x6c]
mov dword [ebp + 0x6c], ecx
lea edx, [ebp - 0x448]
push edx
mov eax, dword [ebp + 0x7c]
push eax
lea ecx, [ebp - 0x36]
push ecx
lea edx, [ebp - 0x87c]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov eax, dword [ebp + 0x24]
xor eax, dword [ebp + 0x24]
mov dword [ebp + 0x24], eax
jmp 0x40a9f4
mov ecx, dword [ebp + 0x24]
add ecx, 1
mov dword [ebp + 0x24], ecx
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x4122cc]
not eax
xor eax, 0x701f1b29
mov ecx, 4
shl ecx, 2
mov edx, dword [ecx + 0x4122cc]
not edx
shr edx, 1
sub eax, edx
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 2
mov edx, 4
shl edx, 2
mov edx, dword [edx + 0x4122cc]
shl edx, 3
and ecx, edx
add eax, ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ecx + 0x4122cc]
shl edx, 1
mov ecx, 4
imul ecx, ecx, 3
mov ecx, dword [ecx + 0x4122cc]
not ecx
shr ecx, 2
imul edx, ecx
sub eax, edx
mov edx, 4
shl edx, 1
mov ecx, dword [edx + 0x4122cc]
not ecx
shr ecx, 3
add eax, ecx
mov dword [ebp - 0x114], eax
mov edx, dword [ebp + 0x24]
cmp edx, dword [ebp - 0x114]
jge 0x40aa9d
mov dword [ebp - 0x18c], 1
jmp 0x40aaa7
mov dword [ebp - 0x18c], 0
mov al, byte [ebp - 0x18c]
mov byte [ebp + 0x18], al
mov ecx, dword [ebp - 0x114]
xor ecx, dword [ebp - 0x114]
mov dword [ebp - 0x114], ecx
movzx edx, byte [ebp + 0x18]
test edx, edx
je 0x40aae8
mov eax, dword [ebp + 0x24]
movsx ecx, byte [ebp + eax - 0x36]
mov edx, dword [ebp + 0x24]
movsx eax, byte [ebp + edx - 0x36]
xor eax, ecx
mov ecx, dword [ebp + 0x24]
mov byte [ebp + ecx - 0x36], al
jmp 0x40a9eb
mov edx, dword [ebp + 0x24]
xor edx, dword [ebp + 0x24]
mov dword [ebp + 0x24], edx
lea eax, [ebp - 0x87c]
push eax
call fcn.00404100
add esp, 4
lea ecx, [ebp - 0x474]
push ecx
mov edx, dword [ebp - 0x12c]
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x40802f
add ebp, 0x74
mov esp, ebp
pop ebp
ret