Function at 0x40b180
Capabilities:
Contain obfuscated stackstrings

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 0x4131f0
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x158
mov eax, dword [0x41a040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x110], esi
cmp byte [esi], 0
movss xmm0, dword [esi + 4]
je 0x40b1dd
addss xmm0, dword [0x415c64]
jmp 0x40b1e5
subss xmm0, dword [0x415c64]
sub esp, 8
movss dword [esi + 4], xmm0
mov dword [esp + 4], 0x3f800000
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fminf]
fstp dword [ebp - 0xf4]
movss xmm0, dword [ebp - 0xf4]
movss dword [esp + 4], xmm0
xorps xmm0, xmm0
movaps xmmword [ebp - 0x130], xmm0
mov dword [esp], 0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmaxf]
movss xmm1, dword [0x415c74]
add esp, 8
fstp dword [ebp - 0xf4]
movss xmm0, dword [ebp - 0xf4]
movss dword [esi + 4], xmm0
mulss xmm0, xmm1
cvttss2si edi, xmm0
mov dword [esi + 8], edi
test edi, edi
je 0x40c097
mov ecx, dword [0x41a6a0]
mov eax, ecx
movq xmm0, qword [0x41a698]
shr eax, 0x10
movzx edx, al
mov eax, ecx
push edi
mov dword [ebp - 0x134], ecx
shr eax, 8
mov dword [ebp - 0x24], ecx
movzx ecx, al
movzx eax, byte [ebp - 0x134]
push edx
push ecx
push eax
lea ecx, [ebp - 0x108]
movq qword [ebp - 0x168], xmm0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0x437f0000
call fcn.00408280
mov edx, dword [esi + 8]
lea ecx, [ebp - 0xf4]
movss xmm0, dword [ebp - 0x130]
lea edi, [ebp - 0x18]
movd xmm3, dword [esi + 0x18]
mov eax, edx
movd xmm2, dword [esi + 0x14]
shr eax, 0x1f
test al, al
unpcklps xmm0, xmm1
movd xmm1, dword [esi + 0x10]
lea eax, [ebp - 0x10c]
cmove ecx, edi
mov dword [ebp - 0x18], edx
cmp edx, 0xff
mov dword [ebp - 0x10c], 0xff
mov dword [ebp - 0xf4], 0
cmovle eax, ecx
mov word [ebp - 0x100], 0xc0c
sub esp, 0xc
mov byte [ebp - 0xfe], 0xc
mov ecx, esp
cvtdq2ps xmm3, xmm3
movzx eax, byte [eax]
mov byte [ebp - 0xfd], al
mov eax, dword [ebp - 0x100]
push ecx
movq qword [ecx], xmm0
movd xmm0, dword [esi + 0x1c]
cvtdq2ps xmm0, xmm0
mov dword [ecx + 8], eax
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
movss dword [esp], xmm0
call fcn.00407e90
mov edx, dword [esi + 8]
lea ecx, [ebp - 0xf4]
movss xmm0, dword [ebp - 0x130]
lea edi, [ebp - 0x18]
movss xmm5, dword [0x415c74]
mov eax, edx
shr eax, 0x1f
test al, al
mov dword [ebp - 0x18], edx
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0xff
cmove ecx, edi
mov dword [ebp - 0xf4], 0
cmp edx, 0xff
unpcklps xmm0, xmm5
mov word [ebp - 0x100], 0x505
cmovle eax, ecx
mov byte [ebp - 0xfe], 5
sub esp, 0xc
mov ecx, esp
movzx eax, byte [eax]
mov byte [ebp - 0xfd], al
mov eax, dword [ebp - 0x100]
movq qword [ecx], xmm0
movd xmm0, dword [esi + 0x1c]
mov dword [ecx + 8], eax
movd xmm3, dword [esi + 0x18]
movd xmm2, dword [esi + 0x14]
movd xmm1, dword [esi + 0x10]
cvtdq2ps xmm0, xmm0
push ecx
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
movss dword [esp], xmm0
call fcn.00407d50
mov eax, dword [esi + 0x1c]
lea ecx, [ebp - 0xf4]
mov edi, dword [esi + 0x14]
sub eax, 2
mov dword [ebp - 0x114], eax
inc edi
mov eax, dword [esi + 0x18]
mov esi, dword [esi + 0x10]
sub eax, 2
movss xmm1, dword [0x415c74]
inc esi
movss xmm0, dword [ebp - 0x130]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x110]
movd xmm3, dword [ebp - 0x20]
unpcklps xmm0, xmm1
movd xmm2, edi
mov edx, dword [eax + 8]
mov eax, edx
shr eax, 0x1f
test al, al
movd xmm1, esi
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], edx
cmove ecx, eax
mov dword [ebp - 0x10c], 0xff
cmp edx, 0xff
mov dword [ebp - 0xf4], 0
lea eax, [ebp - 0x10c]
mov word [ebp - 0x100], 0x3c3c
cmovle eax, ecx
mov byte [ebp - 0xfe], 0x3c
sub esp, 0xc
mov ecx, esp
cvtdq2ps xmm3, xmm3
movzx eax, byte [eax]
mov byte [ebp - 0xfd], al
mov eax, dword [ebp - 0x100]
push ecx
movq qword [ecx], xmm0
movd xmm0, dword [ebp - 0x114]
cvtdq2ps xmm0, xmm0
mov dword [ecx + 8], eax
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
movss dword [esp], xmm0
call fcn.00407d50
mov ecx, dword [ebp - 0x110]
mov word [ebp - 0x100], 0x2828
mov byte [ebp - 0xfe], 0x28
mov dword [ebp - 0xf4], 0xff
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 8]
sub eax, 4
mov edi, dword [ecx + 0x14]
mov esi, dword [ecx + 0x10]
add edi, 2
mov dword [ebp - 0x18], eax
add esi, 2
mov eax, dword [ecx + 0x18]
lea ecx, [ebp - 0x1c]
sub eax, 4
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x10c], eax
mov eax, edx
shr eax, 0x1f
test al, al
mov dword [ebp - 0x1c], 0
lea eax, [ebp - 0x20]
cmove ecx, eax
lea eax, [ebp - 0xf4]
movss xmm1, dword [0x415c74]
cmp edx, 0xff
movss xmm0, dword [ebp - 0x130]
movd xmm3, dword [ebp - 0x10c]
cmovle eax, ecx
sub esp, 0xc
unpcklps xmm0, xmm1
mov ecx, esp
movd xmm2, edi
movd xmm1, esi
movzx eax, byte [eax]
cvtdq2ps xmm3, xmm3
mov byte [ebp - 0xfd], al
mov eax, dword [ebp - 0x100]
push ecx
movq qword [ecx], xmm0
movd xmm0, dword [ebp - 0x18]
cvtdq2ps xmm0, xmm0
mov dword [ecx + 8], eax
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
movss dword [esp], xmm0
call fcn.00407d50
mov ecx, dword [ebp - 0x110]
movss xmm1, dword [0x415c74]
movss xmm0, dword [ebp - 0x130]
unpcklps xmm0, xmm1
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 8]
sub eax, 6
mov edi, dword [ecx + 0x14]
mov esi, dword [ecx + 0x10]
add edi, 3
mov dword [ebp - 0x18], eax
add esi, 3
mov eax, dword [ecx + 0x18]
lea ecx, [ebp - 0x1c]
sub eax, 6
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x10c], eax
mov eax, edx
movd xmm3, dword [ebp - 0x10c]
shr eax, 0x1f
test al, al
movd xmm2, edi
lea eax, [ebp - 0x20]
movd xmm1, esi
cmove ecx, eax
mov dword [ebp - 0xf4], 0xff
cmp edx, 0xff
mov dword [ebp - 0x1c], 0
lea eax, [ebp - 0xf4]
mov word [ebp - 0x100], 0x2828
cmovle eax, ecx
mov byte [ebp - 0xfe], 0x28
sub esp, 0xc
mov ecx, esp
cvtdq2ps xmm3, xmm3
movzx eax, byte [eax]
mov byte [ebp - 0xfd], al
mov eax, dword [ebp - 0x100]
push ecx
movq qword [ecx], xmm0
movd xmm0, dword [ebp - 0x18]
cvtdq2ps xmm0, xmm0
mov dword [ecx + 8], eax
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
movss dword [esp], xmm0
call fcn.00407d50
mov ecx, dword [ebp - 0x110]
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x14]
sub eax, 8
mov esi, dword [ecx + 0x10]
add edi, 4
mov dword [ebp - 0x18], eax
mov eax, dword [ecx + 0x18]
sub eax, 8
add esi, 4
mov dword [ebp - 0x10c], eax
mov edx, dword [ecx + 8]
mov eax, edx
movss xmm1, dword [0x415c74]
lea ecx, [ebp - 0x1c]
movss xmm0, dword [ebp - 0x130]
movd xmm3, dword [ebp - 0x10c]
shr eax, 0x1f
test al, al
unpcklps xmm0, xmm1
lea eax, [ebp - 0x20]
movd xmm2, edi
cmove ecx, eax
movd xmm1, esi
cmp edx, 0xff
mov dword [ebp - 0x20], edx
lea eax, [ebp - 0xf4]
mov dword [ebp - 0xf4], 0xff
cmovle eax, ecx
mov dword [ebp - 0x1c], 0
sub esp, 0xc
mov word [ebp - 0x100], 0x2828
mov ecx, esp
mov byte [ebp - 0xfe], 0x28
cvtdq2ps xmm3, xmm3
movzx eax, byte [eax]
mov byte [ebp - 0xfd], al
mov eax, dword [ebp - 0x100]
push ecx
movq qword [ecx], xmm0
movd xmm0, dword [ebp - 0x18]
cvtdq2ps xmm0, xmm0
mov dword [ecx + 8], eax
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
movss dword [esp], xmm0
call fcn.00407d50
mov ecx, dword [ebp - 0x110]
movss xmm1, dword [0x415c74]
movss xmm0, dword [ebp - 0x130]
unpcklps xmm0, xmm1
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 8]
sub eax, 0xa
mov edi, dword [ecx + 0x14]
mov esi, dword [ecx + 0x10]
add edi, 5
mov dword [ebp - 0x18], eax
add esi, 5
mov eax, dword [ecx + 0x18]
lea ecx, [ebp - 0x1c]
sub eax, 0xa
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x10c], eax
mov eax, edx
shr eax, 0x1f
movd xmm3, dword [ebp - 0x10c]
test al, al
lea eax, [ebp - 0x20]
mov dword [ebp - 0xf4], 0xff
cmove ecx, eax
mov dword [ebp - 0x1c], 0
cmp edx, 0xff
mov word [ebp - 0x100], 0x3c3c
lea eax, [ebp - 0xf4]
mov byte [ebp - 0xfe], 0x3c
cmovle eax, ecx
movd xmm2, edi
sub esp, 0xc
movd xmm1, esi
mov ecx, esp
cvtdq2ps xmm3, xmm3
movzx eax, byte [eax]
mov byte [ebp - 0xfd], al
mov eax, dword [ebp - 0x100]
push ecx
movq qword [ecx], xmm0
movd xmm0, dword [ebp - 0x18]
cvtdq2ps xmm0, xmm0
mov dword [ecx + 8], eax
cvtdq2ps xmm2, xmm2
movss dword [esp], xmm0
cvtdq2ps xmm1, xmm1
call fcn.00407d50
mov ecx, dword [ebp - 0x110]
mov eax, dword [ecx + 0x24]
cmp eax, dword [ecx + 0x28]
je 0x40c097
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 8]
mov esi, dword [ecx + 0x1c]
mov dword [ebp - 0x118], eax
add esi, 0xffffffd8
add eax, 0x14
movss xmm0, dword [ebp - 0x130]
movss xmm5, dword [0x415c74]
mov dword [ebp - 0x10c], eax
mov eax, dword [ecx + 0x14]
lea ecx, [ebp - 0x1c]
movd xmm1, dword [ebp - 0x10c]
mov dword [ebp - 0x114], eax
movd xmm3, esi
lea edi, [eax + 0x14]
mov dword [ebp - 0x20], edx
mov eax, edx
mov dword [ebp - 0x18], edi
movd xmm2, dword [ebp - 0x18]
shr eax, 0x1f
test al, al
mov dword [ebp - 0xf4], 0xff
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 0
cmove ecx, eax
unpcklps xmm0, xmm5
cmp edx, 0xff
mov word [ebp - 0x100], 0x1111
lea eax, [ebp - 0xf4]
mov byte [ebp - 0xfe], 0x11
cmovle eax, ecx
sub esp, 0xc
mov ecx, esp
cvtdq2ps xmm3, xmm3
movzx eax, byte [eax]
mov byte [ebp - 0xfd], al
mov eax, dword [ebp - 0x100]
cvtdq2ps xmm2, xmm2
push ecx
cvtdq2ps xmm1, xmm1
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
movss dword [esp], xmm3
movss xmm3, dword [0x415c70]
call fcn.00407e90
mov eax, dword [ebp - 0x110]
lea ecx, [ebp - 0x1c]
movss xmm1, dword [0x415c74]
movss xmm0, dword [ebp - 0x130]
movd xmm2, dword [ebp - 0x18]
mov edx, dword [eax + 8]
mov eax, edx
shr eax, 0x1f
movss xmm3, dword [0x415c70]
test al, al
lea eax, [ebp - 0x20]
unpcklps xmm0, xmm1
movd xmm1, dword [ebp - 0x10c]
cmove ecx, eax
cmp edx, 0xff
mov dword [ebp - 0x20], edx
lea eax, [ebp - 0xf4]
mov dword [ebp - 0xf4], 0xff
cmovle eax, ecx
mov dword [ebp - 0x1c], 0
sub esp, 0xc
mov word [ebp - 0x100], 0
mov ecx, esp
mov byte [ebp - 0xfe], 0
cvtdq2ps xmm2, xmm2
movzx eax, byte [eax]
mov byte [ebp - 0xfd], al
mov eax, dword [ebp - 0x100]
push ecx
movq qword [ecx], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [ecx + 8], eax
cvtdq2ps xmm1, xmm1
movss dword [esp], xmm0
call fcn.00407d50
mov eax, dword [ebp - 0x110]
lea ecx, [ebp - 0x1c]
movss xmm1, dword [0x415c74]
movss xmm0, dword [ebp - 0x130]
movss xmm3, dword [0x415c6c]
mov edx, dword [eax + 8]
mov eax, edx
shr eax, 0x1f
test al, al
mov dword [ebp - 0x20], edx
lea eax, [ebp - 0x20]
unpcklps xmm0, xmm1
cmove ecx, eax
mov dword [ebp - 0xf4], 0xff
cmp edx, 0xff
mov dword [ebp - 0x1c], 0
lea eax, [ebp - 0xf4]
mov word [ebp - 0x100], 0x3030
cmovle eax, ecx
mov byte [ebp - 0xfe], 0x30
lea edx, [esi - 2]
sub esp, 0xc
mov esi, dword [ebp - 0x10c]
mov ecx, esp
inc edi
inc esi
movzx eax, byte [eax]
mov byte [ebp - 0xfd], al
mov eax, dword [ebp - 0x100]
movq qword [ecx], xmm0
movd xmm0, edx
movd xmm2, edi
movd xmm1, esi
cvtdq2ps xmm0, xmm0
push ecx
mov dword [ecx + 8], eax
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
movss dword [esp], xmm0
call fcn.00407d50
mov esi, dword [ebp - 0x110]
xor edi, edi
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x24]
sub eax, ecx
sar eax, 2
test eax, eax
je 0x40bb66
mov eax, dword [ebp - 0x114]
add eax, 0x19
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], 0x437f0000
mov dword [ebp - 0x30], 0xff050505
mov dword [ebp - 0x18], eax
mov eax, dword [0x41bc90]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x114], eax
mov eax, dword [ecx + edi*4]
mov dword [ebp - 0x10c], eax
cmp eax, dword [esi + 0x30]
jne 0x40ba7f
mov eax, dword [ebp - 0x24]
movq xmm0, qword [ebp - 0x168]
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x13c]
movq qword [ebp - 0x13c], xmm0
jmp 0x40baed
mov edx, dword [esi + 8]
lea ecx, [ebp - 0x1c]
mov esi, dword [ebp - 0x110]
mov eax, edx
shr eax, 0x1f
test al, al
mov dword [ebp - 0x20], edx
lea eax, [ebp - 0x20]
mov dword [ebp - 0xf4], 0xff
cmove ecx, eax
mov dword [ebp - 0x1c], 0
cmp edx, 0xff
mov dword [ebp - 0x108], 0
lea eax, [ebp - 0xf4]
mov dword [ebp - 0x104], 0x437f0000
cmovle eax, ecx
mov word [ebp - 0x100], 0x9898
mov byte [ebp - 0xfe], 0x98
mov al, byte [eax]
mov byte [ebp - 0xfd], al
lea eax, [ebp - 0x108]
sub esp, 0x18
mov dword [ebp - 0xf4], eax
mov ecx, esp
push dword [ebp - 0x10c]
call fcn.00406570
movq xmm0, qword [ebp - 0x38]
sub esp, 0xc
mov ecx, dword [ebp - 0x30]
mov eax, esp
mov edx, dword [ebp - 0x18]
push 1
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xf4]
push 0
push dword [ebp - 0x114]
movq xmm0, qword [eax]
sub esp, 0xc
mov eax, dword [eax + 8]
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x118]
lea ecx, [ecx + 0x1e]
call fcn.00408040
mov eax, dword [esi + 0x28]
inc edi
mov ecx, dword [esi + 0x24]
add esp, 0x3c
add dword [ebp - 0x18], 0x10
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x40ba42
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 0x18]
cmp eax, dword [ecx + 0x1c]
je 0x40c097
mov eax, dword [esi + 0x14]
lea ecx, [ebp - 0x118]
mov edx, dword [esi + 8]
add eax, 0x14
mov edi, dword [esi + 0x10]
mov dword [ebp - 0x114], eax
add edi, 0x8c
mov eax, dword [esi + 0x18]
add eax, 0xffffff60
movd xmm2, dword [ebp - 0x114]
movss xmm0, dword [ebp - 0x130]
movss xmm5, dword [0x415c74]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x1c]
movd xmm3, dword [ebp - 0x18]
add eax, 0xffffffd8
mov dword [ebp - 0x10c], eax
mov eax, edx
movd xmm4, dword [ebp - 0x10c]
shr eax, 0x1f
test al, al
movd xmm1, edi
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], edx
cmove ecx, eax
mov dword [ebp - 0x1c], 0xff
cmp edx, 0xff
mov dword [ebp - 0x118], 0
lea eax, [ebp - 0x1c]
unpcklps xmm0, xmm5
cmovle eax, ecx
mov word [ebp - 0x100], 0x1111
sub esp, 0xc
mov byte [ebp - 0xfe], 0x11
mov ecx, esp
mov dword [ebp - 0xf4], edi
cvtdq2ps xmm4, xmm4
movzx eax, byte [eax]
mov byte [ebp - 0xfd], al
mov eax, dword [ebp - 0x100]
push ecx
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
movss dword [esp], xmm4
call fcn.00407e90
mov esi, dword [ebp - 0x110]
lea ecx, [ebp - 0x118]
movss xmm0, dword [ebp - 0x130]
movss xmm1, dword [0x415c74]
movd xmm3, dword [ebp - 0x18]
mov edx, dword [esi + 8]
mov eax, edx
shr eax, 0x1f
test al, al
movd xmm2, dword [ebp - 0x114]
lea eax, [ebp - 0x24]
unpcklps xmm0, xmm1
cmove ecx, eax
mov dword [ebp - 0x24], edx
cmp edx, 0xff
mov dword [ebp - 0x1c], 0xff
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x118], 0
cmovle eax, ecx
mov word [ebp - 0x100], 0
sub esp, 0xc
mov byte [ebp - 0xfe], 0
mov ecx, esp
cvtdq2ps xmm3, xmm3
movzx eax, byte [eax]
mov byte [ebp - 0xfd], al
mov eax, dword [ebp - 0x100]
push ecx
movq qword [ecx], xmm0
movd xmm0, dword [ebp - 0x10c]
cvtdq2ps xmm0, xmm0
mov dword [ecx + 8], eax
movss dword [esp], xmm0
movd xmm1, dword [ebp - 0xf4]
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
call fcn.00407d50
mov edx, dword [esi + 8]
lea ecx, [ebp - 0x118]
movss xmm1, dword [0x415c74]
lea esi, [ebp - 0x24]
movss xmm0, dword [ebp - 0x130]
mov eax, edx
mov edi, dword [ebp - 0x114]
shr eax, 0x1f
test al, al
mov dword [ebp - 0x24], edx
lea eax, [ebp - 0x1c]
unpcklps xmm0, xmm1
cmove ecx, esi
mov dword [ebp - 0x1c], 0xff
mov esi, dword [ebp - 0x10c]
cmp edx, 0xff
mov edx, dword [ebp - 0xf4]
cmovle eax, ecx
mov dword [ebp - 0x118], 0
sub esp, 0xc
mov word [ebp - 0x100], 0x3030
mov ecx, esp
mov byte [ebp - 0xfe], 0x30
add esi, 0xfffffffe
inc edx
movzx eax, byte [eax]
inc edi
mov byte [ebp - 0xfd], al
mov eax, dword [ebp - 0x100]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x18]
add eax, 0xfffffffe
movd xmm0, esi
movd xmm2, edi
movd xmm1, edx
cvtdq2ps xmm0, xmm0
push ecx
movd xmm3, eax
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
movss dword [esp], xmm0
call fcn.00407d50
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
push str.Nov_27_2023
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 0
movups xmmword [ebp - 0x40], xmm0
call fcn.00406a80
mov dword [ebp - 4], 0
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0xf
push 0x98
cmova eax, dword [ebp - 0x40]
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0xf0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 8
lea ecx, [ebp - 0xf0]
call fcn.0040c760
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 1
mov dword [ebp - 0x15c], eax
mov ecx, 2
mov dword [ebp - 0x158], 2
lea eax, [ebp - 0x14c]
mov dword [eax - 8], 0
lea eax, [eax + 0xc]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
sub ecx, 1
jne 0x40be33
push dword [ebp - 0x158]
lea eax, [ebp - 0x118]
mov dword [ebp - 0x150], 0x40cb70
push dword [ebp - 0x15c]
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x14c], fcn.0040cb90
mov dword [ebp - 0x148], str.user
mov dword [ebp - 0x144], 0x40cbe0
mov dword [ebp - 0x140], fcn.0040cb90
call fcn.0040ad10
add esp, 8
lea eax, [ebp - 0x58]
lea ecx, [ebp - 0xec]
push eax
call fcn.0040c8a0
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xf0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xf4], eax
lea ecx, [ebp - 0xec]
call fcn.0040c6b0
lea ecx, [ebp - 0xe8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0xa0]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov byte [ebp - 4], 2
sub esp, 0x18
mov eax, dword [0x41bc90]
mov ecx, esp
mov dword [ebp - 0x100], 0xff050505
mov esi, dword [eax + 0x1c]
lea eax, [ebp - 0x58]
push eax
call fcn.00406570
movaps xmm0, xmmword [ebp - 0x130]
sub esp, 0xc
movss xmm1, dword [0x415c74]
mov ecx, esp
mov edi, dword [ebp - 0x110]
mov eax, dword [ebp - 0x100]
push 1
push 0
mov edx, dword [edi + 8]
unpcklps xmm0, xmm1
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x24]
push esi
sub esp, 0xc
mov dword [ebp - 0x1c], edx
test edx, edx
mov dword [ebp - 0x20], 0xff
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x24], 0
cmovns ecx, eax
mov esi, esp
cmp edx, 0xff
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x10c]
cmovle eax, ecx
mov ecx, dword [ebp - 0x18]
mov dword [esi], 0
mov dword [esi + 4], 0x437f0000
mov word [esi + 8], 0xcdcd
mov al, byte [eax]
mov byte [esi + 0xb], al
mov eax, dword [ebp - 0x114]
add eax, 0xfffffff0
mov byte [esi + 0xa], 0xcd
add edx, eax
mov eax, dword [ebp - 0xf4]
add eax, 0xffffffa6
add ecx, eax
call fcn.00408040
mov eax, dword [edi + 0x30]
add esp, 0x3c
mov ecx, dword [eax + 0x1c]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x110], ecx
cmp esi, ecx
je 0x40c00e
mov eax, ecx
nop dword [eax]
mov ecx, dword [esi]
test ecx, ecx
je 0x40c007
mov eax, dword [edi + 0x34]
test eax, eax
je 0x40bff1
cmp ecx, eax
je 0x40c001
cmp byte [ecx + 0x68], 0
je 0x40c001
test byte [ecx + 0x50], 1
je 0x40c001
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [ebp - 0x110]
add esi, 4
cmp esi, eax
jne 0x40bfe0
mov ecx, dword [edi + 0x34]
test ecx, ecx
je 0x40c01f
cmp byte [ecx + 0x68], 0
je 0x40c01f
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x44]
cmp ecx, 0xf
jbe 0x40c04f
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c045
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c087
push ecx
push edx
call fcn.00412103
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
cmp ecx, 0xf
jbe 0x40c097
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c08d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40c08d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00412103
add esp, 8
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.00411d5d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret