Function at 0x1401452e0
Capabilities:
Create process on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4c8]
sub rsp, 0x5a0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm9
mov rax, qword [0x1402d4040]
xor rax, rsp
mov qword [rbp + 0x460], rax
mov rdi, rcx
mov r14, qword [0x1402dc618]
mov qword [rsp + 0x50], r14
movss xmm6, dword [r14 + 0x3a3c]
lea rcx, [r14 + 0x4bb8]
movss xmm0, dword [r14 + 0x3a40]
mov dword [rsp + 0x60], recv
movss dword [rsp + 0x64], xmm6
movss dword [rsp + 0x68], xmm0
lea rdx, [rsp + 0x60]
call fcn.140046080
movss dword [r14 + 0x3a3c], xmm6
mov dword [r14 + 0x3a40], 0x40400000
call fcn.1400ae020
xor esi, esi
xorps xmm9, xmm9
test al, al
je 0x1401460bf
mov r8b, 1
xor edx, edx
lea rcx, str.File
call fcn.1400ae8b0
movss xmm7, dword [0x1402a5df4]
test al, al
je 0x140145605
mov byte [rsp + 0x20], 1
xor r9d, r9d
lea r8, str.CtrlN
lea rcx, [0x140275e14]
call fcn.1400af600
test al, al
je 0x1401453d6
call fcn.140144d70
mov byte [rsp + 0x20], 1
xor r9d, r9d
lea r8, str.CtrlO
lea rcx, str.Open
call fcn.1400af600
test al, al
je 0x1401453fd
mov rcx, rdi
call fcn.140144ee0
cmp qword [0x1402dca70], rsi
setne al
mov byte [rsp + 0x20], al
xor r9d, r9d
lea r8, str.CtrlS
lea rcx, str.Save
call fcn.1400af600
test al, al
je 0x140145444
lea rdx, [0x1402dca60]
cmp qword [0x1402dca78], 0xf
cmova rdx, qword [0x1402dca60]
mov rcx, rdi
call fcn.140144f40
mov byte [rsp + 0x20], 1
xor r9d, r9d
lea r8, str.CtrlShiftS
lea rcx, str.Save_As
call fcn.1400af600
test al, al
je 0x14014546d
xor edx, edx
mov rcx, rdi
call fcn.140144f40
mov rax, qword [rdi + 0xc8]
cmp qword [rdi + 0xc0], rax
je 0x140145517
mov r8b, 1
xor edx, edx
lea rcx, str.Recent_Files
call fcn.1400ae8b0
test al, al
je 0x140145517
mov rbx, qword [rdi + 0xc0]
mov rsi, qword [rdi + 0xc8]
cmp rbx, rsi
je 0x140145510
nop dword [rax]
cmp qword [rbx + 0x10], 0
je 0x1401454d8
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1401454c4
mov rcx, qword [rbx]
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
call fcn.1400af600
test al, al
jne 0x1401454e3
add rbx, 0x20
cmp rbx, rsi
jne 0x1401454b0
jmp 0x140145510
mov rdx, rbx
lea rcx, [rbp - 0x70]
call fcn.140004b20
nop
lea rdx, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova rdx, qword [rbp - 0x70]
mov rcx, rdi
call fcn.1401445e0
nop
lea rcx, [rbp - 0x70]
call fcn.1400050e0
call fcn.1400af550
xor esi, esi
mov rax, qword [0x1402dc618]
mov rdx, qword [rax + 0x4148]
cmp byte [rdx + 0xf8], 0
jne 0x140145559
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x140145551
neg r8d
sbb ecx, ecx
add ecx, 6
movaps xmm1, xmm7
call fcn.140098f90
mov byte [rsp + 0x20], 1
xor r9d, r9d
lea r8, str.CtrlB
lea rcx, [0x140281788]
call fcn.1400af600
test al, al
je 0x140145580
mov rcx, rdi
call fcn.140144c60
mov rax, qword [0x1402dc618]
mov rdx, qword [rax + 0x4148]
cmp byte [rdx + 0xf8], 0
jne 0x1401455c2
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x1401455ba
neg r8d
sbb ecx, ecx
add ecx, 6
movaps xmm1, xmm7
call fcn.140098f90
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
lea rcx, str.Exit
call fcn.1400af600
test al, al
je 0x140145600
cmp byte [0x1402dc612], 0
je 0x1401455f6
lea rcx, str.You_have_unsaved_changes__are_you_sure_you_want_to_exit_
call fcn.1400db140
test al, al
je 0x140145600
mov rcx, qword [rdi + 0x48]
mov rax, qword [rcx]
call qword [rax + 0x20]
call fcn.1400af550
mov r8b, 1
xor edx, edx
lea rcx, str.View
call fcn.1400ae8b0
test al, al
je 0x140145947
mov byte [rsp + 0x20], 1
movzx r9d, byte [reloc.WS2_32.dll_accept]
lea r8, [0x140262727]
lea rcx, str.Reset_Layout
call fcn.1400af600
test al, al
je 0x14014570c
cmp byte [reloc.WS2_32.dll_accept], 0
sete byte [0x1402d8754]
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
mov dword [rbp - 0x50], 0x1010101
mov byte [rbp - 0x48], 1
mov qword [rbp - 0x40], rsi
mov byte [rbp - 0x38], 1
mov qword [rbp - 0x30], rsi
mov byte [rbp - 0x28], 1
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x18], 1
mov qword [rbp - 0x10], rsi
mov byte [rbp - 8], 1
mov qword [rbp], rsi
mov byte [rbp + 8], 1
mov qword [rbp + 0x10], rsi
mov byte [rbp + 0x18], 1
mov qword [rbp + 0x20], rsi
movups xmm0, xmmword [rbp - 0x50]
movaps xmmword [0x1402d8760], xmm0
movups xmm1, xmmword [rbp - 0x40]
movaps xmmword [0x1402d8770], xmm1
movups xmm0, xmmword [rbp - 0x30]
movaps xmmword [0x1402d8780], xmm0
movups xmm1, xmmword [rbp - 0x20]
movaps xmmword [0x1402d8790], xmm1
movups xmm0, xmmword [rbp - 0x10]
movaps xmmword [0x1402d87a0], xmm0
movups xmm1, xmmword [rbp]
movaps xmmword [0x1402d87b0], xmm1
movups xmm0, xmmword [rbp + 0x10]
movaps xmmword [0x1402d87c0], xmm0
movsd xmm1, qword [rbp + 0x20]
movsd qword [0x1402d87d0], xmm1
mov rax, qword [0x1402dc618]
mov rdx, qword [rax + 0x4148]
cmp byte [rdx + 0xf8], 0
jne 0x14014574e
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x140145746
neg r8d
sbb ecx, ecx
add ecx, 6
movaps xmm1, xmm7
call fcn.140098f90
mov byte [rsp + 0x20], 1
movzx r9d, byte [reloc.WS2_32.dll_accept]
lea r8, [0x140262727]
lea rcx, str.Graph_Properties
call fcn.1400af600
test al, al
je 0x140145780
cmp byte [reloc.WS2_32.dll_accept], 0
sete byte [0x1402d8761]
mov byte [rsp + 0x20], 1
movzx r9d, byte [reloc.WS2_32.dll_accept]
lea r8, [0x140262727]
lea rcx, str.Nodes
call fcn.1400af600
test al, al
je 0x1401457b2
cmp byte [reloc.WS2_32.dll_accept], 0
sete byte [0x1402d8760]
mov byte [rsp + 0x20], 1
movzx r9d, byte [reloc.WS2_32.dll_accept]
lea r8, [0x140262727]
lea rcx, str.Build_Log
call fcn.1400af600
test al, al
je 0x1401457e4
cmp byte [reloc.WS2_32.dll_accept], 0
sete byte [0x1402d8763]
mov byte [rsp + 0x20], 1
movzx r9d, byte [reloc.WS2_32.dll_accept]
lea r8, [0x140262727]
lea rcx, str.Variables
call fcn.1400af600
test al, al
je 0x140145816
cmp byte [reloc.WS2_32.dll_accept], 0
sete byte [0x1402d8768]
mov byte [rsp + 0x20], 1
movzx r9d, byte [reloc.WS2_32.dll_accept]
lea r8, [0x140262727]
lea rcx, str.Shaders
call fcn.1400af600
test al, al
je 0x140145848
cmp byte [reloc.WS2_32.dll_accept], 0
sete byte [0x1402d8778]
mov byte [rsp + 0x20], 1
movzx r9d, byte [reloc.WS2_32.dll_accept]
lea r8, [0x140262727]
lea rcx, str.Structs
call fcn.1400af600
test al, al
je 0x14014587a
cmp byte [reloc.WS2_32.dll_accept], 0
sete byte [0x1402d8788]
mov byte [rsp + 0x20], 1
movzx r9d, byte [reloc.WS2_32.dll_accept]
lea r8, [0x140262727]
lea rcx, str.FileCopies
call fcn.1400af600
test al, al
je 0x1401458ac
cmp byte [reloc.WS2_32.dll_accept], 0
sete byte [0x1402d8798]
mov byte [rsp + 0x20], 1
movzx r9d, byte [reloc.WS2_32.dll_accept]
lea r8, [0x140262727]
lea rcx, str.Enums
call fcn.1400af600
test al, al
je 0x1401458de
cmp byte [reloc.WS2_32.dll_accept], 0
sete byte [0x1402d87a8]
mov byte [rsp + 0x20], 1
movzx r9d, byte [reloc.WS2_32.dll_accept]
lea r8, [0x140262727]
lea rcx, str.SetVariables
call fcn.1400af600
test al, al
je 0x140145910
cmp byte [reloc.WS2_32.dll_accept], 0
sete byte [0x1402d87b8]
mov byte [rsp + 0x20], 1
movzx r9d, byte [reloc.WS2_32.dll_accept]
lea r8, [0x140262727]
lea rcx, str.RTHitGroups
call fcn.1400af600
test al, al
je 0x140145942
cmp byte [reloc.WS2_32.dll_accept], 0
sete byte [0x1402d87c8]
call fcn.1400af550
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x48], xmm1
mov qword [rbp + 0x58], rsi
movdqu xmmword [rbp + 0x30], xmm1
mov qword [rbp + 0x40], rsi
lea rax, [0x140281848]
mov qword [rsp + 0x60], rax
lea r8, [rsp + 0x60]
xor edx, edx
lea rcx, [rbp + 0x48]
call fcn.1400d1a20
mov dword [rsp + 0x60], esi
lea r8, [rsp + 0x60]
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.1401778e0
lea rcx, [0x140281854]
call fcn.1400946b0
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
mov r8d, 6
lea rdx, str.Build
lea rcx, [rbp - 0x70]
call fcn.140007c30
nop
mov r12, qword [rbp + 0x50]
mov rcx, r12
mov r15, qword [rbp + 0x48]
sub rcx, r15
sar rcx, 3
movsxd rax, dword [0x1402dc64c]
cmp rax, rcx
jae 0x140145a2d
mov r8d, 1
lea rdx, [0x140281864]
lea rcx, [rbp - 0x70]
call fcn.140005140
movsxd rax, dword [0x1402dc64c]
mov rdx, qword [r15 + rax*8]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x140145a04
lea rcx, [rbp - 0x70]
call fcn.140005140
mov r8d, 2
lea rdx, [0x140281868]
lea rcx, [rbp - 0x70]
call fcn.140005140
mov rbx, qword [0x1402dc618]
lea rcx, [rbx + 0x4bb8]
movss xmm1, dword [rbx + 0x3a4c]
movss xmm0, dword [rbx + 0x3a50]
mov dword [rsp + 0x60], recv
movss dword [rsp + 0x64], xmm1
movss dword [rsp + 0x68], xmm0
lea rdx, [rsp + 0x60]
call fcn.140046080
mov qword [rbx + 0x3a4c], 0
movss xmm0, dword [r14 + 0x3a3c]
movss dword [rsp + 0x60], xmm0
mov dword [rsp + 0x64], 0
lea rdx, [rsp + 0x60]
mov ecx, 0xb
call fcn.1400123a0
mov qword [rsp + 0x60], 0
lea rcx, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova rcx, qword [rbp - 0x70]
xor r8d, r8d
lea rdx, [rsp + 0x60]
call fcn.1400958e0
test al, al
je 0x140145aca
mov rcx, rdi
call fcn.140144c60
mov rax, qword [0x1402dc618]
movss xmm1, dword [rax + 0x3a40]
addss xmm1, xmm1
addss xmm1, dword [rax + 0x3e80]
xor r9d, r9d
movaps xmm0, xmm1
unpcklps xmm0, xmm1
movq r8, xmm0
lea edx, [r9 + 3]
lea rcx, str.ChooseBackend
call fcn.140095e10
test al, al
je 0x140145b80
mov rsi, qword [0x1402dc618]
mov rbx, qword [rsi + 0x4148]
movsxd r8, dword [rbx + 0x130]
mov rax, qword [rbx + 0x138]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, str.PopupBuildBackend
call fcn.140010110
mov edi, eax
mov rcx, qword [rbx]
cmp dword [rcx + 0x4194], eax
jne 0x140145b56
lea r8, str.PopupBuildBackend
mov edx, 0xb
mov ecx, eax
call fcn.1400448a0
test byte [rsi + 0x621c], 4
je 0x140145b75
mov r8d, edi
lea rdx, str.PopupBuildBackend
lea rcx, str._popup__OpenPopup___s_____0x_08X__n
call fcn.1400439d0
xor edx, edx
mov ecx, edi
call fcn.140026920
xor esi, esi
mov ecx, 2
call fcn.140012430
lea rcx, str.PopupBuildBackend
call fcn.1400272f0
mov r13, qword [rbp + 0x30]
test al, al
je 0x140145c14
mov rbx, rsi
mov rax, r12
sub rax, r15
sar rax, 3
test rax, rax
je 0x140145c0e
sub r12, r15
sar r12, 3
mov rsi, r13
nop word [rax + rax]
movsxd r14, dword [0x1402dc64c]
cmp r14, rbx
sete dil
mov byte [rsp + 0x20], 1
movzx r9d, dil
xor r8d, r8d
mov rcx, qword [r15 + rbx*8]
call fcn.1400af600
test al, al
je 0x140145bee
cmp r14, rbx
setne dil
test dil, dil
je 0x140145bfb
mov eax, dword [rsi]
mov dword [0x1402dc64c], eax
inc rbx
add rsi, 4
cmp rbx, r12
jb 0x140145bc0
mov r14, qword [rsp + 0x50]
xor esi, esi
call fcn.140027280
nop
lea rcx, [rbp - 0x70]
call fcn.1400050e0
nop
test r13, r13
je 0x140145c67
mov rax, qword [rbp + 0x40]
sub rax, r13
sar rax, 2
lea rdx, [rax*4]
mov rax, r13
cmp rdx, 0x1000
jb 0x140145c5e
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140145c5e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r13
call fcn.140244f5c
nop
test r15, r15
je 0x140145caf
mov rax, qword [rbp + 0x58]
sub rax, r15
sar rax, 3
lea rdx, [rax*8]
mov rax, r15
cmp rdx, 0x1000
jb 0x140145ca7
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140145ca7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r15
call fcn.140244f5c
mov rcx, qword [0x1402dc630]
test rcx, rcx
je 0x140145cdb
lea rdx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x140145cd4
cmp dword [rsp + 0x60], 0x103
je 0x140145cdb
mov qword [0x1402dc630], rsi
movaps xmm1, xmm7
mov ecx, 2
call fcn.140098f90
cmp qword [0x1402dc630], 0
setne bl
movss xmm0, dword [r14 + 0x3a3c]
movss dword [rsp + 0x60], xmm0
mov dword [rsp + 0x64], 0
lea rdx, [rsp + 0x60]
mov ecx, 0xb
call fcn.1400123a0
mov qword [rsp + 0x60], 0
lea rax, str.Close_Viewer
lea rcx, str.Open_Viewer
test bl, bl
cmovne rcx, rax
xor r8d, r8d
lea rdx, [rsp + 0x60]
call fcn.1400958e0
test al, al
je 0x140145e03
lea rcx, [rbp + 0x60]
cmp qword [0x1402dca70], 0
jne 0x140145d75
mov r8d, esi
cmp byte [0x1402dc614], 0
setne r8b
lea rdx, str.GigiViewerDX12.exe__paused__i
call fcn.140157c40
jmp 0x140145da6
mov r9d, esi
cmp byte [0x1402dc614], 0
setne r9b
cmp qword [0x1402dca78], 0xf
lea r8, [0x1402dca60]
cmova r8, qword [0x1402dca60]
lea rdx, str.GigiViewerDX12.exe__load___s___paused__i
call fcn.140157c40
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x4c], xmm0
movups xmmword [rbp - 0x3c], xmm0
movups xmmword [rbp - 0x2c], xmm0
movups xmmword [rbp - 0x1c], xmm0
movups xmmword [rbp - 0xc], xmm0
movups xmmword [rbp + 4], xmm0
mov dword [rbp + 0x14], eax
mov dword [rbp - 0x50], 0x68
lea rax, [rbp + 0x30]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x60]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
mov ecx, 1
call fcn.140012430
lea rdx, [0x1402dc614]
lea rcx, str.Paused
call fcn.1400979f0
movaps xmm1, xmm7
mov ecx, 2
call fcn.140098f90
movss xmm6, dword [r14 + 0x3a3c]
mov rbx, qword [0x1402dc618]
lea rcx, [rbx + 0x4bb8]
movss xmm1, dword [rbx + 0x3a3c]
movss xmm0, dword [rbx + 0x3a40]
mov dword [rsp + 0x50], recv
movss dword [rsp + 0x54], xmm1
movss dword [rsp + 0x58], xmm0
lea rdx, [rsp + 0x50]
call fcn.140046080
movss dword [rbx + 0x3a3c], xmm6
mov dword [rbx + 0x3a40], esi
mov qword [rsp + 0x60], 0
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, str.Open_Editor
call fcn.1400958e0
test al, al
je 0x140145f01
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x4c], xmm0
movups xmmword [rbp - 0x3c], xmm0
movups xmmword [rbp - 0x2c], xmm0
movups xmmword [rbp - 0x1c], xmm0
movups xmmword [rbp - 0xc], xmm0
movups xmmword [rbp + 4], xmm0
mov dword [rbp + 0x14], eax
mov dword [rbp - 0x50], 0x68
lea rax, [rbp + 0x30]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
lea rdx, str.GigiEdit.exe
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
mov ecx, 1
call fcn.140012430
movaps xmm1, xmm7
mov ecx, 2
call fcn.140098f90
movss xmm1, dword [r14 + 0x18]
movss dword [rsp + 0x60], xmm1
movss dword [0x1402d8710], xmm1
movaps xmm6, xmm1
addss xmm6, dword [0x1402d8728]
movss dword [0x1402d8728], xmm6
movss xmm0, dword [0x1402d872c]
lea rcx, [0x1402d872c]
lea rax, [rsp + 0x60]
comiss xmm0, xmm1
cmovbe rax, rcx
movss xmm2, dword [rax]
movss dword [0x1402d872c], xmm2
lea rcx, [0x1402d8730]
lea rax, [rsp + 0x60]
comiss xmm1, dword [0x1402d8730]
cmovbe rax, rcx
movss xmm3, dword [rax]
movss dword [0x1402d8730], xmm3
addss xmm1, dword [0x1402d8738]
movss dword [0x1402d8738], xmm1
mov eax, dword [0x1402d8734]
inc eax
mov dword [0x1402d8734], eax
cmp eax, dword [0x1402d8714]
jge 0x140145fc6
comiss xmm1, dword [0x1402d8718]
jb 0x140145fbc
test eax, eax
jg 0x140145fc6
movss xmm6, dword [0x1402d871c]
jmp 0x140146017
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm6, xmm0
movss dword [0x1402d871c], xmm6
movss dword [0x1402d8720], xmm2
movss dword [0x1402d8724], xmm3
mov dword [0x1402d8734], esi
mov dword [0x1402d8728], 0
mov dword [0x1402d872c], 0x7f7fffff
mov dword [0x1402d8730], 0xff7fffff
mov dword [0x1402d8738], 0
ucomiss xmm6, dword [0x1402a5fd8]
jp 0x140146026
je 0x1401460ba
mov edx, 0xff00ff00
xor ecx, ecx
call fcn.140012160
movss xmm0, dword [0x1402d8724]
mulss xmm0, dword [0x1402a5fb0]
cvtps2pd xmm3, xmm0
movss xmm0, dword [0x1402d8720]
mulss xmm0, dword [0x1402a5fb0]
cvtps2pd xmm2, xmm0
divss xmm7, xmm6
xorps xmm1, xmm1
cvtss2sd xmm1, xmm7
movq r9, xmm3
movq r8, xmm2
movq rdx, xmm1
lea rcx, str.FPS:__.2f___.2g_..__.2g_ms_
call fcn.1400946b0
mov r9, qword [0x1402dc618]
movsxd rax, dword [r9 + 0x4ba8]
cmp eax, 1
jl 0x1401460ba
lea r8, [rax + rax*4]
mov rdx, qword [r9 + 0x4bb0]
movsxd rax, dword [rdx + r8*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rdx + r8*4 - 0x10]
movups xmmword [r9 + rax*8 + 0x3ae8], xmm0
dec dword [r9 + 0x4ba8]
call fcn.1400ae2e0
mov ecx, 1
call fcn.140012430
cmp byte [0x1402de68d], 0
je 0x140146118
mov rax, qword [0x1402dc618]
or dword [rax + 0x4b08], 1
mov dword [rax + 0x4b1c], 0x44228000
mov qword [rax + 0x4b20], 0x41a00000
mov dword [rax + 0x4b28], esi
mov dword [rax + 0x4b0c], 4
mov byte [rax + 0x4b48], 1
lea rcx, [0x1402de68d]
call fcn.140047650
cmp byte [0x1402dd57a], 0
je 0x1401467a3
mov rax, qword [0x1402dc618]
mov dword [rax + 0x4b1c], 0x44228000
mov qword [rax + 0x4b20], 0x41a00000
mov dword [rax + 0x4b28], esi
mov dword [rax + 0x4b0c], 4
mov byte [rax + 0x4b48], 1
movaps xmm0, xmmword [0x1402a6480]
movups xmmword [rax + 0x4b4c], xmm0
mov qword [rax + 0x4b60], rsi
mov qword [rax + 0x4b68], rsi
or dword [rax + 0x4b08], 0x13
mov dword [rax + 0x4b2c], 0x44098000
mov dword [rax + 0x4b30], 0x442a0000
mov dword [rax + 0x4b10], 4
xor r8d, r8d
lea rdx, [0x1402dd57a]
lea rcx, str.Struct_Parser_Test
call fcn.14001e020
test al, al
je 0x1401467a3
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1401462e4
mov byte [reloc.WS2_32.dll_accept], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmmword [0x1402a60d0]
movdqu xmmword [rbp - 0x80], xmm1
mov byte [rsp + 0x70], 0
lea rdx, [rsp + 0x70]
call fcn.140142090
lea rdi, [rsp + 0x70]
mov r8, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
cmova rdi, r8
add rdi, qword [rbp - 0x80]
lea rbx, [rsp + 0x70]
cmp rdx, 0xf
cmova rbx, r8
add rbx, qword [rbp - 0x80]
lea rcx, [rsp + 0x70]
cmp rdx, 0xf
cmova rcx, r8
mov r8b, 0xd
mov rdx, rbx
call fcn.1402440e0
mov r8, rax
cmp rax, rbx
je 0x140146258
inc rax
cmp rax, rbx
je 0x140146258
movzx ecx, byte [rax]
cmp cl, 0xd
je 0x140146250
mov byte [r8], cl
inc r8
inc rax
cmp rax, rbx
jne 0x140146242
lea rax, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rax, qword [rsp + 0x70]
mov r9, r8
sub r9, rax
sub rdi, r8
mov rbx, qword [rbp - 0x80]
mov rax, rbx
sub rax, r9
cmp rax, rdi
cmovb rdi, rax
lea rcx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rcx, qword [rsp + 0x70]
add rcx, r9
sub rbx, rdi
mov r8, rbx
sub r8, r9
inc r8
lea rdx, [rcx + rdi]
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp - 0x80], rbx
cmp rbx, 0x27ff
jae 0x1401462da
lea r8, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova r8, qword [rsp + 0x70]
mov edx, 0x2800
lea rcx, [0x1402e07c0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
nop
lea rcx, [rsp + 0x70]
call fcn.1400050e0
mov rax, qword [0x1402dc618]
movss xmm3, dword [rax + 0x3e80]
mov rdx, qword [rax + 0x4148]
mov rcx, rdx
cmp qword [rdx + 0x1e8], 0
jne 0x14014631a
cmp qword [rax + 0x4f98], 0
jne 0x14014631a
add rcx, 0x294
jmp 0x140146321
add rcx, 0x264
movss xmm2, dword [rcx]
movss xmm1, dword [rdx + 0x144]
mov dword [rsp + 0x60], 0x80800000
subss xmm2, xmm1
mulss xmm3, dword [0x1402a5e7c]
subss xmm2, xmm3
movss dword [rsp + 0x64], xmm2
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x4000000
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, 0x2800
lea r8, [0x1402e07c0]
xor edx, edx
lea rcx, str.input
call fcn.1400a1c20
mov edi, 8
mov rax, qword gs:[0x58]
mov rbx, qword [rax]
mov eax, dword [rdi + rbx]
cmp dword [0x1402e07b4], eax
jle 0x1401463dd
lea rcx, [0x1402e07b4]
call fcn.140245038
cmp dword [0x1402e07b4], 0xffffffff
jne 0x1401463dd
xorps xmm0, xmm0
movdqu xmmword [0x1402e2fe0], xmm0
mov qword [0x1402e2ff0], rsi
lea rcx, [0x14025b240]
call fcn.140245644
lea rcx, [0x1402e07b4]
call fcn.140244fcc
mov eax, dword [rdi + rbx]
cmp dword [0x1402e3238], eax
jle 0x140146427
lea rcx, [0x1402e3238]
call fcn.140245038
cmp dword [0x1402e3238], 0xffffffff
jne 0x140146427
xorps xmm0, xmm0
movdqu xmmword [0x1402e30b8], xmm0
mov qword [0x1402e30c8], rsi
lea rcx, [0x14025b230]
call fcn.140245644
lea rcx, [0x1402e3238]
call fcn.140244fcc
mov eax, dword [rdi + rbx]
cmp dword [0x1402e3308], eax
jle 0x1401464ad
lea rcx, [0x1402e3308]
call fcn.140245038
cmp dword [0x1402e3308], 0xffffffff
jne 0x1401464ad
xorps xmm0, xmm0
movups xmmword [0x1402e32a0], xmm0
mov qword [0x1402e32b0], rsi
mov qword [0x1402e32b8], 0xf
mov byte [0x1402e32a0], 0
mov qword [0x1402e32c0], 0
movups xmmword [0x1402e32c8], xmm0
mov qword [0x1402e32d8], rsi
mov qword [0x1402e32e0], 0xf
mov byte [0x1402e32c8], 0
lea rcx, [0x14025b210]
call fcn.140245644
lea rcx, [0x1402e3308]
call fcn.140244fcc
mov rbx, qword [0x1402e2fe0]
mov rdi, qword [0x1402e2fe8]
cmp rbx, rdi
je 0x140146506
lea rcx, [rbx + 0x78]
call fcn.1400050e0
lea rcx, [rbx + 0x58]
call fcn.1400050e0
lea rcx, [rbx + 0x38]
call fcn.1400050e0
lea rcx, [rbx + 0x20]
call fcn.1401557c0
mov rcx, rbx
call fcn.1400050e0
add rbx, 0x98
cmp rbx, rdi
jne 0x1401464c0
mov rax, qword [0x1402e2fe0]
mov qword [0x1402e2fe8], rax
mov rbx, qword [0x1402e30b8]
mov rdi, qword [0x1402e30c0]
cmp rbx, rdi
je 0x140146569
nop dword [rax]
lea rcx, [rbx + 0x90]
call fcn.1400050e0
lea rcx, [rbx + 0x70]
call fcn.1400050e0
lea rcx, [rbx + 0x50]
call fcn.1400050e0
lea rcx, [rbx + 0x28]
call fcn.1401563d0
mov rcx, rbx
call fcn.1400050e0
add rbx, 0xb0
cmp rbx, rdi
jne 0x140146520
mov rax, qword [0x1402e30b8]
mov qword [0x1402e30c0], rax
lea rsi, [0x1402e32a0]
mov r9, rsi
lea r8, [0x1402e30b8]
lea rdx, [0x1402e2fe0]
lea rcx, [0x1402e07c0]
call fcn.1401a6ea0
cmp qword [0x1402e32b0], 0
je 0x14014672c
lea rbx, [0x1402e32c8]
cmp qword [0x1402e32e0], 0xf
cmova rbx, qword [0x1402e32c8]
mov rax, qword [0x1402dc618]
mov rcx, qword [rax + 0x4148]
movss xmm6, dword [rcx + 0x144]
subss xmm6, dword [rcx + 0x5c]
addss xmm6, dword [rcx + 0xc4]
movaps xmm0, xmmword [0x14028afc0]
movups xmmword [rsp + 0x50], xmm0
mov r8, rbx
lea rdx, [0x1402641f4]
lea rcx, [rsp + 0x50]
call fcn.140094720
mov rdi, qword [0x1402dc618]
movss xmm7, dword [rdi + 0x3e80]
mulss xmm7, dword [0x1402a5da8]
addss xmm7, xmm6
mov ecx, dword [0x1402e32c4]
dec rcx
add rcx, rbx
cmp rbx, rcx
je 0x14014667e
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
movss xmm0, dword [0x1402a6014]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1402a5fd8]
movss xmm2, dword [rdi + 0x3e80]
lea rdx, [rsp + 0x50]
mov rcx, qword [rdi + 0x3e78]
call fcn.140085d10
movss xmm0, dword [rsp + 0x50]
addss xmm0, dword [0x1402a5dec]
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
mov rax, qword [rdi + 0x4148]
mov byte [rax + 0xf5], 1
mov rax, qword [rdi + 0x4148]
movss xmm1, dword [rax + 0x58]
subss xmm1, dword [rax + 0xc0]
addss xmm1, xmm9
movss xmm0, dword [rax + 0x5c]
subss xmm0, dword [rax + 0xc4]
addss xmm0, xmm7
movss dword [rax + 0x140], xmm1
movss dword [rax + 0x144], xmm0
mov byte [rax + 0x181], 1
movaps xmm0, xmmword [0x1402a63b0]
movups xmmword [rsp + 0x50], xmm0
lea rdx, [0x140281990]
lea rcx, [rsp + 0x50]
call fcn.140094720
cmp qword [0x1402e32b8], 0xf
cmova rsi, qword [0x1402e32a0]
movaps xmm0, xmmword [0x1402a63b0]
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x20], rsi
mov r9d, dword [0x1402e32c4]
mov r8d, dword [0x1402e32c0]
lea rdx, str.__d___d__Error:__s
lea rcx, [rsp + 0x50]
call fcn.140094720
jmp 0x14014679e
movaps xmm0, xmmword [0x1402a6400]
movups xmmword [rsp + 0x50], xmm0
mov rcx, qword [0x1402e30c0]
sub rcx, qword [0x1402e30b8]
movabs rax, 0x2e8ba2e8ba2e8ba3
imul rcx
mov r9, rdx
sar r9, 5
mov rax, r9
shr rax, 0x3f
add r9, rax
mov rcx, qword [0x1402e2fe8]
sub rcx, qword [0x1402e2fe0]
movabs rax, 0x6bca1af286bca1b
imul rcx
sar rdx, 2
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea rdx, str.enums:__d__structs:_d
lea rcx, [rsp + 0x50]
call fcn.140094720
call fcn.140020d10
mov rcx, qword [rbp + 0x460]
xor rcx, rsp
call fcn.140244f00
lea r11, [rsp + 0x5a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm9, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret