Function at 0x40d5b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4323e7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x100
movups xmm0, xmmword [0x433d98]
mov ax, word [0x433db0]
push esi
xor esi, esi
mov word [ebp - 0xe], ax
push edi
mov edi, dword [0x444660]
movups xmmword [ebp - 0x26], xmm0
lea eax, [esi + 4]
movq xmm0, qword [0x433da8]
lea ecx, [esi + 0x1f]
movq qword [ebp - 0x16], xmm0
cmp edi, 2
jl 0x40d6f0
movaps xmm2, xmmword [0x433330]
mov esi, 8
movaps xmm3, xmmword [0x4336b0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
movd xmm4, eax
mov eax, 0x433d98
psrad xmm1, xmm4
movd xmm5, ecx
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.2222]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x433340]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
paddw xmm1, xmmword [str.55555555]
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x26], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm4
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.2222]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [ebp - 0x1e]
paddw xmm1, xmmword [str.55555555]
pxor xmm1, xmm0
movq qword [ebp - 0x1e], xmm1
nop dword [eax]
mov eax, 0x51eb851f
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x32
sub ecx, eax
add ecx, 0x35
xor word [ebp + esi*2 - 0x26], cx
inc esi
cmp esi, 0xd
jl 0x40d6f0
xor eax, eax
mov dword [ebp - 0xa0], 0
lea ecx, [ebp - 0x26]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
lea edx, [ecx + 2]
mov word [ebp - 0xa0], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40d743
sub ecx, edx
lea eax, [ebp - 0x26]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xa0]
call fcn.00403fb0
movups xmm0, xmmword [0x433d78]
mov dword [ebp - 4], 0
movups xmmword [ebp - 0x2c], xmm0
movups xmm0, xmmword [0x433d88]
pextrw eax, xmm0, 7
movups xmmword [ebp - 0x1c], xmm0
test ax, ax
je 0x40d8cf
xor esi, esi
cmp edi, 2
jl 0x40d8b0
movaps xmm4, xmmword [0x433330]
mov eax, 4
movaps xmm3, xmmword [0x4336b0]
xor ecx, ecx
movaps xmm6, xmmword [str.2222]
movd xmm5, eax
mov eax, 0x1f
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
pmuldq xmm0, xmm3
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
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
movq xmm0, qword [str.55555555]
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x2c]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movq qword [ebp + ecx*2 - 0x2c], xmm1
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
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
movq xmm0, qword [str.55555555]
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x24]
pxor xmm1, xmm0
movq qword [ebp + ecx*2 - 0x24], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x40d7c1
jmp 0x40d8cf
mov eax, 0x51eb851f
mov ecx, esi
mul esi
shr edx, 4
imul eax, edx, 0x32
sub ecx, eax
add ecx, 0x35
xor word [ebp + esi*2 - 0x2c], cx
inc esi
cmp esi, 0x10
jl 0x40d8b0
xor eax, eax
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 7
lea edx, [ecx + 2]
mov word [ebp - 0x48], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40d8f0
sub ecx, edx
lea eax, [ebp - 0x2c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.00403fb0
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.0040bd10
add esp, 0xc
mov edx, dword [ebp - 0x34]
mov byte [ebp - 4], 3
cmp edx, 8
jb 0x40d968
mov ecx, dword [ebp - 0x48]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40d95e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e6cc
push edx
push ecx
call fcn.0041414e
add esp, 8
xor eax, eax
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 7
mov word [ebp - 0x48], ax
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 4
cmp edx, 8
jb 0x40d9c0
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40d9b6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e6cc
push edx
push ecx
call fcn.0041414e
add esp, 8
movups xmm0, xmmword [0x433dd4]
xor eax, eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
movups xmmword [ebp - 0x24], xmm0
mov word [ebp - 0xa0], ax
movq xmm0, qword [0x433de4]
movq qword [ebp - 0x14], xmm0
cmp word [0x433dea], ax
je 0x40db26
xor esi, esi
cmp edi, 2
jl 0x40db00
movaps xmm2, xmmword [0x433330]
mov eax, 4
movaps xmm3, xmmword [0x4336b0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov esi, 8
pmuldq xmm0, xmm3
movaps xmm7, xmmword [str.55555555]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
movd xmm4, eax
mov eax, 0x1f
psrad xmm1, xmm4
movaps xmm0, xmm1
movd xmm5, eax
mov eax, 0x433dd4
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.2222]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x433340]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm7
paddw xmm1, xmm0
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x24], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm4
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.2222]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm7
paddw xmm1, xmm0
movq xmm0, qword [ebp - 0x1c]
pxor xmm1, xmm0
movq qword [ebp - 0x1c], xmm1
nop
mov eax, 0x51eb851f
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x32
sub ecx, eax
add ecx, 0x35
xor word [ebp + esi*2 - 0x24], cx
inc esi
cmp esi, 0xc
jl 0x40db00
xor eax, eax
mov dword [ebp - 0x60], 0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 7
lea edx, [ecx + 2]
mov word [ebp - 0x60], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40db47
sub ecx, edx
lea eax, [ebp - 0x24]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.00403fb0
movups xmm0, xmmword [str.b_Y_v_vekNR_Z32_1DeDX_IHSOw__b_Y_v_vey_N___0DfSEQXVuIPZ2A]
mov byte [ebp - 4], 5
movups xmmword [ebp - 0x2c], xmm0
movups xmm0, xmmword [0x433dc4]
pextrw eax, xmm0, 7
movups xmmword [ebp - 0x1c], xmm0
test ax, ax
je 0x40dccf
xor esi, esi
cmp edi, 2
jl 0x40dcb0
movaps xmm4, xmmword [0x433330]
mov eax, 4
movaps xmm3, xmmword [0x4336b0]
xor ecx, ecx
movaps xmm6, xmmword [str.2222]
movd xmm5, eax
mov eax, 0x1f
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
pmuldq xmm0, xmm3
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
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
movq xmm0, qword [str.55555555]
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x2c]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movq qword [ebp + ecx*2 - 0x2c], xmm1
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
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
movq xmm0, qword [str.55555555]
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x24]
pxor xmm1, xmm0
movq qword [ebp + ecx*2 - 0x24], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x40dbc0
jmp 0x40dccf
mov eax, 0x51eb851f
mov ecx, esi
mul esi
shr edx, 4
imul eax, edx, 0x32
sub ecx, eax
add ecx, 0x35
xor word [ebp + esi*2 - 0x2c], cx
inc esi
cmp esi, 0x10
jl 0x40dcb0
xor eax, eax
mov dword [ebp - 0x78], 0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 7
lea edx, [ecx + 2]
mov word [ebp - 0x78], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40dcf0
sub ecx, edx
lea eax, [ebp - 0x2c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00403fb0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0040bd10
add esp, 0xc
mov edx, dword [ebp - 0x64]
mov byte [ebp - 4], 8
cmp edx, 8
jb 0x40dd65
mov ecx, dword [ebp - 0x78]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40dd5b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e6d1
push edx
push ecx
call fcn.0041414e
add esp, 8
xor eax, eax
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 7
mov word [ebp - 0x78], ax
mov edx, dword [ebp - 0x4c]
mov byte [ebp - 4], 9
cmp edx, 8
jb 0x40ddb7
mov ecx, dword [ebp - 0x60]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ddad
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e6d1
push edx
push ecx
call fcn.0041414e
add esp, 8
movups xmm0, xmmword [0x433e0c]
xor eax, eax
mov dword [ebp - 0x50], 0
mov word [ebp - 0x60], ax
xor esi, esi
mov ax, word [0x433e24]
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x30], ax
movups xmmword [ebp - 0x48], xmm0
movq xmm0, qword [0x433e1c]
movq qword [ebp - 0x38], xmm0
cmp edi, 2
jl 0x40def0
movaps xmm2, xmmword [0x433330]
mov eax, 4
movaps xmm3, xmmword [0x4336b0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov esi, 8
pmuldq xmm0, xmm3
movaps xmm7, xmmword [str.55555555]
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
movd xmm4, eax
mov eax, 0x1f
psrad xmm1, xmm4
movaps xmm0, xmm1
movd xmm5, eax
mov eax, 0x433e0c
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.2222]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x433340]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm7
paddw xmm1, xmm0
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x48], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm4
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.2222]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm7
paddw xmm1, xmm0
movq xmm0, qword [ebp - 0x40]
pxor xmm1, xmm0
movq qword [ebp - 0x40], xmm1
nop dword [eax]
mov eax, 0x51eb851f
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x32
sub ecx, eax
add ecx, 0x35
xor word [ebp + esi*2 - 0x48], cx
inc esi
cmp esi, 0xd
jl 0x40def0
xor eax, eax
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 7
lea edx, [ecx + 2]
mov word [ebp - 0x24], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40df37
sub ecx, edx
lea eax, [ebp - 0x48]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x24]
call fcn.00403fb0
movups xmm0, xmmword [0x433dec]
mov byte [ebp - 4], 0xa
movups xmmword [ebp - 0x80], xmm0
movups xmm0, xmmword [0x433dfc]
pextrw eax, xmm0, 7
movups xmmword [ebp - 0x70], xmm0
test ax, ax
je 0x40e0bf
xor esi, esi
cmp edi, 2
jl 0x40e0a0
movaps xmm4, xmmword [0x433330]
mov eax, 4
movaps xmm3, xmmword [0x4336b0]
xor ecx, ecx
movaps xmm6, xmmword [str.2222]
movd xmm5, eax
mov eax, 0x1f
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
pmuldq xmm0, xmm3
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
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
movq xmm0, qword [str.55555555]
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x80]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movq qword [ebp + ecx*2 - 0x80], xmm1
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
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
movq xmm0, qword [str.55555555]
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x78]
pxor xmm1, xmm0
movq qword [ebp + ecx*2 - 0x78], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x40dfb0
jmp 0x40e0bf
mov eax, 0x51eb851f
mov ecx, esi
mul esi
shr edx, 4
imul eax, edx, 0x32
sub ecx, eax
add ecx, 0x35
xor word [ebp + esi*2 - 0x80], cx
inc esi
cmp esi, 0x10
jl 0x40e0a0
xor eax, eax
mov dword [ebp - 0xa0], 0
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
lea edx, [ecx + 2]
mov word [ebp - 0xa0], ax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40e0f0
sub ecx, edx
lea eax, [ebp - 0x80]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xa0]
call fcn.00403fb0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xdc]
push eax
call fcn.0040bd10
add esp, 0xc
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0xd
cmp edx, 8
jb 0x40e171
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e167
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e6d6
push edx
push ecx
call fcn.0041414e
add esp, 8
xor eax, eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
mov edx, dword [ebp - 0x10]
mov byte [ebp - 4], 0xe
cmp edx, 8
jb 0x40e1cc
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e1c2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e6d6
push edx
push ecx
call fcn.0041414e
add esp, 8
mov ecx, dword [ebp - 0xfc]
xor eax, eax
mov edx, dword [ebp - 0xe4]
mov word [ebp - 0x24], ax
mov eax, SysReAllocString
sub eax, ecx
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 7
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0x84], edx
cmp eax, edx
jb 0x40e6db
cmp dword [ebp - 0xf8], 8
lea eax, [ebp - 0x10c]
mov esi, 7
mov dword [ebp - 0x48], 0
cmovae eax, dword [ebp - 0x10c]
lea edi, [ebp - 0x48]
cmp dword [ebp - 0xe0], 8
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xf4]
cmovae eax, dword [ebp - 0xf4]
mov dword [ebp - 0x88], eax
lea eax, [ecx + edx]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0xa4], eax
cmp eax, esi
jbe 0x40e2a0
mov esi, eax
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x40e279
mov esi, SysReAllocString
jmp 0x40e283
mov eax, 0xa
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x48]
call fcn.00403df0
mov ecx, dword [ebp - 0xc0]
mov edi, eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x34], esi
lea esi, [ecx + ecx]
push esi
push dword [ebp - 0xc4]
mov dword [ebp - 0x38], eax
push edi
call fcn.00415600
mov eax, dword [ebp - 0x84]
lea ecx, [edi + esi]
add eax, eax
push eax
push dword [ebp - 0x88]
push ecx
call fcn.00415600
mov eax, dword [ebp - 0xa4]
xor ecx, ecx
add esp, 0x18
mov word [edi + eax*2], cx
cmp dword [ebp - 0xc8], 8
lea eax, [ebp - 0xdc]
push dword [ebp - 0xcc]
cmovae eax, dword [ebp - 0xdc]
lea ecx, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0xf
call fcn.0040eef0
mov dword [ebp - 0xbc], 0
xor ecx, ecx
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xbc], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xac], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov edx, dword [ebp - 0x34]
mov byte [ebp - 4], 0x11
cmp edx, 8
jb 0x40e38a
mov ecx, dword [ebp - 0x48]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e380
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e6e0
push edx
push ecx
call fcn.0041414e
add esp, 8
xor eax, eax
mov dword [ebp - 0x78], 0
cmp dword [ebp - 0xa8], 8
lea edx, [ebp - 0xbc]
mov word [ebp - 0x48], ax
lea edi, [ebp - 0xbc]
cmovae edx, dword [ebp - 0xbc]
lea ecx, [ebp - 0x78]
mov eax, dword [ebp - 0xac]
cmovae edi, dword [ebp - 0xbc]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 7
lea eax, [edx + eax*2]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x84], eax
sub eax, edi
sar eax, 1
push eax
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
call fcn.0040bb00
mov byte [ebp - 0x88], 0
lea ecx, [ebp - 0x78]
push dword [ebp - 0x88]
push dword [ebp - 0x84]
push edi
call fcn.0040c630
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x60]
call fcn.0040cff0
cmp dword [ebp - 0x4c], 0x10
lea edi, [ebp - 0x60]
lea esi, [ebp - 0x60]
cmovae edi, dword [ebp - 0x60]
cmovae esi, dword [ebp - 0x60]
add edi, dword [ebp - 0x50]
cmp esi, edi
je 0x40e453
nop dword [eax]
movsx eax, byte [esi]
push eax
call fcn.0041c166
mov byte [esi], al
add esp, 4
inc esi
cmp esi, edi
jne 0x40e440
cmp dword [ebp - 0x4c], 0x10
lea edx, [ebp - 0x60]
mov dword [ebp - 0x24], 0
cmovae edx, dword [ebp - 0x60]
mov ecx, edx
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e480
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x24]
call fcn.00401fa0
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x24]
push eax
push esi
mov byte [ebp - 4], 0x14
call fcn.0040e6f0
mov edx, dword [ebp - 0x10]
add esp, 8
cmp edx, 0x10
jb 0x40e4db
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e4d1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e6e5
push edx
push ecx
call fcn.0041414e
add esp, 8
mov edx, dword [ebp - 0x4c]
cmp edx, 0x10
jb 0x40e50f
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e505
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e6e5
push edx
push ecx
call fcn.0041414e
add esp, 8
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp edx, 0x10
jb 0x40e555
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e54b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e6e5
push edx
push ecx
call fcn.0041414e
add esp, 8
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
cmp edx, 8
jb 0x40e5a7
mov ecx, dword [ebp - 0xbc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e59d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e6e5
push edx
push ecx
call fcn.0041414e
add esp, 8
mov edx, dword [ebp - 0xc8]
xor eax, eax
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 7
mov word [ebp - 0xbc], ax
cmp edx, 8
jb 0x40e604
mov ecx, dword [ebp - 0xdc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e5fa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e6e5
push edx
push ecx
call fcn.0041414e
add esp, 8
mov edx, dword [ebp - 0xe0]
xor eax, eax
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 7
mov word [ebp - 0xdc], ax
cmp edx, 8
jb 0x40e661
mov ecx, dword [ebp - 0xf4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e657
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e6e5
push edx
push ecx
call fcn.0041414e
add esp, 8
mov edx, dword [ebp - 0xf8]
xor eax, eax
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 7
mov word [ebp - 0xf4], ax
cmp edx, 8
jb 0x40e6ba
mov ecx, dword [ebp - 0x10c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40e6b0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e6e5
push edx
push ecx
call fcn.0041414e
add esp, 8
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
call fcn.0041866f
call fcn.0041866f
call fcn.0041866f
call fcn.00401f30
call fcn.0041866f
call fcn.0041866f
int3