Function at 0x401280
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41d230
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x98
push esi
push edi
mov eax, dword [0x426008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0xfde9
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
mov ax, word [0x423c9c]
movq xmm0, qword [str.uSTPV]
movq qword [ebp - 0xa4], xmm0
mov word [ebp - 0x9c], ax
test ah, ah
je 0x401326
xor ecx, ecx
mov dword [ebp - 0x14], ecx
nop
mov eax, 0x24924925
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x14]
add al, 0x35
xor byte [ebp + ecx - 0xa4], al
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0xa
jl 0x4012f0
lea eax, [ebp - 0xa4]
push eax
call fcn.004092bd
mov edi, dword [0x427354]
mov esi, 5
add esp, 4
cmp byte [0x426e33], 0
lea eax, [esi + 0x1a]
je 0x4014da
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
cmp edi, 2
jl 0x4014a1
movaps xmm0, xmmword [str.5555555555555555]
movaps xmm4, xmmword [0x424330]
movaps xmm3, xmmword [0x424370]
movaps xmm6, xmmword [str.8888]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
movd xmm5, esi
movd xmm7, eax
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + 0x4268b0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ecx + 0x4268b0], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + 0x4268b4]
xorps xmm1, xmm0
movd dword [ecx + 0x4268b4], xmm1
add ecx, 8
cmp ecx, 0x580
jl 0x401390
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x584
jge 0x4014da
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x3c]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x3c]
add al, 0x35
xor byte [ecx + 0x4268b0], al
inc ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x584
jl 0x4014a1
push 0x4268b0
call fcn.004010c0
add esp, 4
cmp byte [0x426f3e], 0
je 0x40167c
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
cmp edi, 2
jl 0x401643
movaps xmm0, xmmword [str.5555555555555555]
mov eax, 0x1f
movaps xmm4, xmmword [0x424330]
movaps xmm3, xmmword [0x424370]
movaps xmm6, xmmword [str.8888]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
movd xmm5, esi
movd xmm7, eax
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + 0x426e38]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ecx + 0x426e38], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + 0x426e3c]
xorps xmm1, xmm0
movd dword [ecx + 0x426e3c], xmm1
add ecx, 8
cmp ecx, 0x100
jl 0x401532
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x107
jge 0x40167c
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x3c]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x3c]
add al, 0x35
xor byte [ecx + 0x426e38], al
inc ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x107
jl 0x401643
push 0x426e38
call fcn.004010c0
add esp, 4
push 0x427a64
push 0x423b54
call fcn.00401100
mov eax, dword [0x427a64]
add esp, 8
dec eax
cmp eax, 0xa
ja case.default.0x4016aa
jmp dword [eax*4 + 0x403b24]
mov dword [0x427a3c], 0x479be4
mov dword [0x427a6c], 0x479be8
mov dword [0x427a60], 0x479c14
mov dword [0x427a30], 0x479c1c
mov dword [0x427a34], 0x479c24
mov dword [0x427a38], 0x479c2c
jmp 0x401831
mov dword [0x427a3c], 0x47abe4
mov dword [0x427a6c], 0x47abe8
mov dword [0x427a60], 0x47ac14
mov dword [0x427a30], 0x47ac1c
mov dword [0x427a34], 0x47ac24
mov dword [0x427a38], 0x47ac2c
jmp 0x401831
mov dword [0x427a3c], 0x47bbe4
mov eax, str.ProjectModul4
mov dword [0x427a6c], 0x47abe8
mov dword [0x427a60], 0x47bc24
mov dword [0x427a30], 0x47bc2c
mov dword [0x427a34], 0x47bc34
mov dword [0x427a38], 0x47bc3c
jmp 0x401836
mov dword [0x427a3c], 0x476bdc
mov dword [0x427a6c], 0x476be0
mov dword [0x427a60], 0x476c0c
mov dword [0x427a30], 0x476c14
mov dword [0x427a34], 0x476c1c
mov dword [0x427a38], 0x476c24
jmp 0x401831
mov dword [0x427a3c], 0x476be4
mov dword [0x427a6c], 0x476be8
mov dword [0x427a60], 0x476c14
mov dword [0x427a30], 0x476c1c
mov dword [0x427a34], 0x476c24
mov dword [0x427a38], 0x476c2c
jmp 0x401831
mov dword [0x427a3c], 0x477be4
mov dword [0x427a6c], 0x477be8
mov dword [0x427a60], 0x477c14
mov dword [0x427a30], 0x477c1c
mov dword [0x427a34], 0x477c24
mov dword [0x427a38], 0x477c2c
mov eax, str.Project1
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
push eax
push 0
mov dword [0x427a68], eax
call esi
mov dword [ebp - 0x48], eax
mov dword [0x427a58], eax
test eax, eax
jne 0x401a9d
nop word [eax + eax]
movups xmm0, xmmword [0x423bf4]
xor ecx, ecx
mov dword [ebp - 0x14], ecx
movups xmmword [ebp - 0x98], xmm0
movups xmm0, xmmword [0x423c04]
movups xmmword [ebp - 0x88], xmm0
movq xmm0, qword [0x423c14]
movq qword [ebp - 0x78], xmm0
cmp edi, 2
jl 0x4019e0
movaps xmm0, xmmword [str.5555555555555555]
mov eax, 5
movaps xmm4, xmmword [0x424330]
movaps xmm3, xmmword [0x424370]
movaps xmm6, xmmword [str.8888]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
movd xmm7, eax
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x98]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x98], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x94]
xorps xmm1, xmm0
movd dword [ebp + ecx - 0x94], xmm1
add ecx, 8
cmp ecx, 0x28
jl 0x4018d0
jmp 0x401a17
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x14]
add al, 0x35
xor byte [ebp + ecx - 0x98], al
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x28
jl 0x4019e0
lea eax, [ebp - 0x98]
push eax
call fcn.004010c0
mov eax, dword [str.EWBK:]
add esp, 4
mov dword [ebp - 0x44], eax
mov ax, word [0x423c7c]
mov word [ebp - 0x40], ax
test ah, ah
je 0x401a74
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov eax, 0x24924925
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x14]
add al, 0x35
xor byte [ebp + ecx - 0x44], al
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 6
jl 0x401a41
lea eax, [ebp - 0x44]
push eax
call fcn.004092bd
add esp, 4
push dword [0x427a68]
push 0
call esi
mov ecx, eax
mov dword [ebp - 0x48], ecx
mov dword [0x427a58], ecx
test ecx, ecx
je 0x401860
mov dword [ebp - 4], 0
xorps xmm0, xmm0
mov eax, dword fs:[0x30]
movlpd qword [ebp - 0x58], xmm0
mov eax, dword [eax + 0xc]
add eax, 0xc
mov dword [ebp - 0x14], eax
mov edi, dword [eax]
mov dword [ebp - 0x1c], edi
cmp edi, eax
je 0x401e3c
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x64], 0xd0dc4f96
nop
cmp dword [edi + 0x30], 0
je 0x401e2f
mov ecx, dword [edi + 0x18]
mov eax, ecx
cdq
mov dword [ebp - 0x6c], edx
mov esi, eax
mov dword [ebp - 0x38], esi
test ecx, ecx
je 0x401e2c
mov eax, dword [ecx + 0x3c]
mov edx, dword [eax + ecx + 0x78]
mov edi, dword [eax + ecx + 0x7c]
mov dword [ebp - 0x2c], edx
add edx, ecx
mov dword [ebp - 0x3c], edx
mov edx, 0x5a4d
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x1c]
cmp word [esi], dx
jne 0x4038f9
mov edx, 0x10b
cmp word [eax + ecx + 0x18], dx
jne 0x401b3d
cmp dword [ebp - 0x24], 0
jbe 0x401e2c
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov dword [ebp - 0x28], edx
cmp dword [eax + 0x18], edx
jbe 0x401e14
mov eax, dword [eax + 0x20]
add eax, ecx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x18], eax
nop dword [eax]
mov eax, dword [eax]
mov edi, 0xd0dc4f96
add eax, esi
xor esi, esi
mov dword [ebp - 0x20], eax
mov ah, byte [eax]
test ah, ah
je 0x401bc6
mov dl, ah
mov al, ah
add al, 0x20
sub dl, 0x41
cmp dl, 0x19
movzx ecx, al
movzx eax, ah
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
mov eax, esi
movsx ecx, cl
imul edx, ecx
xor edi, ecx
add edx, edi
test esi, esi
mov edi, 0xd0dc4f96
cmove eax, edi
inc esi
xor eax, edi
imul edx, eax
mov eax, dword [ebp - 0x20]
mov ah, byte [esi + eax]
lea edi, [ecx + edx]
test ah, ah
jne 0x401b74
mov edx, dword [ebp - 0x28]
cmp edi, 0x766e4505
je 0x401be4
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
inc edx
add eax, 4
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], eax
cmp edx, dword [ecx + 0x18]
jae 0x401e19
mov esi, dword [ebp - 0x38]
jmp 0x401b60
mov eax, dword [ebp - 0x3c]
xor edi, edi
mov esi, dword [ebp - 0x38]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, esi
mov dword [ebp - 0x30], ecx
adc edi, dword [ebp - 0x6c]
xor eax, eax
add dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x2c]
adc eax, dword [ebp - 0x6c]
xor edx, edx
add dword [ebp - 0x24], esi
mov dword [ebp - 0x34], edi
adc edx, eax
cmp edi, eax
jb 0x401e1c
ja 0x401c2c
cmp ecx, esi
jb 0x401e1c
cmp edi, edx
jb 0x401c3f
ja 0x401e1c
cmp ecx, dword [ebp - 0x24]
jae 0x401e1c
mov dh, byte [ecx]
mov edi, ecx
test dh, dh
je 0x401c5a
inc ecx
cmp dh, 0x2e
mov eax, ecx
cmovne eax, edi
mov edi, eax
mov dh, byte [ecx]
test dh, dh
jne 0x401c47
mov dh, byte [eax]
mov eax, 0xd0dc4f96
xor esi, esi
mov dword [ebp - 0x18], eax
test dh, dh
je 0x401caf
mov al, dh
mov dl, dh
add al, 0x20
sub dl, 0x41
movzx ecx, al
cmp dl, 0x19
movzx eax, dh
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
mov eax, dword [ebp - 0x18]
movsx ecx, cl
imul edx, ecx
xor eax, ecx
add edx, eax
test esi, esi
mov eax, esi
cmove eax, dword [ebp - 0x64]
inc esi
xor eax, 0xd0dc4f96
imul edx, eax
add edx, ecx
mov eax, edx
mov dh, byte [esi + edi]
mov dword [ebp - 0x18], eax
test dh, dh
jne 0x401c68
push 0
push eax
call fcn.00403e10
mov ecx, eax
push 0x427a5c
push dword [ebp - 0x48]
mov dword [ebp - 0x54], edx
call ecx
mov eax, dword [0x427a5c]
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], 1
xorps xmm0, xmm0
mov eax, dword fs:[0x30]
movlpd qword [ebp - 0x58], xmm0
mov eax, dword [eax + 0xc]
add eax, 0xc
mov dword [ebp - 0x3c], eax
mov edi, dword [eax]
mov dword [ebp - 0x1c], edi
cmp edi, eax
je 0x401e3c
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x3c]
nop dword [eax + eax]
cmp dword [edi + 0x30], 0
je 0x401f62
mov ecx, dword [edi + 0x18]
mov eax, ecx
cdq
mov dword [ebp - 0x20], edx
mov esi, eax
mov dword [ebp - 0x18], esi
test ecx, ecx
je 0x401f5f
mov eax, dword [ecx + 0x3c]
mov edx, dword [eax + ecx + 0x78]
mov edi, dword [eax + ecx + 0x7c]
mov dword [ebp - 0x2c], edx
add edx, ecx
mov dword [ebp - 0x14], edx
mov edx, 0x5a4d
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x1c]
cmp word [esi], dx
jne 0x4038f9
mov edx, 0x10b
cmp word [eax + ecx + 0x18], dx
jne 0x401d6d
cmp dword [ebp - 0x24], 0
jbe 0x401f5f
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x30], edx
cmp dword [eax + 0x18], edx
jbe 0x401f4b
mov eax, dword [eax + 0x20]
add eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x48], eax
nop dword [eax]
mov eax, dword [eax]
mov edi, 0xd0dc4f96
add eax, esi
xor esi, esi
mov dword [ebp - 0x6c], eax
mov ah, byte [eax]
test ah, ah
je 0x401df6
mov dl, ah
mov al, ah
add al, 0x20
sub dl, 0x41
cmp dl, 0x19
movzx ecx, al
movzx eax, ah
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
mov eax, esi
movsx ecx, cl
imul edx, ecx
xor edi, ecx
add edx, edi
test esi, esi
mov edi, 0xd0dc4f96
cmove eax, edi
inc esi
xor eax, edi
imul edx, eax
mov eax, dword [ebp - 0x6c]
mov ah, byte [esi + eax]
lea edi, [ecx + edx]
test ah, ah
jne 0x401da4
mov edx, dword [ebp - 0x30]
cmp edi, 0x3405123f
je 0x401e46
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
inc edx
add eax, 4
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x48], eax
cmp edx, dword [ecx + 0x18]
jae 0x401f50
mov esi, dword [ebp - 0x18]
jmp 0x401d90
mov ecx, dword [ebp - 0x30]
jmp 0x401e1f
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
mov eax, ecx
or eax, edx
jne 0x401cb9
mov eax, dword [ebp - 0x14]
mov edi, dword [edi]
mov dword [ebp - 0x1c], edi
cmp edi, eax
jne 0x401ae0
push str.Cannot_find_desired_import.
jmp 0x4038fe
mov eax, dword [ebp - 0x14]
xor edi, edi
mov esi, dword [ebp - 0x18]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, esi
mov dword [ebp - 0x28], ecx
adc edi, dword [ebp - 0x20]
xor eax, eax
add dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x2c]
adc eax, dword [ebp - 0x20]
xor edx, edx
add dword [ebp - 0x24], esi
mov dword [ebp - 0x38], edi
adc edx, eax
cmp edi, eax
jb 0x401f53
ja 0x401e8e
cmp ecx, esi
jb 0x401f53
cmp edi, edx
jb 0x401ea1
ja 0x401f53
cmp ecx, dword [ebp - 0x24]
jae 0x401f53
mov dh, byte [ecx]
mov edi, ecx
test dh, dh
je 0x401ec3
nop dword [eax]
inc ecx
cmp dh, 0x2e
mov eax, ecx
cmovne eax, edi
mov edi, eax
mov dh, byte [ecx]
test dh, dh
jne 0x401eb0
mov dh, byte [eax]
mov eax, 0xd0dc4f96
xor esi, esi
mov dword [ebp - 0x48], eax
test dh, dh
je 0x401f18
mov al, dh
mov dl, dh
add al, 0x20
sub dl, 0x41
movzx ecx, al
cmp dl, 0x19
movzx eax, dh
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
mov eax, dword [ebp - 0x48]
movsx ecx, cl
imul edx, ecx
xor eax, ecx
add edx, eax
test esi, esi
mov eax, esi
cmove eax, dword [ebp - 0x64]
inc esi
xor eax, 0xd0dc4f96
imul edx, eax
add edx, ecx
mov eax, edx
mov dh, byte [esi + edi]
mov dword [ebp - 0x48], eax
test dh, dh
jne 0x401ed1
push 0
push eax
call fcn.00403e10
mov ecx, eax
push dword [ebp - 0x34]
mov dword [ebp - 0x54], edx
push 0
push 0x1fffff
call ecx
mov dword [ebp - 4], 0xffffffff
cmp dword [0x427a5c], 0
mov dword [ebp - 0x3c], eax
jne 0x401f79
push 0xffffffffffffffff
call fcn.0040726b
mov ecx, dword [ebp - 0x28]
jmp 0x401f56
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x38]
mov eax, ecx
or eax, edx
jne 0x401f22
mov eax, dword [ebp - 0x3c]
mov edi, dword [edi]
mov dword [ebp - 0x1c], edi
cmp edi, eax
jne 0x401d10
push str.Cannot_find_desired_import.
jmp 0x4038fe
push str.mode_con_cols35_lines8
call fcn.004092bd
mov eax, dword [0x427a3c]
add esp, 4
mov dword [ebp - 0x54], eax
mov dword [ebp - 4], 2
xorps xmm0, xmm0
mov eax, dword fs:[0x30]
movlpd qword [ebp - 0x70], xmm0
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x6c]
add ecx, 0xc
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x34], ecx
mov edi, dword [ecx]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], edi
cmp edi, ecx
je 0x401e3c
cmp dword [edi + 0x30], 0
je 0x4020cf
mov ecx, dword [edi + 0x18]
mov eax, ecx
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x6c], edx
test ecx, ecx
je 0x4020cc
mov esi, dword [ecx + 0x3c]
mov edx, dword [esi + ecx + 0x78]
mov edi, dword [esi + ecx + 0x7c]
mov dword [ebp - 0x2c], edx
add edx, ecx
mov dword [ebp - 0x14], edx
mov edx, 0x5a4d
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x1c]
cmp word [eax], dx
jne 0x4038f9
mov eax, 0x10b
cmp word [esi + ecx + 0x18], ax
jne 0x402020
cmp dword [ebp - 0x24], 0
jbe 0x4020cc
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x30], edx
cmp dword [eax + 0x18], edx
jbe 0x402306
mov eax, dword [eax + 0x20]
add eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
nop dword [eax]
mov edi, dword [eax]
xor esi, esi
add edi, dword [ebp - 0x38]
mov dword [ebp - 0x48], 0xd0dc4f96
mov ah, byte [edi]
test ah, ah
je 0x4020a7
mov dl, ah
mov al, ah
add al, 0x20
sub dl, 0x41
movzx ecx, al
cmp dl, 0x19
movzx eax, ah
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
movsx ecx, cl
imul edx, ecx
mov eax, ecx
xor eax, dword [ebp - 0x48]
add edx, eax
test esi, esi
mov eax, esi
cmove eax, dword [ebp - 0x64]
inc esi
xor eax, 0xd0dc4f96
imul edx, eax
mov ah, byte [esi + edi]
add ecx, edx
mov dword [ebp - 0x48], ecx
test ah, ah
jne 0x402054
mov edx, dword [ebp - 0x30]
cmp ecx, 0xf2f8a73d
je 0x4020d6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
inc edx
add eax, 4
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x18], eax
cmp edx, dword [ecx + 0x18]
jb 0x402040
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, ecx
or eax, edx
jne 0x4021a2
mov ecx, dword [ebp - 0x34]
mov edi, dword [edi]
jmp 0x401fba
mov eax, dword [ebp - 0x14]
xor edi, edi
mov esi, dword [ebp - 0x38]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, esi
mov dword [ebp - 0x28], ecx
adc edi, dword [ebp - 0x6c]
xor eax, eax
add dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x2c]
adc eax, dword [ebp - 0x6c]
xor edx, edx
add dword [ebp - 0x24], esi
mov dword [ebp - 0x20], edi
adc edx, eax
cmp edi, eax
jb 0x4020bc
ja 0x402116
cmp ecx, esi
jb 0x4020bc
cmp edi, edx
jb 0x402121
ja 0x4020bc
cmp ecx, dword [ebp - 0x24]
jae 0x4020bc
mov dh, byte [ecx]
mov edi, ecx
test dh, dh
je 0x402143
nop dword [eax]
inc ecx
cmp dh, 0x2e
mov eax, ecx
cmovne eax, edi
mov edi, eax
mov dh, byte [ecx]
test dh, dh
jne 0x402130
mov dh, byte [eax]
mov eax, 0xd0dc4f96
xor esi, esi
mov dword [ebp - 0x20], eax
test dh, dh
je 0x402198
mov al, dh
mov dl, dh
add al, 0x20
sub dl, 0x41
movzx ecx, al
cmp dl, 0x19
movzx eax, dh
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
movsx ecx, cl
imul edx, ecx
mov eax, ecx
xor eax, dword [ebp - 0x20]
add edx, eax
test esi, esi
mov eax, esi
cmove eax, dword [ebp - 0x64]
inc esi
xor eax, 0xd0dc4f96
imul edx, eax
add edx, ecx
mov eax, edx
mov dh, byte [esi + edi]
mov dword [ebp - 0x20], eax
test dh, dh
jne 0x402151
push 0
push eax
call fcn.00403e10
mov ecx, eax
push 0
push 4
push 0x427a44
push dword [ebp - 0x54]
mov dword [ebp - 0x6c], edx
push dword [ebp - 0x3c]
call ecx
mov eax, dword [0x427a6c]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 4], 3
xorps xmm0, xmm0
mov eax, dword fs:[0x30]
movlpd qword [ebp - 0x58], xmm0
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x54]
add ecx, 0xc
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x28], ecx
mov edi, dword [ecx]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], edi
cmp edi, ecx
je 0x401e3c
cmp dword [edi + 0x30], 0
je 0x4022ff
mov ecx, dword [edi + 0x18]
mov eax, ecx
cdq
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x54], edx
test ecx, ecx
je 0x4022fc
mov esi, dword [ecx + 0x3c]
mov edx, dword [esi + ecx + 0x78]
mov edi, dword [esi + ecx + 0x7c]
mov dword [ebp - 0x30], edx
add edx, ecx
mov dword [ebp - 0x14], edx
mov edx, 0x5a4d
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x1c]
cmp word [eax], dx
jne 0x4038f9
mov eax, 0x10b
cmp word [esi + ecx + 0x18], ax
jne 0x402250
cmp dword [ebp - 0x24], 0
jbe 0x4022fc
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x34], edx
cmp dword [eax + 0x18], edx
jbe 0x402524
mov eax, dword [eax + 0x20]
add eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x48], eax
nop dword [eax]
mov edi, dword [eax]
xor esi, esi
add edi, dword [ebp - 0x18]
mov dword [ebp - 0x20], 0xd0dc4f96
mov ah, byte [edi]
test ah, ah
je 0x4022d7
mov dl, ah
mov al, ah
add al, 0x20
sub dl, 0x41
movzx ecx, al
cmp dl, 0x19
movzx eax, ah
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
movsx ecx, cl
imul edx, ecx
mov eax, ecx
xor eax, dword [ebp - 0x20]
add edx, eax
test esi, esi
mov eax, esi
cmove eax, dword [ebp - 0x64]
inc esi
xor eax, 0xd0dc4f96
imul edx, eax
mov ah, byte [esi + edi]
add ecx, edx
mov dword [ebp - 0x20], ecx
test ah, ah
jne 0x402284
mov edx, dword [ebp - 0x34]
cmp ecx, 0xf2f8a73d
je 0x40230e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
inc edx
add eax, 4
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x48], eax
cmp edx, dword [ecx + 0x18]
jb 0x402270
mov ecx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x38]
mov eax, ecx
or eax, edx
jne 0x4023d3
mov ecx, dword [ebp - 0x28]
mov edi, dword [edi]
jmp 0x4021ea
mov ecx, dword [ebp - 0x28]
jmp 0x4020bf
mov eax, dword [ebp - 0x14]
xor edi, edi
mov esi, dword [ebp - 0x18]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, esi
mov dword [ebp - 0x2c], ecx
adc edi, dword [ebp - 0x54]
xor eax, eax
add dword [ebp - 0x30], esi
mov esi, dword [ebp - 0x30]
adc eax, dword [ebp - 0x54]
xor edx, edx
add dword [ebp - 0x24], esi
mov dword [ebp - 0x38], edi
adc edx, eax
cmp edi, eax
jb 0x4022ec
ja 0x40234e
cmp ecx, esi
jb 0x4022ec
cmp edi, edx
jb 0x402359
ja 0x4022ec
cmp ecx, dword [ebp - 0x24]
jae 0x4022ec
mov dh, byte [ecx]
mov edi, ecx
test dh, dh
je 0x402374
inc ecx
cmp dh, 0x2e
mov eax, ecx
cmovne eax, edi
mov edi, eax
mov dh, byte [ecx]
test dh, dh
jne 0x402361
mov dh, byte [eax]
mov eax, 0xd0dc4f96
xor esi, esi
mov dword [ebp - 0x20], eax
test dh, dh
je 0x4023c9
mov al, dh
mov dl, dh
add al, 0x20
sub dl, 0x41
movzx ecx, al
cmp dl, 0x19
movzx eax, dh
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
movsx ecx, cl
imul edx, ecx
mov eax, ecx
xor eax, dword [ebp - 0x20]
add edx, eax
test esi, esi
mov eax, esi
cmove eax, dword [ebp - 0x64]
inc esi
xor eax, 0xd0dc4f96
imul edx, eax
add edx, ecx
mov eax, edx
mov dh, byte [esi + edi]
mov dword [ebp - 0x20], eax
test dh, dh
jne 0x402382
push 0
push eax
call fcn.00403e10
mov ecx, eax
push 0
push 4
push 0x427a40
push dword [ebp - 0x6c]
mov dword [ebp - 0x54], edx
push dword [ebp - 0x3c]
call ecx
mov eax, dword [0x427a60]
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], 4
xorps xmm0, xmm0
mov eax, dword fs:[0x30]
movlpd qword [ebp - 0x58], xmm0
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x54]
add ecx, 0xc
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], ecx
mov esi, dword [ecx]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], esi
cmp esi, ecx
je 0x401e3c
cmp dword [esi + 0x30], 0
je 0x402619
mov ecx, dword [esi + 0x18]
mov eax, ecx
cdq
mov dword [ebp - 0x6c], edx
mov edi, eax
mov dword [ebp - 0x34], edi
test ecx, ecx
je 0x402616
mov esi, dword [ecx + 0x3c]
mov eax, dword [esi + ecx + 0x78]
mov edx, dword [esi + ecx + 0x7c]
mov dword [ebp - 0x2c], eax
add eax, ecx
mov dword [ebp - 0x14], eax
mov eax, 0x5a4d
cmp word [edi], ax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], edx
jne 0x4038f9
mov edi, 0x10b
cmp word [esi + ecx + 0x18], di
mov edi, dword [ebp - 0x34]
jne 0x402484
test edx, edx
je 0x402613
xor edx, edx
mov dword [ebp - 0x30], edx
cmp dword [eax + 0x18], edx
jbe 0x402607
mov eax, dword [eax + 0x20]
add eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
nop dword [eax]
mov eax, dword [eax]
xor esi, esi
add eax, edi
mov edi, 0xd0dc4f96
mov dword [ebp - 0x54], eax
mov ah, byte [eax]
test ah, ah
je 0x402506
mov dl, ah
mov al, ah
add al, 0x20
sub dl, 0x41
cmp dl, 0x19
movzx ecx, al
movzx eax, ah
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
mov eax, esi
movsx ecx, cl
imul edx, ecx
xor edi, ecx
add edx, edi
test esi, esi
mov edi, 0xd0dc4f96
cmove eax, edi
inc esi
xor eax, edi
imul edx, eax
mov eax, dword [ebp - 0x54]
mov ah, byte [esi + eax]
lea edi, [ecx + edx]
test ah, ah
jne 0x4024b4
mov edx, dword [ebp - 0x30]
cmp edi, 0xf2f8a73d
je 0x40252c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
inc edx
add eax, 4
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x20], eax
cmp edx, dword [ecx + 0x18]
jae 0x402607
mov edi, dword [ebp - 0x34]
jmp 0x4024a0
mov ecx, dword [ebp - 0x2c]
jmp 0x4022ef
mov eax, dword [ebp - 0x14]
xor edi, edi
mov esi, dword [ebp - 0x34]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, esi
mov dword [ebp - 0x24], ecx
adc edi, dword [ebp - 0x6c]
xor eax, eax
add dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x2c]
adc eax, dword [ebp - 0x6c]
xor edx, edx
add dword [ebp - 0x28], esi
mov dword [ebp - 0x1c], edi
adc edx, eax
cmp edi, eax
jb 0x40260d
ja 0x402574
cmp ecx, esi
jb 0x40260d
cmp edi, edx
jb 0x402587
ja 0x40260d
cmp ecx, dword [ebp - 0x28]
jae 0x40260d
mov dh, byte [ecx]
mov edi, ecx
test dh, dh
je 0x4025a3
nop
inc ecx
cmp dh, 0x2e
mov eax, ecx
cmovne eax, edi
mov edi, eax
mov dh, byte [ecx]
test dh, dh
jne 0x402590
mov dh, byte [eax]
mov eax, 0xd0dc4f96
xor esi, esi
mov dword [ebp - 0x20], eax
test dh, dh
je 0x4025f8
mov al, dh
mov dl, dh
add al, 0x20
sub dl, 0x41
movzx ecx, al
cmp dl, 0x19
movzx eax, dh
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
mov eax, dword [ebp - 0x20]
movsx ecx, cl
imul edx, ecx
xor eax, ecx
add edx, eax
test esi, esi
mov eax, esi
cmove eax, dword [ebp - 0x64]
inc esi
xor eax, 0xd0dc4f96
imul edx, eax
add edx, ecx
mov eax, edx
mov dh, byte [esi + edi]
mov dword [ebp - 0x20], eax
test dh, dh
jne 0x4025b1
push 0
push eax
call fcn.00403e10
mov ecx, eax
mov dword [ebp - 0x54], edx
jmp 0x402623
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov eax, ecx
or eax, edi
jne 0x402620
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x38]
mov esi, dword [esi]
jmp 0x40241b
mov dword [ebp - 0x54], edi
push 0
push 8
push 0x427a48
push dword [ebp - 0x48]
push dword [ebp - 0x3c]
call ecx
mov eax, dword [0x427a30]
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], 5
xorps xmm0, xmm0
mov eax, dword fs:[0x30]
movlpd qword [ebp - 0x58], xmm0
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x54]
add ecx, 0xc
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x24], ecx
mov esi, dword [ecx]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], esi
cmp esi, ecx
je 0x401e3c
cmp dword [esi + 0x30], 0
je 0x402860
mov ecx, dword [esi + 0x18]
mov eax, ecx
cdq
mov dword [ebp - 0x6c], edx
mov edi, eax
mov dword [ebp - 0x18], edi
test ecx, ecx
je 0x40285d
mov esi, dword [ecx + 0x3c]
mov eax, dword [esi + ecx + 0x78]
mov edx, dword [esi + ecx + 0x7c]
mov dword [ebp - 0x34], eax
add eax, ecx
mov dword [ebp - 0x14], eax
mov eax, 0x5a4d
cmp word [edi], ax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], edx
jne 0x4038f9
mov edi, 0x10b
cmp word [esi + ecx + 0x18], di
mov edi, dword [ebp - 0x18]
jne 0x4026d1
test edx, edx
je 0x40285a
xor edx, edx
mov dword [ebp - 0x38], edx
cmp dword [eax + 0x18], edx
jbe 0x40284e
mov eax, dword [eax + 0x20]
add eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
nop word [eax + eax]
mov eax, dword [eax]
xor esi, esi
add eax, edi
mov edi, 0xd0dc4f96
mov dword [ebp - 0x54], eax
mov ah, byte [eax]
test ah, ah
je 0x402756
mov dl, ah
mov al, ah
add al, 0x20
sub dl, 0x41
cmp dl, 0x19
movzx ecx, al
movzx eax, ah
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
mov eax, esi
movsx ecx, cl
imul edx, ecx
xor edi, ecx
add edx, edi
test esi, esi
mov edi, 0xd0dc4f96
cmove eax, edi
inc esi
xor eax, edi
imul edx, eax
mov eax, dword [ebp - 0x54]
mov ah, byte [esi + eax]
lea edi, [ecx + edx]
test ah, ah
jne 0x402704
mov edx, dword [ebp - 0x38]
cmp edi, 0xf2f8a73d
je 0x402774
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
inc edx
add eax, 4
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x20], eax
cmp edx, dword [ecx + 0x18]
jae 0x40284e
mov edi, dword [ebp - 0x18]
jmp 0x4026f0
mov eax, dword [ebp - 0x14]
xor edi, edi
mov esi, dword [ebp - 0x18]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, esi
mov dword [ebp - 0x2c], ecx
adc edi, dword [ebp - 0x6c]
xor eax, eax
add dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x34]
adc eax, dword [ebp - 0x6c]
xor edx, edx
add dword [ebp - 0x30], esi
mov dword [ebp - 0x28], edi
adc edx, eax
cmp edi, eax
jb 0x402854
ja 0x4027bc
cmp ecx, esi
jb 0x402854
cmp edi, edx
jb 0x4027cf
ja 0x402854
cmp ecx, dword [ebp - 0x30]
jae 0x402854
mov dh, byte [ecx]
mov edi, ecx
test dh, dh
je 0x4027ea
inc ecx
cmp dh, 0x2e
mov eax, ecx
cmovne eax, edi
mov edi, eax
mov dh, byte [ecx]
test dh, dh
jne 0x4027d7
mov dh, byte [eax]
mov eax, 0xd0dc4f96
xor esi, esi
mov dword [ebp - 0x20], eax
test dh, dh
je 0x40283f
mov al, dh
mov dl, dh
add al, 0x20
sub dl, 0x41
movzx ecx, al
cmp dl, 0x19
movzx eax, dh
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
mov eax, dword [ebp - 0x20]
movsx ecx, cl
imul edx, ecx
xor eax, ecx
add edx, eax
test esi, esi
mov eax, esi
cmove eax, dword [ebp - 0x64]
inc esi
xor eax, 0xd0dc4f96
imul edx, eax
add edx, ecx
mov eax, edx
mov dh, byte [esi + edi]
mov dword [ebp - 0x20], eax
test dh, dh
jne 0x4027f8
push 0
push eax
call fcn.00403e10
mov ecx, eax
mov dword [ebp - 0x54], edx
jmp 0x40286a
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
or eax, edi
jne 0x402867
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov esi, dword [esi]
jmp 0x402668
mov dword [ebp - 0x54], edi
push 0
push 8
push 0x427a70
push dword [ebp - 0x48]
push dword [ebp - 0x3c]
call ecx
mov eax, dword [0x427a34]
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], 6
xorps xmm0, xmm0
mov eax, dword fs:[0x30]
movlpd qword [ebp - 0x58], xmm0
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x54]
add ecx, 0xc
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x24], ecx
mov esi, dword [ecx]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], esi
cmp esi, ecx
je 0x401e3c
cmp dword [esi + 0x30], 0
je 0x402aa8
mov ecx, dword [esi + 0x18]
mov eax, ecx
cdq
mov dword [ebp - 0x6c], edx
mov edi, eax
mov dword [ebp - 0x18], edi
test ecx, ecx
je 0x402aa5
mov esi, dword [ecx + 0x3c]
mov eax, dword [esi + ecx + 0x78]
mov edx, dword [esi + ecx + 0x7c]
mov dword [ebp - 0x34], eax
add eax, ecx
mov dword [ebp - 0x14], eax
mov eax, 0x5a4d
cmp word [edi], ax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], edx
jne 0x4038f9
mov edi, 0x10b
cmp word [esi + ecx + 0x18], di
mov edi, dword [ebp - 0x18]
jne 0x402918
test edx, edx
je 0x402aa2
xor edx, edx
mov dword [ebp - 0x38], edx
cmp dword [eax + 0x18], edx
jbe 0x402a96
mov eax, dword [eax + 0x20]
add eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [eax]
xor esi, esi
add eax, edi
mov edi, 0xd0dc4f96
mov dword [ebp - 0x54], eax
mov ah, byte [eax]
test ah, ah
je 0x402997
mov dl, ah
mov al, ah
add al, 0x20
sub dl, 0x41
cmp dl, 0x19
movzx ecx, al
movzx eax, ah
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
mov eax, esi
movsx ecx, cl
imul edx, ecx
xor edi, ecx
add edx, edi
test esi, esi
mov edi, 0xd0dc4f96
cmove eax, edi
inc esi
xor eax, edi
imul edx, eax
mov eax, dword [ebp - 0x54]
mov ah, byte [esi + eax]
lea edi, [ecx + edx]
test ah, ah
jne 0x402945
mov edx, dword [ebp - 0x38]
cmp edi, 0xf2f8a73d
je 0x4029b5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
inc edx
add eax, 4
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x20], eax
cmp edx, dword [ecx + 0x18]
jae 0x402a96
mov edi, dword [ebp - 0x18]
jmp 0x402931
mov eax, dword [ebp - 0x14]
xor edi, edi
mov esi, dword [ebp - 0x18]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, esi
mov dword [ebp - 0x2c], ecx
adc edi, dword [ebp - 0x6c]
xor eax, eax
add dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x34]
adc eax, dword [ebp - 0x6c]
xor edx, edx
add dword [ebp - 0x30], esi
mov dword [ebp - 0x28], edi
adc edx, eax
cmp edi, eax
jb 0x402a9c
ja 0x4029fd
cmp ecx, esi
jb 0x402a9c
cmp edi, edx
jb 0x402a10
ja 0x402a9c
cmp ecx, dword [ebp - 0x30]
jae 0x402a9c
mov dh, byte [ecx]
mov edi, ecx
test dh, dh
je 0x402a2b
inc ecx
cmp dh, 0x2e
mov eax, ecx
cmovne eax, edi
mov edi, eax
mov dh, byte [ecx]
test dh, dh
jne 0x402a18
mov dh, byte [eax]
mov eax, 0xd0dc4f96
xor esi, esi
mov dword [ebp - 0x20], eax
test dh, dh
je 0x402a87
nop dword [eax]
mov al, dh
mov dl, dh
add al, 0x20
sub dl, 0x41
movzx ecx, al
cmp dl, 0x19
movzx eax, dh
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
movsx ecx, cl
imul edx, ecx
mov eax, ecx
xor eax, dword [ebp - 0x20]
add edx, eax
test esi, esi
mov eax, esi
cmove eax, dword [ebp - 0x64]
inc esi
xor eax, 0xd0dc4f96
imul edx, eax
add edx, ecx
mov eax, edx
mov dh, byte [esi + edi]
mov dword [ebp - 0x20], eax
test dh, dh
jne 0x402a40
push 0
push eax
call fcn.00403e10
mov ecx, eax
mov dword [ebp - 0x54], edx
jmp 0x402ab2
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
or eax, edi
jne 0x402aaf
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov esi, dword [esi]
jmp 0x4028af
mov dword [ebp - 0x54], edi
push 0
push 8
push 0x427a78
push dword [ebp - 0x48]
push dword [ebp - 0x3c]
call ecx
mov eax, dword [0x427a38]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 4], 7
xorps xmm0, xmm0
mov eax, dword fs:[0x30]
movlpd qword [ebp - 0x58], xmm0
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x30], edi
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x58]
add edx, 0xc
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x34], eax
mov ecx, dword [edx]
mov dword [ebp - 0x28], ecx
cmp ecx, edx
je 0x401e3c
cmp dword [ecx + 0x30], 0
je 0x402c02
mov esi, dword [ecx + 0x18]
mov eax, esi
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], edx
test esi, esi
je 0x402bff
mov ecx, dword [esi + 0x3c]
mov edi, 0x5a4d
mov edx, dword [ebp - 0x38]
add ecx, esi
mov dword [ebp - 0x54], ecx
mov eax, dword [ecx + 0x78]
add eax, esi
mov dword [ebp - 0x14], eax
cmp word [edx], di
jne 0x4038f9
mov edi, 0x10b
cmp word [ecx + 0x18], di
jne 0x402b56
cmp dword [ecx + 0x7c], 0
jbe 0x402bfc
xor ecx, ecx
mov dword [ebp - 0x18], ecx
cmp dword [eax + 0x18], ecx
jbe 0x402bec
mov eax, dword [eax + 0x20]
add eax, esi
mov dword [ebp - 0x48], eax
nop dword [eax]
mov edi, dword [eax]
xor esi, esi
mov ah, byte [edi + edx]
add edi, edx
mov dword [ebp - 0x20], 0xd0dc4f96
test ah, ah
je 0x402bd7
mov dl, ah
mov al, ah
add al, 0x20
sub dl, 0x41
movzx ecx, al
cmp dl, 0x19
movzx eax, ah
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
movsx ecx, cl
imul edx, ecx
mov eax, ecx
xor eax, dword [ebp - 0x20]
add edx, eax
test esi, esi
mov eax, esi
cmove eax, dword [ebp - 0x64]
inc esi
xor eax, 0xd0dc4f96
imul edx, eax
mov ah, byte [esi + edi]
add ecx, edx
mov dword [ebp - 0x20], ecx
test ah, ah
jne 0x402b84
cmp ecx, 0xf2f8a73d
mov ecx, dword [ebp - 0x18]
je 0x402c09
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x14]
inc ecx
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x48], eax
cmp ecx, dword [esi + 0x18]
jb 0x402b70
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov eax, ecx
or eax, esi
jne 0x402ce6
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
jmp 0x402af7
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp - 0x54]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
mov edx, dword [esi + 0x78]
mov esi, dword [esi + 0x7c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + edi]
xor eax, eax
add ecx, edi
mov dword [ebp - 0x34], ecx
adc eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
xor eax, eax
add edx, edi
mov edi, dword [ebp - 0x30]
adc eax, dword [ebp - 0x24]
mov dword [ebp - 0x54], eax
cmp edi, eax
jb 0x402bef
ja 0x402c4f
cmp ecx, edx
jb 0x402bef
xor eax, eax
add esi, edx
adc eax, dword [ebp - 0x54]
cmp edi, eax
jb 0x402c60
ja 0x402bef
cmp ecx, esi
jae 0x402bef
mov dh, byte [ecx]
mov edi, ecx
test dh, dh
je 0x402c7b
inc ecx
cmp dh, 0x2e
mov eax, ecx
cmovne eax, edi
mov edi, eax
mov dh, byte [ecx]
test dh, dh
jne 0x402c68
mov dh, byte [eax]
mov eax, 0xd0dc4f96
xor esi, esi
mov dword [ebp - 0x20], eax
test dh, dh
je 0x402cd7
nop dword [eax]
mov al, dh
mov dl, dh
add al, 0x20
sub dl, 0x41
movzx ecx, al
cmp dl, 0x19
movzx eax, dh
lea edx, [esi - 0x2f23b06a]
cmova ecx, eax
movsx ecx, cl
imul edx, ecx
mov eax, ecx
xor eax, dword [ebp - 0x20]
add edx, eax
test esi, esi
mov eax, esi
cmove eax, dword [ebp - 0x64]
inc esi
xor eax, 0xd0dc4f96
imul edx, eax
add edx, ecx
mov eax, edx
mov dh, byte [esi + edi]
mov dword [ebp - 0x20], eax
test dh, dh
jne 0x402c90
push 0
push eax
call fcn.00403e10
mov ecx, eax
mov dword [ebp - 0x54], edx
jmp 0x402ce9
mov dword [ebp - 0x54], esi
push 0
push 8
push 0x427a50
push dword [ebp - 0x6c]
push dword [ebp - 0x3c]
call ecx
cmp byte [0x423c3f], 0
mov eax, dword [0x423c3c]
mov esi, dword [0x427354]
mov dword [ebp - 0x14], eax
je 0x402de4
xor ecx, ecx
mov dword [ebp - 0x18], ecx
cmp esi, 2
jl 0x402db0
movaps xmm3, xmmword [0x424330]
mov edi, 5
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
mov ecx, 0x1f
pmuldq xmm0, xmmword [0x424370]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x424370]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, edi
psrad xmm2, xmm0
movd xmm0, ecx
movaps xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [str.8888]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.5555555555555555]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [ebp - 0x14], xmm1
jmp 0x402de9
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x18]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x18]
add al, 0x35
xor byte [ebp + ecx - 0x14], al
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 4
jl 0x402db0
mov edi, 5
lea eax, [ebp - 0x14]
push eax
call fcn.004092bd
movups xmm0, xmmword [0x423bc0]
mov eax, dword [0x423bd8]
xor ecx, ecx
mov dword [ebp - 0x78], eax
add esp, 4
mov ax, word [0x423bdc]
mov word [ebp - 0x74], ax
mov al, byte [0x423bde]
mov byte [ebp - 0x72], al
mov dword [ebp - 0x14], ecx
movups xmmword [ebp - 0x90], xmm0
movq xmm0, qword [0x423bd0]
movq qword [ebp - 0x80], xmm0
cmp esi, 2
jl 0x402f80
movaps xmm0, xmmword [str.5555555555555555]
mov eax, 0x1f
movaps xmm4, xmmword [0x424330]
movaps xmm3, xmmword [0x424370]
movaps xmm6, xmmword [str.8888]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
movd xmm5, edi
movd xmm7, eax
nop dword [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x90]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x90], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x8c]
xorps xmm1, xmm0
movd dword [ebp + ecx - 0x8c], xmm1
add ecx, 8
cmp ecx, 0x18
jl 0x402e70
mov dword [ebp - 0x14], ecx
cmp ecx, 0x1f
jge 0x402fb7
nop
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x14]
add al, 0x35
xor byte [ebp + ecx - 0x90], al
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x1f
jl 0x402f80
push dword [0x427a44]
lea eax, [ebp - 0x90]
push eax
call fcn.004010c0
movups xmm0, xmmword [0x423c54]
mov al, byte [0x423c74]
xor ecx, ecx
add esp, 8
mov byte [ebp - 0x74], al
mov dword [ebp - 0x14], ecx
movups xmmword [ebp - 0x94], xmm0
movups xmm0, xmmword [0x423c64]
movups xmmword [ebp - 0x84], xmm0
cmp esi, 2
jl 0x403140
movaps xmm0, xmmword [str.5555555555555555]
mov eax, 0x1f
movaps xmm4, xmmword [0x424330]
movaps xmm3, xmmword [0x424370]
movaps xmm6, xmmword [str.8888]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
movd xmm5, edi
movd xmm7, eax
nop
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x94]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x94], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x90]
xorps xmm1, xmm0
movd dword [ebp + ecx - 0x90], xmm1
add ecx, 8
cmp ecx, 0x20
jl 0x403030
mov dword [ebp - 0x14], ecx
cmp ecx, 0x21
jge 0x403177
nop
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x14]
add al, 0x35
xor byte [ebp + ecx - 0x94], al
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x21
jl 0x403140
push dword [0x427a40]
lea eax, [ebp - 0x94]
push eax
call fcn.004010c0
movups xmm0, xmmword [0x423c80]
mov ax, word [0x423c90]
add esp, 8
mov word [ebp - 0x74], ax
movups xmmword [ebp - 0x84], xmm0
test ah, ah
je 0x403337
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp esi, 2
jl 0x403300
movaps xmm0, xmmword [str.5555555555555555]
mov eax, 0x1f
movaps xmm4, xmmword [0x424330]
movaps xmm3, xmmword [0x424370]
movaps xmm6, xmmword [str.8888]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
movd xmm5, edi
movd xmm7, eax
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x84]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x84], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x80]
xorps xmm1, xmm0
movd dword [ebp + ecx - 0x80], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x4031f0
mov dword [ebp - 0x14], ecx
cmp ecx, 0x12
jge 0x403337
nop dword [eax]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x14]
add al, 0x35
xor byte [ebp + ecx - 0x84], al
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x12
jl 0x403300
movsd xmm0, qword [0x427a48]
lea eax, [ebp - 0x84]
sub esp, 8
movsd qword [esp], xmm0
push eax
call fcn.004010c0
movups xmm0, xmmword [0x423be0]
mov ax, word [0x423bf0]
add esp, 0xc
mov word [ebp - 0x74], ax
movups xmmword [ebp - 0x84], xmm0
test ah, ah
je 0x4034f7
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp esi, 2
jl 0x4034c0
movaps xmm0, xmmword [str.5555555555555555]
mov eax, 0x1f
movaps xmm4, xmmword [0x424330]
movaps xmm3, xmmword [0x424370]
movaps xmm6, xmmword [str.8888]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
movd xmm5, edi
movd xmm7, eax
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x84]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x84], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x80]
xorps xmm1, xmm0
movd dword [ebp + ecx - 0x80], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x4033b4
mov dword [ebp - 0x14], ecx
cmp ecx, 0x12
jge 0x4034f7
nop dword [eax]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x14]
add al, 0x35
xor byte [ebp + ecx - 0x84], al
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x12
jl 0x4034c0
movsd xmm0, qword [0x427a70]
lea eax, [ebp - 0x84]
sub esp, 8
movsd qword [esp], xmm0
push eax
call fcn.004010c0
movups xmm0, xmmword [0x423bac]
mov ax, word [0x423bbc]
add esp, 0xc
mov word [ebp - 0x74], ax
movups xmmword [ebp - 0x84], xmm0
test ah, ah
je 0x4036b7
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp esi, 2
jl 0x403680
movaps xmm0, xmmword [str.5555555555555555]
mov eax, 0x1f
movaps xmm4, xmmword [0x424330]
movaps xmm3, xmmword [0x424370]
movaps xmm6, xmmword [str.8888]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
movd xmm5, edi
movd xmm7, eax
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x84]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x84], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x80]
xorps xmm1, xmm0
movd dword [ebp + ecx - 0x80], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x403574
mov dword [ebp - 0x14], ecx
cmp ecx, 0x12
jge 0x4036b7
nop dword [eax]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x14]
add al, 0x35
xor byte [ebp + ecx - 0x84], al
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x12
jl 0x403680
movsd xmm0, qword [0x427a78]
lea eax, [ebp - 0x84]
sub esp, 8
movsd qword [esp], xmm0
push eax
call fcn.004010c0
mov ax, word [0x423c50]
xor ecx, ecx
movups xmm0, xmmword [0x423c40]
mov word [ebp - 0x74], ax
add esp, 0xc
mov al, byte [0x423c52]
mov byte [ebp - 0x72], al
mov dword [ebp - 0x14], ecx
movups xmmword [ebp - 0x84], xmm0
cmp esi, 2
jl 0x403840
movaps xmm0, xmmword [str.5555555555555555]
mov eax, 0x1f
movaps xmm4, xmmword [0x424330]
movaps xmm3, xmmword [0x424370]
movaps xmm6, xmmword [str.8888]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
movd xmm5, edi
movd xmm7, eax
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x84]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x84], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x80]
xorps xmm1, xmm0
movd dword [ebp + ecx - 0x80], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x403734
mov dword [ebp - 0x14], ecx
cmp ecx, 0x13
jge 0x403877
nop dword [eax]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x14]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x14]
add al, 0x35
xor byte [ebp + ecx - 0x84], al
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x13
jl 0x403840
movsd xmm0, qword [0x427a50]
lea eax, [ebp - 0x84]
sub esp, 8
movsd qword [esp], xmm0
push eax
call fcn.004010c0
mov eax, dword [str.EWBK:]
add esp, 0xc
mov dword [ebp - 0xa0], eax
mov ax, word [0x423c7c]
mov word [ebp - 0x9c], ax
test ah, ah
je 0x4038ed
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov eax, 0x24924925
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x18]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x18]
add al, 0x35
xor byte [ebp + ecx - 0xa0], al
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 6
jl 0x4038b7
lea eax, [ebp - 0xa0]
push eax
jmp 0x401f7e
push str.DOS_header_e_magic_mismatch
lea ecx, [ebp - 0x44]
call fcn.00401270
push 0x4252c4
mov eax, ecx
push eax
call fcn.0040542e
lea eax, [ebp - 0x90]
push eax
call fcn.00403b60
mov edi, eax
cmp byte [edi + 0x1f], 0
je 0x403ab5
xor ecx, ecx
cmp dword [0x427354], 2
mov dword [ebp - 0x18], ecx
jl 0x403a80
movaps xmm0, xmmword [str.5555555555555555]
mov eax, 0x1f
movaps xmm4, xmmword [0x424330]
xor edx, edx
movaps xmm3, xmmword [0x424370]
mov ecx, edi
movaps xmm6, xmmword [str.8888]
movd xmm5, esi
mov esi, 4
movaps xmmword [ebp - 0x60], xmm0
sub esi, edi
movd xmm7, eax
mov eax, dword [ebp - 0x60]
nop dword [eax + eax]
movd xmm0, edx
add edx, 8
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, eax
lea eax, [esi + ecx]
lea ecx, [ecx + 8]
paddb xmm1, xmm0
movd xmm0, dword [ecx - 8]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ecx - 8], xmm1
paddd xmm2, xmm4
mov eax, dword [ebp - 0x60]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x424350]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm1, xmm0
movd dword [ecx - 4], xmm1
cmp edx, 0x20
jl 0x403980
jmp 0x403ab5
mov eax, 0x92492493
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x18]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x18]
add al, 0x35
inc ecx
xor byte [esi], al
mov dword [ebp - 0x18], ecx
cmp ecx, 0x20
jl 0x403a80
push edi
call fcn.004010c0
add esp, 4
lea eax, [ebp - 0xa0]
push eax
call fcn.00403b80
mov edi, eax
cmp byte [edi + 5], 0
je 0x403b14
xor ecx, ecx
mov dword [ebp - 0x18], ecx
nop word [eax + eax]
mov eax, 0x24924925
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x18]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x18]
add al, 0x35
inc ecx
xor byte [esi], al
mov dword [ebp - 0x18], ecx
cmp ecx, 6
jl 0x403ae0
push edi
call fcn.004092bd
add esp, 4
push 0xffffffffffffffff
call fcn.0040726b
mov cl, 0x16
inc eax
add dl, dh
push ss
inc eax
add byte [ebx], dh
pop ss
inc eax
add byte [ecx + 0x17], bh
inc eax
add byte [edi - 0xaffbfe9], dh
pop ss
inc eax
add byte [edi - 0xaffbfe9], dh
pop ss
inc eax
add byte [edi - 0xaffbfe9], dh
pop ss
inc eax
add ch, dh
pop ss
inc eax
add ah, cl
int3