Function at 0x14009a570
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x818
mov rax, qword [0x140122940]
xor rax, rsp
mov qword [rsp + 0x808], rax
call fcn.14005a130
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x108]
movzx eax, byte [rax + 0xd4]
test eax, eax
je 0x14009a5c6
xor al, al
jmp 0x14009ee2a
mov rax, qword [0x1401239e0]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
add rax, 8
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x68]
add rax, 0x1638
mov qword [rsp + 0xe0], rax
mov byte [rsp + 0x130], 0
mov eax, dword [rsp + 0x858]
and eax, 0x4000000
test eax, eax
je 0x14009a618
mov byte [rsp + 0xc3], 1
jmp 0x14009a620
mov byte [rsp + 0xc3], 0
movzx eax, byte [rsp + 0xc3]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x858]
and eax, 0x4000
test eax, eax
je 0x14009a646
mov byte [rsp + 0xc5], 1
jmp 0x14009a64e
mov byte [rsp + 0xc5], 0
movzx eax, byte [rsp + 0xc5]
mov byte [rsp + 0x60], al
mov eax, dword [rsp + 0x858]
and eax, 0x8000
test eax, eax
je 0x14009a674
mov byte [rsp + 0xc6], 1
jmp 0x14009a67c
mov byte [rsp + 0xc6], 0
movzx eax, byte [rsp + 0xc6]
mov byte [rsp + 0x78], al
mov eax, dword [rsp + 0x858]
and eax, 0x10000
test eax, eax
jne 0x14009a6a2
mov byte [rsp + 0xc7], 1
jmp 0x14009a6aa
mov byte [rsp + 0xc7], 0
movzx eax, byte [rsp + 0xc7]
mov byte [rsp + 0xbd], al
mov eax, dword [rsp + 0x858]
and eax, 0x40000
test eax, eax
je 0x14009a6d3
mov byte [rsp + 0xc8], 1
jmp 0x14009a6db
mov byte [rsp + 0xc8], 0
movzx eax, byte [rsp + 0xc8]
mov byte [rsp + 0x91], al
movzx eax, byte [rsp + 0x91]
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009a701
call fcn.140047240
nop
xor r8d, r8d
mov rdx, qword [rsp + 0x830]
mov rcx, qword [rsp + 0x108]
call fcn.14005a490
mov dword [rsp + 0x74], eax
movss xmm0, dword [0x1400d7e04]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x830]
lea rcx, [rsp + 0x778]
call fcn.140048210
nop
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009a770
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x1a80]
mulss xmm0, dword [0x1400d7dac]
movss dword [rsp + 0x15c], xmm0
jmp 0x14009a782
movss xmm0, dword [rsp + 0x77c]
movss dword [rsp + 0x15c], xmm0
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rax + 0x3c]
mulss xmm0, dword [0x1400d7d80]
movss xmm1, dword [rsp + 0x15c]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x270], xmm0
call fcn.140047c60
movss dword [rsp + 0x274], xmm0
mov rax, qword [rsp + 0x850]
mov rax, qword [rax]
mov qword [rsp + 0x3a0], rax
mov rax, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a8], rax
movss xmm3, dword [rsp + 0x270]
movss xmm2, dword [rsp + 0x274]
mov rdx, qword [rsp + 0x3a8]
lea rcx, [rsp + 0x770]
call fcn.140047b10
nop
movss xmm0, dword [rsp + 0x774]
movss dword [rsp + 0x278], xmm0
movss xmm0, dword [rsp + 0x778]
comiss xmm0, dword [0x1400d7cec]
jbe 0x14009a84e
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rax + 0x50]
addss xmm0, dword [rsp + 0x778]
movss dword [rsp + 0x194], xmm0
jmp 0x14009a85a
xorps xmm0, xmm0
movss dword [rsp + 0x194], xmm0
movss xmm0, dword [rsp + 0x770]
addss xmm0, dword [rsp + 0x194]
movss xmm2, dword [rsp + 0x278]
movaps xmm1, xmm0
lea rcx, [rsp + 0x7c0]
call fcn.14003f4f0
nop
mov rax, qword [rsp + 0x108]
add rax, 0x118
lea r8, [rsp + 0x770]
mov rdx, rax
lea rcx, [rsp + 0x560]
call fcn.140040340
mov rcx, qword [rsp + 0x108]
add rcx, 0x118
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x680]
call fcn.14003f360
nop
lea r8, [rsp + 0x7c0]
lea rdx, [rsp + 0x680]
lea rcx, [rsp + 0x4e8]
call fcn.140040340
mov r8, rax
lea rdx, [rsp + 0x680]
lea rcx, [rsp + 0x7a0]
call fcn.14003f360
nop
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x770]
mov qword [rsp + 0x670], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009aae3
mov r9d, 1
lea r8, [rsp + 0x680]
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x7a0]
call fcn.14005e950
movzx eax, al
test eax, eax
jne 0x14009a97e
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rax + 0x3c]
lea rcx, [rsp + 0x7a0]
call fcn.14005ef40
call fcn.1400572d0
xor al, al
jmp 0x14009ee2a
mov eax, 0x10
imul rax, rax, 7
mov rcx, qword [rsp + 0xe0]
lea rax, [rcx + rax + 0xc4]
mov rdx, rax
mov ecx, 3
call fcn.140066260
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rax + 0x40]
mov ecx, 6
call fcn.1400664a0
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rax + 0x44]
mov ecx, 7
call fcn.1400664a0
nop
lea rdx, [rsp + 0x4f0]
lea rcx, [rsp + 0x680]
call fcn.14005b250
mov dword [rsp + 0x20], 4
mov r9b, 1
mov r8, rax
mov edx, dword [rsp + 0x74]
mov rcx, qword [rsp + 0x830]
call fcn.140045df0
mov byte [rsp + 0xeb], al
mov ecx, 2
call fcn.140065e00
mov ecx, 1
call fcn.140065d70
nop
movzx eax, byte [rsp + 0xeb]
test eax, eax
jne 0x14009aa40
call fcn.140056560
call fcn.1400572d0
xor al, al
jmp 0x14009ee2a
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1d18]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax + 0x18c]
mov ecx, 1
mov dword [rsp + 0x27c], ecx
movzx ecx, al
mov eax, dword [rsp + 0x27c]
shl eax, cl
mov rcx, qword [rsp + 0xd0]
movsx ecx, word [rcx + 0x192]
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xd0]
mov word [rcx + 0x192], ax
mov rax, qword [rsp + 0xe0]
add rax, 0x38
mov rcx, qword [rsp + 0xd0]
add rcx, 0x118
mov rdx, rax
call fcn.140040430
mov rax, qword [rsp + 0xd0]
movss xmm0, dword [rsp + 0x670]
subss xmm0, dword [rax + 0xc4]
movss dword [rsp + 0x670], xmm0
jmp 0x14009ab3b
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rax + 0x3c]
lea rcx, [rsp + 0x7a0]
call fcn.14005ef40
nop
mov eax, dword [rsp + 0x858]
and eax, 0x10000000
test eax, eax
jne 0x14009ab3b
mov r9d, 1
lea r8, [rsp + 0x680]
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x7a0]
call fcn.14005e950
movzx eax, al
test eax, eax
jne 0x14009ab3b
xor al, al
jmp 0x14009ee2a
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x680]
call fcn.14005ed70
mov byte [rsp + 0x72], al
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x14009ab68
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x20d0], 1
mov ecx, dword [rsp + 0x74]
call fcn.140099d00
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x108]
mov eax, dword [rax + 0x168]
and eax, 0x100
test eax, eax
je 0x14009ab97
mov byte [rsp + 0xc9], 1
jmp 0x14009ab9f
mov byte [rsp + 0xc9], 0
movzx eax, byte [rsp + 0xc9]
mov byte [rsp + 0xaa], al
mov rax, qword [rsp + 0x108]
mov eax, dword [rax + 0x168]
and eax, 0x200
test eax, eax
je 0x14009abcf
mov byte [rsp + 0xa0], 1
jmp 0x14009abd7
mov byte [rsp + 0xa0], 0
movzx eax, byte [rsp + 0xa0]
mov byte [rsp + 0xc4], al
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x14009ac16
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x410]
test eax, eax
je 0x14009ac16
mov byte [rsp + 0xa1], 1
jmp 0x14009ac1e
mov byte [rsp + 0xa1], 0
movzx eax, byte [rsp + 0xa1]
mov byte [rsp + 0xab], al
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
je 0x14009ac78
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1f6c], ecx
je 0x14009ac6e
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1f60], ecx
jne 0x14009ac78
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x1f84], 2
jne 0x14009ac78
mov byte [rsp + 0xa2], 1
jmp 0x14009ac80
mov byte [rsp + 0xa2], 0
movzx eax, byte [rsp + 0xa2]
mov byte [rsp + 0x8f], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009acd7
cmp qword [rsp + 0x58], 0
je 0x14009acd7
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x1d6c], 0
jne 0x14009acd7
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.140099e40
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0x1da8], eax
jne 0x14009acd7
mov byte [rsp + 0xa3], 1
jmp 0x14009acdf
mov byte [rsp + 0xa3], 0
movzx eax, byte [rsp + 0xa3]
mov byte [rsp + 0xec], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009ad28
cmp qword [rsp + 0x58], 0
je 0x14009ad28
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.140099e40
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0x1d6c], eax
jne 0x14009ad28
mov byte [rsp + 0xa4], 1
jmp 0x14009ad30
mov byte [rsp + 0xa4], 0
movzx eax, byte [rsp + 0xa4]
mov byte [rsp + 0xad], al
mov byte [rsp + 0x71], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
je 0x14009ad85
mov eax, dword [rsp + 0x858]
and eax, 0x10
test eax, eax
jne 0x14009ad6f
movzx eax, byte [rsp + 0x8f]
test eax, eax
je 0x14009ad85
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009ad85
mov dword [rsp + 0x1e8], 1
jmp 0x14009ad90
mov dword [rsp + 0x1e8], 0
movzx eax, byte [rsp + 0x1e8]
mov byte [rsp + 0x8d], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009adc3
mov rax, qword [rsp + 0xd0]
movss xmm0, dword [rax + 0xa0]
movss dword [rsp + 0x1ec], xmm0
jmp 0x14009add4
movss xmm0, dword [0x1400d7e00]
movss dword [rsp + 0x1ec], xmm0
movss xmm0, dword [rsp + 0x1ec]
movss dword [rsp + 0x9c], xmm0
cmp qword [rsp + 0x58], 0
je 0x14009ae2b
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009ae04
mov dword [rsp + 0x1f0], 1
jmp 0x14009ae0f
mov dword [rsp + 0x1f0], 0
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x63]
cmp eax, dword [rsp + 0x1f0]
je 0x14009ae2b
mov byte [rsp + 0xa5], 1
jmp 0x14009ae33
mov byte [rsp + 0xa5], 0
movzx eax, byte [rsp + 0xa5]
mov byte [rsp + 0xa8], al
movzx eax, byte [rsp + 0xab]
test eax, eax
jne 0x14009ae88
movzx eax, byte [rsp + 0xec]
test eax, eax
jne 0x14009ae88
movzx eax, byte [rsp + 0x8f]
test eax, eax
jne 0x14009ae88
movzx eax, byte [rsp + 0xaa]
test eax, eax
jne 0x14009ae88
movzx eax, byte [rsp + 0xc4]
test eax, eax
jne 0x14009ae88
mov byte [rsp + 0xa6], 0
jmp 0x14009ae90
mov byte [rsp + 0xa6], 1
movzx eax, byte [rsp + 0xa6]
mov byte [rsp + 0x8c], al
movzx eax, byte [rsp + 0x8c]
test eax, eax
jne 0x14009aec1
movzx eax, byte [rsp + 0xad]
test eax, eax
jne 0x14009aec1
mov byte [rsp + 0xa7], 0
jmp 0x14009aec9
mov byte [rsp + 0xa7], 1
movzx eax, byte [rsp + 0xa7]
mov byte [rsp + 0xac], al
movzx eax, byte [rsp + 0xac]
test eax, eax
je 0x14009aef5
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x14009af05
movzx eax, byte [rsp + 0xa8]
test eax, eax
je 0x14009b148
mov rax, qword [rsp + 0x68]
add rax, 0x2230
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
call fcn.140099790
mov rcx, qword [rsp + 0x840]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov dword [rsp + 0x1f4], eax
mov rax, qword [rsp + 0x58]
add rax, 0x30
mov qword [rsp + 0x3b8], rax
mov eax, dword [rsp + 0x1f4]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x3b8]
call fcn.140073d00
mov eax, dword [rsp + 0x1f4]
inc eax
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x840]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x38]
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x6f8], 0
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x360], rax
mov eax, dword [rsp + 0x848]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x360]
call fcn.140073d50
mov rax, qword [rsp + 0x58]
add rax, 0x20
mov qword [rsp + 0x3c8], rax
xor edx, edx
mov rcx, qword [rsp + 0x3c8]
call fcn.140073d00
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x40], 0
lea rax, [rsp + 0x6f8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x840]
mov edx, dword [rsp + 0x848]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.14005d310
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x840]
mov rcx, qword [rsp + 0x6f8]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
cmp dword [rax], ecx
jne 0x14009b054
movzx eax, byte [rsp + 0xa8]
test eax, eax
jne 0x14009b054
mov byte [rsp + 0xa9], 1
jmp 0x14009b05c
mov byte [rsp + 0xa9], 0
movzx eax, byte [rsp + 0xa9]
mov byte [rsp + 0xed], al
movzx eax, byte [rsp + 0xed]
test eax, eax
je 0x14009b084
mov rcx, qword [rsp + 0x58]
call fcn.1400997b0
nop
jmp 0x14009b0f3
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
movss dword [rax + 0x48], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009b0b2
mov dword [rsp + 0x1f8], 1
jmp 0x14009b0bd
mov dword [rsp + 0x1f8], 0
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov edx, dword [rsp + 0x1f8]
mov rcx, rax
call fcn.1400a8030
nop
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009b0f3
movzx eax, byte [rsp + 0xaa]
test eax, eax
je 0x14009b0f3
mov byte [rsp + 0x8d], 1
mov eax, dword [rsp + 0x858]
and eax, 0x2000
test eax, eax
je 0x14009b10c
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x58], 1
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009b148
movzx eax, byte [rsp + 0xc4]
test eax, eax
jne 0x14009b140
movzx eax, byte [rsp + 0xab]
test eax, eax
je 0x14009b148
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x14009b148
mov byte [rsp + 0x8d], 1
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
je 0x14009b26f
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x14009b26f
mov rdx, qword [rsp + 0x108]
mov ecx, dword [rsp + 0x74]
call fcn.14006a8f0
mov rdx, qword [rsp + 0x108]
mov ecx, dword [rsp + 0x74]
call fcn.14006b230
mov rcx, qword [rsp + 0x108]
call fcn.1400596c0
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1d80]
or eax, 3
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x1d80], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009b1ce
mov eax, dword [rsp + 0x858]
and eax, 0x80
test eax, eax
je 0x14009b1e7
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1d80]
or eax, 0xc
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x1d80], eax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1d84]
or eax, 2
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x1d84], eax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1d88]
or rax, 0x180
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x1d88], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009b243
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1d88]
or rax, 0x60
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x1d88], rax
mov eax, dword [rsp + 0x858]
and eax, 0x440
test eax, eax
je 0x14009b26f
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1d88]
or rax, 1
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x1d88], rax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x14009b28e
cmp qword [rsp + 0x58], 0
jne 0x14009b28e
call fcn.140049770
nop
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x14009b2d9
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x410]
test eax, eax
je 0x14009b2d9
movzx eax, byte [rsp + 0xac]
test eax, eax
jne 0x14009b2d9
movzx eax, byte [rsp + 0x8c]
test eax, eax
jne 0x14009b2d9
mov byte [rsp + 0x71], 1
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
je 0x14009b308
cmp qword [rsp + 0x58], 0
je 0x14009b2fe
movzx eax, byte [rsp + 0xad]
test eax, eax
jne 0x14009b308
mov byte [rsp + 0xae], 0
jmp 0x14009b310
mov byte [rsp + 0xae], 1
movzx eax, byte [rsp + 0xae]
mov byte [rsp + 0x62], al
cmp qword [rsp + 0x58], 0
je 0x14009b351
mov rcx, qword [rsp + 0x58]
call fcn.14009a000
movzx eax, al
test eax, eax
je 0x14009b351
xor eax, eax
test eax, eax
jne 0x14009b344
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x14009b351
mov dword [rsp + 0x1fc], 1
jmp 0x14009b35c
mov dword [rsp + 0x1fc], 0
movzx eax, byte [rsp + 0x1fc]
mov byte [rsp + 0x61], al
mov byte [rsp + 0x93], 0
mov byte [rsp + 0x92], 0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x14009b462
cmp qword [rsp + 0x58], 0
je 0x14009b462
movzx eax, byte [rsp + 0x62]
test eax, eax
jne 0x14009b3a7
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x14009b462
mov qword [rsp + 0x700], 0
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x3d0], rax
mov eax, dword [rsp + 0x848]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x3d0]
call fcn.140073d50
lea rax, [rsp + 0x700]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x840]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.14005d310
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x840]
mov rcx, qword [rsp + 0x700]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x58]
call fcn.1400997b0
movzx eax, byte [rsp + 0x61]
mov dword [rsp + 0x280], eax
mov rcx, qword [rsp + 0x58]
call fcn.14009a000
movzx eax, al
mov ecx, dword [rsp + 0x280]
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x61], al
movzx eax, byte [rsp + 0x62]
test eax, eax
jne 0x14009b485
movzx eax, byte [rsp + 0x61]
test eax, eax
jne 0x14009b485
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x14009b4ad
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009b4ad
cmp qword [rsp + 0x58], 0
je 0x14009b4ad
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x40]
test eax, eax
je 0x14009b4ad
mov byte [rsp + 0xaf], 1
jmp 0x14009b4b5
mov byte [rsp + 0xaf], 0
movzx eax, byte [rsp + 0xaf]
mov byte [rsp + 0xc2], al
cmp qword [rsp + 0x838], 0
je 0x14009b521
movzx eax, byte [rsp + 0xc2]
test eax, eax
je 0x14009b4ee
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x2f0], rax
jmp 0x14009b4fe
mov rax, qword [rsp + 0x840]
mov qword [rsp + 0x2f0], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x2f0]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x14009b521
mov byte [rsp + 0xb0], 1
jmp 0x14009b529
mov byte [rsp + 0xb0], 0
movzx eax, byte [rsp + 0xb0]
mov byte [rsp + 0x63], al
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x14009b65f
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x14009b65f
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov qword [rsp + 0x3d8], rax
mov dx, 0x2a
mov rcx, qword [rsp + 0x3d8]
call fcn.1400799f0
mov qword [rsp + 0x2f8], rax
mov rax, qword [rsp + 0x68]
add rax, 0x30c8
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov rcx, qword [rsp + 0x120]
movss xmm0, dword [rax + 0x14]
movss dword [rcx + 0x14], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov rcx, qword [rsp + 0x120]
movss xmm0, dword [rax + 0x58]
movss dword [rcx + 0x58], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov rcx, qword [rsp + 0x120]
movss xmm0, dword [rax + 0x5c]
movss dword [rcx + 0x5c], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov rcx, qword [rsp + 0x120]
movss xmm0, dword [rax + 0x60]
movss dword [rcx + 0x60], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov rcx, qword [rsp + 0x120]
mov rax, qword [rax + 0x40]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x2f8]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x2f8]
movss xmm0, dword [rcx + 4]
movss dword [rax + 0x10], xmm0
mov rcx, qword [rsp + 0x120]
call fcn.140065fd0
nop
mov dword [rsp + 0x13c], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x14009bc76
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0x13c], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7e], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x848]
mov dword [rax + 0x44], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x858]
mov dword [rax + 0xe80], ecx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x860]
mov qword [rax + 0xe88], rcx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x868]
mov qword [rax + 0xe90], rcx
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x120]
test eax, eax
jne 0x14009b70d
mov dword [rsp + 0x200], 1
jmp 0x14009b718
mov dword [rsp + 0x200], 0
mov rax, qword [rsp + 0x68]
movzx ecx, byte [rsp + 0x200]
mov byte [rax + 0x1d79], cl
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x34a4], 1
mov rax, qword [rsp + 0x80]
movss xmm0, dword [rax + 0x118]
subss xmm0, dword [rsp + 0x680]
mov rax, qword [rsp + 0xe0]
subss xmm0, dword [rax + 0x38]
mov rax, qword [rsp + 0x58]
addss xmm0, dword [rax + 0x48]
movss dword [rsp + 0x158], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009b7a7
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xd0]
movss xmm0, dword [rax + 0x11c]
subss xmm0, dword [rcx + 0x11c]
movss dword [rsp + 0x204], xmm0
jmp 0x14009b7c5
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x1a80]
mulss xmm0, dword [0x1400d7d2c]
movss dword [rsp + 0x204], xmm0
movss xmm0, dword [rsp + 0x204]
movss dword [rsp + 0x208], xmm0
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xc8]
mov byte [rsp + 0x8e], al
movzx eax, byte [rsp + 0x8d]
test eax, eax
jne 0x14009b82b
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x14009b846
movzx eax, byte [rsp + 0x8e]
test eax, eax
jne 0x14009b846
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x415]
test eax, eax
je 0x14009b846
mov rcx, qword [rsp + 0x58]
call fcn.1400a0820
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7d], 1
jmp 0x14009b9af
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x14009b89c
movzx eax, byte [rsp + 0x8e]
test eax, eax
je 0x14009b89c
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x415]
test eax, eax
je 0x14009b89c
mov edx, 0x20000c
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
mov edx, 0x60000d
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
nop
jmp 0x14009b9af
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x410]
test eax, eax
je 0x14009b90a
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
jne 0x14009b90a
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x14009b905
mov rax, qword [rsp + 0x58]
add rax, 0x4c
movss xmm3, dword [rsp + 0x208]
movss xmm2, dword [rsp + 0x158]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1400a7700
mov rcx, qword [rsp + 0x58]
call fcn.140099790
nop
jmp 0x14009b9af
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x120]
test eax, eax
je 0x14009b9af
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
jne 0x14009b9af
mov rax, qword [rsp + 0x80]
movss xmm0, dword [rax + 0x3ac]
ucomiss xmm0, dword [0x1400d7cec]
jp 0x14009b971
jne 0x14009b971
mov rax, qword [rsp + 0x80]
movss xmm0, dword [rax + 0x3b0]
ucomiss xmm0, dword [0x1400d7cec]
jp 0x14009b971
je 0x14009b9af
mov rax, qword [rsp + 0x58]
add rax, 0x4c
movss xmm3, dword [rsp + 0x208]
movss xmm2, dword [rsp + 0x158]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1400a7cb0
mov rcx, qword [rsp + 0x58]
call fcn.140099790
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
je 0x14009b9e8
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x120]
test eax, eax
jne 0x14009b9e8
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7d], 0
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x14009ba0e
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x136]
test eax, eax
je 0x14009ba37
movzx eax, byte [rsp + 0x8e]
test eax, eax
je 0x14009ba2d
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x137]
test eax, eax
jne 0x14009ba37
mov byte [rsp + 0xb1], 0
jmp 0x14009ba3f
mov byte [rsp + 0xb1], 1
movzx eax, byte [rsp + 0xb1]
mov byte [rsp + 0xb2], al
mov eax, dword [rsp + 0x858]
and eax, 0x400
test eax, eax
je 0x14009bb39
mov dl, 1
xor ecx, ecx
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009bb39
movzx eax, byte [rsp + 0xb2]
test eax, eax
jne 0x14009bb39
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x135]
test eax, eax
jne 0x14009bb39
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009bb39
mov rax, qword [rsp + 0x80]
add rax, 0x1540
mov qword [rsp + 0x3e0], rax
mov eax, 9
mov word [rsp + 0x138], ax
lea rdx, [rsp + 0x138]
mov rcx, qword [rsp + 0x3e0]
call fcn.1400a68e0
movzx eax, al
test eax, eax
jne 0x14009bb39
mov dword [rsp + 0x76c], 9
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x868]
mov r8, qword [rsp + 0x860]
mov edx, dword [rsp + 0x858]
lea rcx, [rsp + 0x76c]
call fcn.14009ee50
movzx eax, al
test eax, eax
je 0x14009bb39
mov edx, dword [rsp + 0x76c]
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
nop
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x1540], 0
jle 0x14009bc76
movzx eax, byte [rsp + 0xb2]
test eax, eax
jne 0x14009bc50
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009bc50
movzx eax, byte [rsp + 0x8f]
test eax, eax
jne 0x14009bc50
mov dword [rsp + 0x118], 0
jmp 0x14009bb98
mov eax, dword [rsp + 0x118]
inc eax
mov dword [rsp + 0x118], eax
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x1540]
cmp dword [rsp + 0x118], eax
jge 0x14009bc50
mov rax, qword [rsp + 0x80]
add rax, 0x1540
mov qword [rsp + 0x3e8], rax
mov edx, dword [rsp + 0x118]
mov rcx, qword [rsp + 0x3e8]
call fcn.140040000
movzx eax, word [rax]
mov dword [rsp + 0x760], eax
cmp dword [rsp + 0x760], 9
jne 0x14009bc06
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x135]
test eax, eax
je 0x14009bc06
jmp 0x14009bb88
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x868]
mov r8, qword [rsp + 0x860]
mov edx, dword [rsp + 0x858]
lea rcx, [rsp + 0x760]
call fcn.14009ee50
movzx eax, al
test eax, eax
je 0x14009bc4b
mov edx, dword [rsp + 0x760]
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
nop
jmp 0x14009bb88
mov rax, qword [rsp + 0x80]
add rax, 0x1540
mov qword [rsp + 0x3f0], rax
xor edx, edx
mov rcx, qword [rsp + 0x3f0]
call fcn.140073d50
nop
mov byte [rsp + 0x8a], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x14009cc04
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x1d78]
test eax, eax
jne 0x14009cc04
movzx eax, byte [rsp + 0x71]
test eax, eax
jne 0x14009cc04
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x674]
subss xmm0, dword [rax + 0x3c]
mov rax, qword [rsp + 0x68]
divss xmm0, dword [rax + 0x1a80]
cvttss2si eax, xmm0
mov edx, 1
mov ecx, eax
call fcn.14003be20
mov dword [rsp + 0x134], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x134]
mov dword [rax + 0x5c], ecx
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x135]
test eax, eax
je 0x14009bd1d
mov dword [rsp + 0x160], 0x400000
jmp 0x14009bd28
mov dword [rsp + 0x160], 0
mov eax, dword [rsp + 0x160]
mov dword [rsp + 0x94], eax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xc8]
mov byte [rsp + 0x89], al
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x14009bd73
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x3b4], 0xa
jne 0x14009bd73
mov byte [rsp + 0xb3], 1
jmp 0x14009bd7b
mov byte [rsp + 0xb3], 0
movzx eax, byte [rsp + 0xb3]
mov byte [rsp + 0xf4], al
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x14009bdae
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x136]
mov byte [rsp + 0xb4], al
jmp 0x14009bdc4
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
mov byte [rsp + 0xb4], al
movzx eax, byte [rsp + 0xb4]
mov byte [rsp + 0x90], al
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x14009be22
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x137]
test eax, eax
je 0x14009be22
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
jne 0x14009be22
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x136]
test eax, eax
jne 0x14009be22
mov byte [rsp + 0xb5], 1
jmp 0x14009be2a
mov byte [rsp + 0xb5], 0
movzx eax, byte [rsp + 0xb5]
mov byte [rsp + 0x88], al
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x3b4], 1
jne 0x14009be54
mov byte [rsp + 0xb6], 1
jmp 0x14009be5c
mov byte [rsp + 0xb6], 0
movzx eax, byte [rsp + 0xb6]
mov byte [rsp + 0xee], al
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x3b4], 2
jne 0x14009be86
mov byte [rsp + 0xb7], 1
jmp 0x14009be8e
mov byte [rsp + 0xb7], 0
movzx eax, byte [rsp + 0xb7]
mov byte [rsp + 0xba], al
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0xd0]
test eax, eax
je 0x14009bee6
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x3b4], 8
jne 0x14009becb
mov dword [rsp + 0x164], 1
jmp 0x14009bed6
mov dword [rsp + 0x164], 0
mov eax, dword [rsp + 0x164]
mov dword [rsp + 0x16c], eax
jmp 0x14009bf1d
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x3b4], 1
jne 0x14009bf04
mov dword [rsp + 0x168], 1
jmp 0x14009bf0f
mov dword [rsp + 0x168], 0
mov eax, dword [rsp + 0x168]
mov dword [rsp + 0x16c], eax
movzx eax, byte [rsp + 0x16c]
mov byte [rsp + 0x70], al
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x14009bf45
mov dl, 1
mov ecx, 0x13
call fcn.14005df30
movzx eax, al
test eax, eax
jne 0x14009bf64
movzx eax, byte [rsp + 0xba]
test eax, eax
je 0x14009bf9a
mov dl, 1
mov ecx, 0xa
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009bf9a
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009bf9a
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x14009bf9a
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009bf90
mov rcx, qword [rsp + 0x58]
call fcn.14009a000
movzx eax, al
test eax, eax
je 0x14009bf9a
mov byte [rsp + 0xb8], 1
jmp 0x14009bfa2
mov byte [rsp + 0xb8], 0
movzx eax, byte [rsp + 0xb8]
mov byte [rsp + 0xc1], al
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x14009bfcd
mov dl, 1
mov ecx, 0x11
call fcn.14005df30
movzx eax, al
test eax, eax
jne 0x14009bfec
movzx eax, byte [rsp + 0xee]
test eax, eax
je 0x14009c019
mov dl, 1
mov ecx, 9
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c019
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x14009c019
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009c00f
mov rcx, qword [rsp + 0x58]
call fcn.14009a000
movzx eax, al
test eax, eax
je 0x14009c019
mov byte [rsp + 0xb9], 1
jmp 0x14009c021
mov byte [rsp + 0xb9], 0
movzx eax, byte [rsp + 0xb9]
mov byte [rsp + 0xf6], al
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x14009c04c
mov dl, 1
mov ecx, 0x12
call fcn.14005df30
movzx eax, al
test eax, eax
jne 0x14009c06b
movzx eax, byte [rsp + 0xba]
test eax, eax
je 0x14009c07e
mov dl, 1
mov ecx, 9
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c07e
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009c07e
mov byte [rsp + 0xbb], 1
jmp 0x14009c086
mov byte [rsp + 0xbb], 0
movzx eax, byte [rsp + 0xbb]
mov byte [rsp + 0xe8], al
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x14009c0d0
mov dl, 1
mov ecx, 0x15
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c0d0
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009c0d0
movzx eax, byte [rsp + 0xbd]
test eax, eax
je 0x14009c0d0
mov byte [rsp + 0xbc], 1
jmp 0x14009c0d8
mov byte [rsp + 0xbc], 0
movzx eax, byte [rsp + 0xbc]
mov byte [rsp + 0xc0], al
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x14009c103
mov dl, 1
mov ecx, 0x14
call fcn.14005df30
movzx eax, al
test eax, eax
jne 0x14009c122
movzx eax, byte [rsp + 0xf4]
test eax, eax
je 0x14009c141
mov dl, 1
mov ecx, 0x15
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c141
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009c141
movzx eax, byte [rsp + 0xbd]
test eax, eax
je 0x14009c141
mov byte [rsp + 0xbe], 1
jmp 0x14009c149
mov byte [rsp + 0xbe], 0
movzx eax, byte [rsp + 0xbe]
mov byte [rsp + 0xf5], al
mov dl, 1
mov ecx, 1
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c1da
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x14009c184
mov dword [rsp + 0x174], 0x200004
jmp 0x14009c1b6
movzx eax, byte [rsp + 0x90]
test eax, eax
je 0x14009c19d
mov dword [rsp + 0x170], 0x20000c
jmp 0x14009c1a8
mov dword [rsp + 0x170], 0x200000
mov eax, dword [rsp + 0x170]
mov dword [rsp + 0x174], eax
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x174]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
nop
jmp 0x14009cbbc
mov dl, 1
mov ecx, 2
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c25c
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x14009c206
mov dword [rsp + 0x17c], 0x200005
jmp 0x14009c238
movzx eax, byte [rsp + 0x90]
test eax, eax
je 0x14009c21f
mov dword [rsp + 0x178], 0x20000d
jmp 0x14009c22a
mov dword [rsp + 0x178], 0x200001
mov eax, dword [rsp + 0x178]
mov dword [rsp + 0x17c], eax
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x17c]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
nop
jmp 0x14009cbbc
mov dl, 1
mov ecx, 3
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c313
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009c313
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x14009c2cb
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x68]
movss xmm0, dword [rax + 0xa0]
subss xmm0, dword [rcx + 0x1a80]
xorps xmm1, xmm1
call fcn.14003be50
movaps xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.14006ba70
nop
jmp 0x14009c30e
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x14009c2e4
mov dword [rsp + 0x180], 0x200006
jmp 0x14009c2ef
mov dword [rsp + 0x180], 0x200002
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x180]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
nop
jmp 0x14009cbbc
mov dl, 1
mov ecx, 4
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c3f0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009c3f0
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x14009c3a8
call fcn.14005b210
movss dword [rsp + 0x284], xmm0
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x68]
movss xmm0, dword [rax + 0xa0]
addss xmm0, dword [rcx + 0x1a80]
movss dword [rsp + 0x288], xmm0
movss xmm1, dword [rsp + 0x284]
movss xmm0, dword [rsp + 0x288]
call fcn.14003bec0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.14006ba70
nop
jmp 0x14009c3eb
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x14009c3c1
mov dword [rsp + 0x184], 0x200007
jmp 0x14009c3cc
mov dword [rsp + 0x184], 0x200003
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x184]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
nop
jmp 0x14009cbbc
mov dl, 1
mov ecx, 5
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c458
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009c458
mov eax, dword [rsp + 0x94]
or eax, 0x20000e
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
cvtsi2ss xmm0, dword [rsp + 0x134]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x1a80]
movss xmm1, dword [rsp + 0x9c]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x9c], xmm0
jmp 0x14009cbbc
mov dl, 1
mov ecx, 6
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c4c0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009c4c0
mov eax, dword [rsp + 0x94]
or eax, 0x20000f
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
cvtsi2ss xmm0, dword [rsp + 0x134]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x1a80]
movss xmm1, dword [rsp + 0x9c]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x9c], xmm0
jmp 0x14009cbbc
mov dl, 1
mov ecx, 7
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c525
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x14009c4fb
mov eax, dword [rsp + 0x94]
or eax, 0x200006
mov dword [rsp + 0x188], eax
jmp 0x14009c50e
mov eax, dword [rsp + 0x94]
or eax, 0x200004
mov dword [rsp + 0x188], eax
mov edx, dword [rsp + 0x188]
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
nop
jmp 0x14009cbbc
mov dl, 1
mov ecx, 8
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c58a
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x14009c560
mov eax, dword [rsp + 0x94]
or eax, 0x200007
mov dword [rsp + 0x18c], eax
jmp 0x14009c573
mov eax, dword [rsp + 0x94]
or eax, 0x200005
mov dword [rsp + 0x18c], eax
mov edx, dword [rsp + 0x18c]
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
nop
jmp 0x14009cbbc
mov dl, 1
mov ecx, 0xa
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c5c4
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009c5c4
mov eax, dword [rsp + 0x94]
or eax, 0x200008
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
nop
jmp 0x14009cbbc
mov dl, 1
mov ecx, 0xb
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c68a
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009c68a
mov rcx, qword [rsp + 0x58]
call fcn.14009a000
movzx eax, al
test eax, eax
jne 0x14009c66c
movzx eax, byte [rsp + 0x90]
test eax, eax
je 0x14009c617
mov edx, 0x60000c
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
nop
jmp 0x14009c66c
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x14009c66c
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x137]
test eax, eax
je 0x14009c66c
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x136]
test eax, eax
jne 0x14009c66c
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
jne 0x14009c66c
mov edx, 0x600004
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
nop
mov eax, dword [rsp + 0x94]
or eax, 0x200009
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
nop
jmp 0x14009cbbc
mov dl, 1
mov ecx, 0xd
call fcn.14005df30
movzx eax, al
test eax, eax
jne 0x14009c6b4
mov dl, 1
mov ecx, 0xf
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c7a3
mov eax, dword [rsp + 0x858]
and eax, 0x800
test eax, eax
je 0x14009c6d1
mov dword [rsp + 0x190], 1
jmp 0x14009c6dc
mov dword [rsp + 0x190], 0
movzx eax, byte [rsp + 0x190]
mov byte [rsp + 0xbf], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009c732
movzx eax, byte [rsp + 0xbf]
test eax, eax
je 0x14009c713
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x14009c732
movzx eax, byte [rsp + 0xbf]
test eax, eax
jne 0x14009c745
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x14009c745
mov byte [rsp + 0x71], 1
movzx eax, byte [rsp + 0x71]
mov byte [rsp + 0x92], al
jmp 0x14009c79e
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009c79e
mov dword [rsp + 0x768], 0xa
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x868]
mov r8, qword [rsp + 0x860]
mov edx, dword [rsp + 0x858]
lea rcx, [rsp + 0x768]
call fcn.14009ee50
movzx eax, al
test eax, eax
je 0x14009c79e
mov edx, dword [rsp + 0x768]
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
nop
jmp 0x14009cbbc
mov dl, 1
mov ecx, 0xe
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c7cf
mov byte [rsp + 0x8a], 1
movzx eax, byte [rsp + 0x8a]
mov byte [rsp + 0x71], al
jmp 0x14009cbbc
movzx eax, byte [rsp + 0xc0]
test eax, eax
jne 0x14009c7e7
movzx eax, byte [rsp + 0xf5]
test eax, eax
je 0x14009c82c
movzx eax, byte [rsp + 0xc0]
test eax, eax
je 0x14009c800
mov dword [rsp + 0x198], 0x20000a
jmp 0x14009c80b
mov dword [rsp + 0x198], 0x20000b
mov edx, dword [rsp + 0x198]
mov rcx, qword [rsp + 0x58]
call fcn.14009f670
mov rcx, qword [rsp + 0x58]
call fcn.140098d60
nop
jmp 0x14009cbbc
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x14009c863
mov dl, 1
mov ecx, 0x10
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009c863
mov rcx, qword [rsp + 0x58]
call fcn.1400a0820
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
jmp 0x14009cbbc
movzx eax, byte [rsp + 0xc1]
test eax, eax
jne 0x14009c87f
movzx eax, byte [rsp + 0xf6]
test eax, eax
je 0x14009ca2b
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x108], 0
je 0x14009c9db
mov rcx, qword [rsp + 0x58]
call fcn.14009a000
movzx eax, al
test eax, eax
je 0x14009c8c4
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.14003be90
mov dword [rsp + 0x19c], eax
jmp 0x14009c8cf
mov dword [rsp + 0x19c], 0
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0x1a8], eax
mov rcx, qword [rsp + 0x58]
call fcn.14009a000
movzx eax, al
test eax, eax
je 0x14009c90c
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.14003be20
mov dword [rsp + 0x1a0], eax
jmp 0x14009c91b
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
mov dword [rsp + 0x1a0], eax
mov eax, dword [rsp + 0x1a0]
mov dword [rsp + 0x1a4], eax
movsxd rax, dword [rsp + 0x1a4]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x18]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x18]
lea rcx, [rdx + rcx*2]
mov rdx, rax
call fcn.14005d280
inc eax
mov dword [rsp + 0x1ac], eax
movsxd rax, dword [rsp + 0x1ac]
mov rcx, rax
call fcn.14005ff40
mov qword [rsp + 0x2a0], rax
movsxd rax, dword [rsp + 0x1a4]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x18]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x18]
lea rcx, [rdx + rcx*2]
mov r9, rax
mov r8, rcx
mov edx, dword [rsp + 0x1ac]
mov rcx, qword [rsp + 0x2a0]
call fcn.14005d420
mov rcx, qword [rsp + 0x2a0]
call fcn.14006aab0
mov rcx, qword [rsp + 0x2a0]
call fcn.14005ffa0
nop
movzx eax, byte [rsp + 0xc1]
test eax, eax
je 0x14009ca26
mov rcx, qword [rsp + 0x58]
call fcn.14009a000
movzx eax, al
test eax, eax
jne 0x14009ca03
mov rcx, qword [rsp + 0x58]
call fcn.1400a0820
nop
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1400a77b0
nop
jmp 0x14009cbbc
movzx eax, byte [rsp + 0xe8]
test eax, eax
je 0x14009cbbc
call fcn.140059d90
mov qword [rsp + 0x2a8], rax
cmp qword [rsp + 0x2a8], 0
je 0x14009cbbc
mov rcx, qword [rsp + 0x2a8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov dword [rsp + 0x28c], eax
mov eax, dword [rsp + 0x28c]
inc eax
cdqe
shl rax, 1
mov rcx, rax
call fcn.14005ff40
mov qword [rsp + 0x218], rax
mov dword [rsp + 0x100], 0
mov rax, qword [rsp + 0x2a8]
mov qword [rsp + 0x210], rax
mov rax, qword [rsp + 0x210]
movsx eax, byte [rax]
test eax, eax
je 0x14009cb5c
xor r8d, r8d
mov rdx, qword [rsp + 0x210]
lea rcx, [rsp + 0x764]
call fcn.14005cb00
cdqe
mov rcx, qword [rsp + 0x210]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x210], rax
cmp dword [rsp + 0x764], 0
jne 0x14009caf3
jmp 0x14009cb5c
mov dword [rsp + 0x20], 5
mov r9, qword [rsp + 0x868]
mov r8, qword [rsp + 0x860]
mov edx, dword [rsp + 0x858]
lea rcx, [rsp + 0x764]
call fcn.14009ee50
movzx eax, al
test eax, eax
jne 0x14009cb2b
jmp 0x14009caa4
movsxd rax, dword [rsp + 0x100]
mov rcx, qword [rsp + 0x218]
movzx edx, word [rsp + 0x764]
mov word [rcx + rax*2], dx
mov eax, dword [rsp + 0x100]
inc eax
mov dword [rsp + 0x100], eax
jmp 0x14009caa4
movsxd rax, dword [rsp + 0x100]
xor ecx, ecx
mov rdx, qword [rsp + 0x218]
mov word [rdx + rax*2], cx
cmp dword [rsp + 0x100], 0
jle 0x14009cbae
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov r9d, dword [rsp + 0x100]
mov r8, qword [rsp + 0x218]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1400a93c0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rcx, qword [rsp + 0x218]
call fcn.14005ffa0
nop
mov rcx, qword [rsp + 0x58]
call fcn.14009a000
movzx eax, al
test eax, eax
je 0x14009cbe9
xor eax, eax
test eax, eax
jne 0x14009cbdc
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x14009cbe9
mov dword [rsp + 0x1b0], 1
jmp 0x14009cbf4
mov dword [rsp + 0x1b0], 0
movzx eax, byte [rsp + 0x61]
or eax, dword [rsp + 0x1b0]
mov byte [rsp + 0x61], al
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x14009d47c
mov qword [rsp + 0x128], 0
mov dword [rsp + 0xcc], 0
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x14009cd77
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009cd77
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax + 0x38]
mov rcx, qword [rsp + 0x840]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14009cd77
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x30]
dec eax
mov dword [rsp + 0xcc], eax
lea rcx, [rsp + 0x6e8]
call fcn.14003bfc0
nop
cmp dword [rsp + 0xcc], 0
jle 0x14009cd1b
movsxd rax, dword [rsp + 0xcc]
mov rcx, qword [rsp + 0x128]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x128]
call fcn.14005d140
inc eax
mov edx, eax
lea rcx, [rsp + 0x6e8]
call fcn.140073d50
movsxd rax, dword [rsp + 0xcc]
mov rcx, qword [rsp + 0x128]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x128]
mov edx, dword [rsp + 0x6e8]
mov rcx, qword [rsp + 0x6f0]
call fcn.14005d310
nop
cmp dword [rsp + 0xcc], 0
jle 0x14009cd37
mov eax, dword [rsp + 0x6e8]
dec eax
mov dword [rsp + 0x1b4], eax
jmp 0x14009cd42
mov dword [rsp + 0x1b4], 0
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov r9d, dword [rsp + 0x1b4]
mov r8, qword [rsp + 0x6f0]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1400a9520
nop
lea rcx, [rsp + 0x6e8]
call fcn.14003f780
nop
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x14009cdaa
movzx eax, byte [rsp + 0x92]
test eax, eax
je 0x14009cd9d
mov eax, dword [rsp + 0x858]
and eax, 0x20
test eax, eax
jne 0x14009cdaa
mov dword [rsp + 0x1b8], 0
jmp 0x14009cdb5
mov dword [rsp + 0x1b8], 1
movzx eax, byte [rsp + 0x1b8]
mov byte [rsp + 0xe9], al
movzx eax, byte [rsp + 0xe9]
test eax, eax
je 0x14009d328
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009ce38
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x40], 1
mov rax, qword [rsp + 0x58]
add rax, 0x20
mov qword [rsp + 0x3f8], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x10]
lea eax, [rax*4 + 1]
mov edx, eax
mov rcx, qword [rsp + 0x3f8]
call fcn.140073d00
xor r9d, r9d
mov rax, qword [rsp + 0x58]
mov r8, qword [rax + 0x18]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x20]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x28]
call fcn.14005d420
nop
mov eax, dword [rsp + 0x858]
and eax, 0x801c0
test eax, eax
je 0x14009d2e5
mov dword [rsp + 0xf0], 0
mov dword [rsp + 0x11c], 0x16
mov eax, dword [rsp + 0x858]
and eax, 0x40
test eax, eax
je 0x14009ce9b
mov dl, 1
xor ecx, ecx
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009ce9b
mov dword [rsp + 0xf0], 0x40
mov dword [rsp + 0x11c], 0
jmp 0x14009cf5c
mov eax, dword [rsp + 0x858]
and eax, 0x80
test eax, eax
je 0x14009ced9
mov dl, 1
mov ecx, 3
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009ced9
mov dword [rsp + 0xf0], 0x80
mov dword [rsp + 0x11c], 3
jmp 0x14009cf5c
mov eax, dword [rsp + 0x858]
and eax, 0x80
test eax, eax
je 0x14009cf14
mov dl, 1
mov ecx, 4
call fcn.14005df30
movzx eax, al
test eax, eax
je 0x14009cf14
mov dword [rsp + 0xf0], 0x80
mov dword [rsp + 0x11c], 4
jmp 0x14009cf5c
mov eax, dword [rsp + 0x858]
and eax, 0x80000
test eax, eax
je 0x14009cf41
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7e]
test eax, eax
je 0x14009cf41
mov dword [rsp + 0xf0], 0x80000
jmp 0x14009cf5c
mov eax, dword [rsp + 0x858]
and eax, 0x100
test eax, eax
je 0x14009cf5c
mov dword [rsp + 0xf0], 0x100
cmp dword [rsp + 0xf0], 0
je 0x14009d2e5
lea rcx, [rsp + 0x6a8]
call fcn.140096ae0
mov r8d, 0x38
xor edx, edx
lea rcx, [rsp + 0x6a8]
call sub.VCRUNTIME140.dll_memset
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x6a8], eax
mov eax, dword [rsp + 0x858]
mov dword [rsp + 0x6ac], eax
mov rax, qword [rsp + 0x868]
mov qword [rsp + 0x6b0], rax
mov eax, dword [rsp + 0x11c]
mov dword [rsp + 0x6bc], eax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x6c0], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0x6c8], eax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x6cc], eax
mov byte [rsp + 0x6d0], 0
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x148]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x148]
call fcn.14005d280
mov dword [rsp + 0x6d4], eax
mov eax, dword [rsp + 0x6d4]
mov dword [rsp + 0x290], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x50]
mov rcx, qword [rsp + 0x148]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x148]
call fcn.14005d280
mov dword [rsp + 0x6d8], eax
mov eax, dword [rsp + 0x6d8]
mov dword [rsp + 0x294], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x54]
mov rcx, qword [rsp + 0x148]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x148]
call fcn.14005d280
mov dword [rsp + 0x6dc], eax
mov eax, dword [rsp + 0x6dc]
mov dword [rsp + 0x298], eax
mov rax, qword [rsp + 0x860]
mov qword [rsp + 0x400], rax
lea rcx, [rsp + 0x6a8]
call qword [rsp + 0x400]
movzx eax, byte [rsp + 0x6d0]
mov byte [rsp + 0x8b], al
mov eax, dword [rsp + 0x290]
cmp dword [rsp + 0x6d4], eax
jne 0x14009d106
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x14009d140
movsxd rax, dword [rsp + 0x6d4]
mov rcx, qword [rsp + 0x6c0]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x6c0]
call fcn.14005d140
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov eax, dword [rsp + 0x294]
cmp dword [rsp + 0x6d8], eax
jne 0x14009d15c
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x14009d1b9
mov eax, dword [rsp + 0x6d4]
cmp dword [rsp + 0x6d8], eax
jne 0x14009d17d
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x1bc], eax
jmp 0x14009d1aa
movsxd rax, dword [rsp + 0x6d8]
mov rcx, qword [rsp + 0x6c0]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x6c0]
call fcn.14005d140
mov dword [rsp + 0x1bc], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1bc]
mov dword [rax + 0x50], ecx
mov eax, dword [rsp + 0x298]
cmp dword [rsp + 0x6dc], eax
jne 0x14009d1d5
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x14009d232
mov eax, dword [rsp + 0x6d8]
cmp dword [rsp + 0x6dc], eax
jne 0x14009d1f6
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0x1c0], eax
jmp 0x14009d223
movsxd rax, dword [rsp + 0x6dc]
mov rcx, qword [rsp + 0x6c0]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x6c0]
call fcn.14005d140
mov dword [rsp + 0x1c0], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1c0]
mov dword [rax + 0x54], ecx
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x14009d2e5
mov eax, dword [rsp + 0x13c]
cmp dword [rsp + 0x6c8], eax
jle 0x14009d299
movzx eax, byte [rsp + 0x91]
test eax, eax
je 0x14009d299
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x408], rax
mov eax, dword [rsp + 0x13c]
mov ecx, dword [rsp + 0x6c8]
sub ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x58]
add eax, dword [rcx + 0x10]
mov edx, eax
mov rcx, qword [rsp + 0x408]
call fcn.140073d50
nop
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x6c0]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.14005d310
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x6c8]
mov dword [rax + 8], ecx
mov rcx, qword [rsp + 0x58]
call fcn.140099790
nop
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009d328
mov rdx, qword [rsp + 0x840]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x28]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14009d328
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0xcc], eax
cmp qword [rsp + 0x128], 0
je 0x14009d44d
movzx eax, byte [rsp + 0x91]
test eax, eax
je 0x14009d414
lea rcx, [rsp + 0x708]
call fcn.140096ae0
mov dword [rsp + 0x708], 0x40000
mov eax, dword [rsp + 0x858]
mov dword [rsp + 0x70c], eax
mov rax, qword [rsp + 0x840]
mov qword [rsp + 0x720], rax
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x728], eax
mov eax, dword [rsp + 0xcc]
inc eax
mov edx, eax
mov ecx, dword [rsp + 0x848]
call fcn.14003be20
mov dword [rsp + 0x72c], eax
mov rax, qword [rsp + 0x868]
mov qword [rsp + 0x710], rax
mov rax, qword [rsp + 0x860]
mov qword [rsp + 0x410], rax
lea rcx, [rsp + 0x708]
call qword [rsp + 0x410]
mov rax, qword [rsp + 0x720]
mov qword [rsp + 0x840], rax
mov eax, dword [rsp + 0x72c]
mov dword [rsp + 0x848], eax
mov eax, dword [rsp + 0x848]
dec eax
mov edx, eax
mov ecx, dword [rsp + 0x728]
call fcn.14003be90
mov dword [rsp + 0xcc], eax
mov eax, dword [rsp + 0xcc]
inc eax
mov edx, dword [rsp + 0x848]
mov ecx, eax
call fcn.14003be90
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x840]
call fcn.14005caa0
mov byte [rsp + 0x93], 1
mov rax, qword [rsp + 0x58]
mov dword [rax + 0xe80], 0
mov rax, qword [rsp + 0x58]
mov qword [rax + 0xe88], 0
mov rax, qword [rsp + 0x58]
mov qword [rax + 0xe90], 0
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x14009d49c
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x14009d49c
call fcn.140049770
nop
mov eax, 4
mov eax, eax
mov ecx, dword [0x1401243d0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rax + rcx]
cmp dword [0x140123c60], eax
jle 0x14009d50d
lea rcx, [0x140123c60]
call fcn.1400ca07c
cmp dword [0x140123c60], 0xffffffff
jne 0x14009d50d
mov edx, 0x10
lea rcx, [0x140123c50]
call fcn.140022300
lea rcx, [0x140123c50]
call fcn.140019010
lea rcx, [0x1400d0180]
call fcn.1400c9fbc
nop
lea rcx, [0x140123c60]
call fcn.1400ca010
nop
mov edx, 8
lea rcx, [rsp + 0x740]
call fcn.140022300
mov rcx, qword [rsp + 0x830]
call fcn.14005a400
mov dword [rsp + 0x2b8], eax
lea r8, [rsp + 0x2b8]
lea rdx, [rsp + 0x740]
lea rcx, [0x140123c50]
call fcn.1400a6a10
nop
lea rdx, [rsp + 0x4f8]
lea rcx, [0x140123c50]
call fcn.140029910
mov rdx, rax
lea rcx, [rsp + 0x740]
call fcn.14001b3d0
movzx eax, al
test eax, eax
je 0x14009d631
mov rcx, qword [rsp + 0x830]
call fcn.14005a400
mov dword [rsp + 0x230], eax
lea rax, [rsp + 0x608]
mov rdi, rax
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
lea rcx, [rsp + 0x608]
call fcn.140096cd0
mov qword [rsp + 0x418], rax
mov r8, qword [rsp + 0x418]
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x638]
call fcn.140096360
lea r8, [rsp + 0x638]
lea rdx, [rsp + 0x5c8]
lea rcx, [0x140123c50]
call fcn.1400969c0
nop
mov rcx, qword [rsp + 0x830]
call fcn.14005a400
mov dword [rsp + 0x234], eax
lea r8, [rsp + 0x234]
lea rdx, [rsp + 0x500]
lea rcx, [0x140123c50]
call fcn.1400a6a10
mov rax, qword [rax]
mov qword [rsp + 0x740], rax
mov dword [rsp + 0x20], 0x96
mov r9d, 0x32
mov r8d, 0x2d
mov edx, 0x28
lea rcx, [rsp + 0x5b8]
call fcn.140096a40
mov qword [rsp + 0x420], rax
lea rdx, [rsp + 0x7f8]
mov rcx, qword [rsp + 0x420]
call fcn.1400741f0
nop
mov dword [rsp + 0x20], 0x96
mov r9d, 0x37
mov r8d, 0x32
mov edx, 0x2d
lea rcx, [rsp + 0x5d8]
call fcn.140096a40
mov qword [rsp + 0x428], rax
lea rdx, [rsp + 0x7e8]
mov rcx, qword [rsp + 0x428]
call fcn.1400741f0
nop
mov dword [rsp + 0x20], 0x96
mov r9d, 0x41
mov r8d, 0x3c
mov edx, 0x37
lea rcx, [rsp + 0x5e8]
call fcn.140096a40
mov qword [rsp + 0x430], rax
lea rdx, [rsp + 0x7d8]
mov rcx, qword [rsp + 0x430]
call fcn.1400741f0
nop
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x18]
mulss xmm0, dword [0x1400d7da8]
movss dword [rsp + 0x238], xmm0
call fcn.14005dbb0
movzx eax, al
test eax, eax
je 0x14009d736
lea rax, [rsp + 0x7d8]
mov qword [rsp + 0x2d0], rax
jmp 0x14009d781
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x14009d751
lea rax, [rsp + 0x7e8]
mov qword [rsp + 0x2c8], rax
jmp 0x14009d761
lea rax, [rsp + 0x7f8]
mov qword [rsp + 0x2c8], rax
mov rax, qword [rsp + 0x2c8]
mov qword [rsp + 0x438], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x2d0], rax
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0x440], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x448], rax
lea rcx, [rsp + 0x740]
call fcn.140096e30
add rax, 0x14
mov qword [rsp + 0x450], rax
movss xmm3, dword [rsp + 0x238]
mov r8, qword [rsp + 0x448]
mov rdx, qword [rsp + 0x450]
lea rcx, [rsp + 0x5f8]
call fcn.14009a0d0
lea rcx, [rsp + 0x598]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x740]
call fcn.140096e30
lea rcx, [rsp + 0x598]
lea rdi, [rax + 0x14]
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009d897
mov r8d, 1
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x680]
call fcn.1400670a0
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rax + 0x40]
movss dword [rsp + 0x23c], xmm0
movss xmm1, dword [0x1400d7d5c]
mov ecx, 7
call fcn.140059f30
mov dword [rsp + 0x240], eax
movss xmm0, dword [rsp + 0x23c]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
mov r8d, dword [rsp + 0x240]
mov rdx, qword [rsp + 0x688]
mov rcx, qword [rsp + 0x680]
call fcn.140066ce0
nop
movss xmm0, dword [rsp + 0x684]
addss xmm0, dword [rsp + 0x674]
movss xmm1, dword [rsp + 0x680]
addss xmm1, dword [rsp + 0x670]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm1
movss xmm2, dword [rsp + 0x684]
movss xmm1, dword [rsp + 0x680]
lea rcx, [rsp + 0x790]
call fcn.14003f600
nop
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009d916
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x118]
mov qword [rsp + 0x458], rax
lea rax, [rsp + 0x458]
mov qword [rsp + 0x2d8], rax
jmp 0x14009d942
mov rax, qword [rsp + 0xe0]
add rax, 0x38
mov r8, rax
lea rdx, [rsp + 0x680]
lea rcx, [rsp + 0x498]
call fcn.140040340
mov qword [rsp + 0x2d8], rax
mov rax, qword [rsp + 0x2d8]
mov qword [rsp + 0x460], rax
mov rax, qword [rsp + 0x460]
mov rax, qword [rax]
mov qword [rsp + 0x750], rax
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x6a0]
call fcn.14003f4f0
mov dword [rsp + 0x390], 0x200000
movzx eax, byte [rsp + 0xc2]
test eax, eax
je 0x14009d9a2
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x2e0], rax
jmp 0x14009d9b2
mov rax, qword [rsp + 0x840]
mov qword [rsp + 0x2e0], rax
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x678], 0
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x14009da0a
mov rax, qword [rsp + 0x838]
mov qword [rsp + 0x110], rax
mov rcx, qword [rsp + 0x838]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, qword [rsp + 0x838]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x678], rax
movzx eax, byte [rsp + 0x62]
test eax, eax
jne 0x14009da20
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x14009eaf5
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x14009da48
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x110]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x678], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x140], rax
lea rcx, [rsp + 0x748]
call fcn.14003f530
lea rcx, [rsp + 0x788]
call fcn.14003f530
nop
mov qword [rsp + 0x220], 0
mov qword [rsp + 0x228], 0
mov dword [rsp + 0xf8], 0xfffffc18
mov dword [rsp + 0xfc], 0xfffffc18
mov dword [rsp + 0x98], 0
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x14009db00
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x140]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 0
mov qword [rsp + rcx + 0x220], rax
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0xf8], 0xffffffff
mov eax, dword [rsp + 0x98]
inc eax
mov dword [rsp + 0x98], eax
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x14009db61
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.14003be90
cdqe
mov rcx, qword [rsp + 0x140]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 1
mov qword [rsp + rcx + 0x220], rax
mov eax, 4
imul rax, rax, 1
mov dword [rsp + rax + 0xf8], 0xffffffff
mov eax, dword [rsp + 0x98]
inc eax
mov dword [rsp + 0x98], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009db77
mov dword [rsp + 0x1c4], 1
jmp 0x14009db82
mov dword [rsp + 0x1c4], 0
mov eax, dword [rsp + 0x1c4]
mov ecx, dword [rsp + 0x98]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x98], eax
mov dword [rsp + 0xd8], 0
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x150], rax
jmp 0x14009dbcc
mov rax, qword [rsp + 0x150]
add rax, 2
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x150]
movzx eax, word [rax]
test eax, eax
je 0x14009dcca
mov rax, qword [rsp + 0x150]
movzx eax, word [rax]
cmp eax, 0xa
jne 0x14009dcc5
mov eax, dword [rsp + 0xd8]
inc eax
mov dword [rsp + 0xd8], eax
mov eax, 4
imul rax, rax, 0
cmp dword [rsp + rax + 0xf8], 0xffffffff
jne 0x14009dc64
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x220]
cmp qword [rsp + 0x150], rax
jb 0x14009dc64
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0xf8], ecx
mov eax, dword [rsp + 0x98]
dec eax
mov dword [rsp + 0x98], eax
cmp dword [rsp + 0x98], 0
jg 0x14009dc64
jmp 0x14009dcca
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0xf8], 0xffffffff
jne 0x14009dcc5
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x220]
cmp qword [rsp + 0x150], rax
jb 0x14009dcc5
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0xf8], ecx
mov eax, dword [rsp + 0x98]
dec eax
mov dword [rsp + 0x98], eax
cmp dword [rsp + 0x98], 0
jg 0x14009dcc5
jmp 0x14009dcca
jmp 0x14009dbb8
mov eax, dword [rsp + 0xd8]
inc eax
mov dword [rsp + 0xd8], eax
mov eax, 4
imul rax, rax, 0
cmp dword [rsp + rax + 0xf8], 0xffffffff
jne 0x14009dd04
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0xf8], ecx
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0xf8], 0xffffffff
jne 0x14009dd2e
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0xf8], ecx
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x220]
mov qword [rsp + 0x468], rax
mov eax, 8
imul rax, rax, 0
mov rdx, qword [rsp + 0x140]
mov rcx, qword [rsp + rax + 0x220]
call fcn.14005c8a0
mov qword [rsp + 0x470], rax
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x468]
mov rdx, qword [rsp + 0x470]
lea rcx, [rsp + 0x510]
call fcn.14009a360
movss xmm0, dword [rax]
movss dword [rsp + 0x748], xmm0
mov eax, 4
imul rax, rax, 0
cvtsi2ss xmm0, dword [rsp + rax + 0xf8]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x1a80]
movss dword [rsp + 0x74c], xmm0
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0xf8], 0
jl 0x14009de89
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x220]
mov qword [rsp + 0x478], rax
mov eax, 8
imul rax, rax, 1
mov rdx, qword [rsp + 0x140]
mov rcx, qword [rsp + rax + 0x220]
call fcn.14005c8a0
mov qword [rsp + 0x480], rax
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x478]
mov rdx, qword [rsp + 0x480]
lea rcx, [rsp + 0x518]
call fcn.14009a360
movss xmm0, dword [rax]
movss dword [rsp + 0x788], xmm0
mov eax, 4
imul rax, rax, 1
cvtsi2ss xmm0, dword [rsp + rax + 0xf8]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x1a80]
movss dword [rsp + 0x78c], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009decc
cvtsi2ss xmm0, dword [rsp + 0xd8]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x1a80]
movaps xmm2, xmm0
movss xmm1, dword [rsp + 0x670]
lea rcx, [rsp + 0x520]
call fcn.14003f4f0
mov rax, qword [rax]
mov qword [rsp + 0x6a0], rax
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x14009e13e
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7c]
test eax, eax
je 0x14009e13e
mov eax, dword [rsp + 0x858]
and eax, 0x1000
test eax, eax
jne 0x14009dfcb
movss xmm0, dword [rsp + 0x670]
mulss xmm0, dword [0x1400d7d1c]
movss dword [rsp + 0x1cc], xmm0
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x670]
subss xmm0, dword [rax + 0x38]
movss dword [rsp + 0x1c8], xmm0
mov rax, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x48]
comiss xmm0, dword [rsp + 0x748]
jbe 0x14009df7f
movss xmm0, dword [rsp + 0x748]
subss xmm0, dword [rsp + 0x1cc]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.14003be50
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x58]
movss dword [rax + 0x48], xmm0
jmp 0x14009dfc9
movss xmm0, dword [rsp + 0x748]
subss xmm0, dword [rsp + 0x1c8]
mov rax, qword [rsp + 0x58]
comiss xmm0, dword [rax + 0x48]
jb 0x14009dfc9
movss xmm0, dword [rsp + 0x748]
subss xmm0, dword [rsp + 0x1c8]
addss xmm0, dword [rsp + 0x1cc]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x58]
movss dword [rax + 0x48], xmm0
jmp 0x14009dfd8
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
movss dword [rax + 0x48], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009e132
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x74c]
subss xmm0, dword [rax + 0x1a80]
movss xmm1, dword [rsp + 0x9c]
comiss xmm1, xmm0
jbe 0x14009e035
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x74c]
subss xmm0, dword [rax + 0x1a80]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.14003be50
movss dword [rsp + 0x9c], xmm0
jmp 0x14009e085
movss xmm0, dword [rsp + 0x74c]
subss xmm0, dword [rsp + 0x674]
comiss xmm0, dword [rsp + 0x9c]
jb 0x14009e085
movss xmm0, dword [rsp + 0x74c]
subss xmm0, dword [rsp + 0x674]
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rax + 0x3c]
mulss xmm1, dword [0x1400d7d80]
addss xmm0, xmm1
movss dword [rsp + 0x9c], xmm0
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rax + 0x3c]
mulss xmm0, dword [0x1400d7d80]
movss xmm1, dword [rsp + 0x6a4]
addss xmm1, xmm0
movaps xmm0, xmm1
subss xmm0, dword [rsp + 0x674]
xorps xmm1, xmm1
call fcn.14003be50
movss dword [rsp + 0x244], xmm0
movss xmm2, dword [rsp + 0x244]
xorps xmm1, xmm1
movss xmm0, dword [rsp + 0x9c]
call fcn.14003bd70
movss dword [rsp + 0x9c], xmm0
mov rax, qword [rsp + 0xd0]
movss xmm0, dword [rax + 0xa0]
subss xmm0, dword [rsp + 0x9c]
movss xmm1, dword [rsp + 0x754]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x754], xmm0
mov rax, qword [rsp + 0xd0]
movss xmm0, dword [rsp + 0x9c]
movss dword [rax + 0xa0], xmm0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 0
xorps xmm2, xmm2
mov rax, qword [rsp + 0x58]
movss xmm1, dword [rax + 0x48]
lea rcx, [rsp + 0x780]
call fcn.14003f4f0
nop
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x14009e568
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.14003be90
cdqe
mov rcx, qword [rsp + 0x140]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x488], rax
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.14003be20
cdqe
mov rcx, qword [rsp + 0x140]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x2b0], rax
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x14009e1d8
movss xmm0, dword [0x1400d7d5c]
movss dword [rsp + 0x1d0], xmm0
jmp 0x14009e1e9
movss xmm0, dword [0x1400d7d34]
movss dword [rsp + 0x1d0], xmm0
movss xmm1, dword [rsp + 0x1d0]
mov ecx, 0x31
call fcn.140059f30
mov dword [rsp + 0x254], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009e21a
xorps xmm0, xmm0
movss dword [rsp + 0x1d4], xmm0
jmp 0x14009e22b
movss xmm0, dword [0x1400d7e04]
movss dword [rsp + 0x1d4], xmm0
movss xmm0, dword [rsp + 0x1d4]
movss dword [rsp + 0x250], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009e254
xorps xmm0, xmm0
movss dword [rsp + 0x1d8], xmm0
jmp 0x14009e265
movss xmm0, dword [0x1400d7d80]
movss dword [rsp + 0x1d8], xmm0
movss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0x24c], xmm0
lea r8, [rsp + 0x788]
lea rdx, [rsp + 0x750]
lea rcx, [rsp + 0x528]
call fcn.140040340
lea r8, [rsp + 0x780]
mov rdx, rax
lea rcx, [rsp + 0x758]
call fcn.1400402f0
nop
mov rax, qword [rsp + 0x488]
mov qword [rsp + 0x690], rax
mov rax, qword [rsp + 0x2b0]
cmp qword [rsp + 0x690], rax
jae 0x14009e568
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x79c]
addss xmm0, dword [rax + 0x1a80]
movss xmm1, dword [rsp + 0x75c]
comiss xmm1, xmm0
jbe 0x14009e2fc
jmp 0x14009e568
movss xmm0, dword [rsp + 0x794]
comiss xmm0, dword [rsp + 0x75c]
jbe 0x14009e35a
mov rax, qword [rsp + 0x2b0]
cmp qword [rsp + 0x690], rax
jae 0x14009e355
mov rax, qword [rsp + 0x690]
movzx eax, word [rax]
mov dword [rsp + 0x248], eax
mov rax, qword [rsp + 0x690]
add rax, 2
mov qword [rsp + 0x690], rax
cmp dword [rsp + 0x248], 0xa
jne 0x14009e353
jmp 0x14009e355
jmp 0x14009e30f
jmp 0x14009e529
mov byte [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x690]
mov r8, qword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x690]
lea rcx, [rsp + 0x6e0]
call fcn.14009a360
nop
xorps xmm0, xmm0
comiss xmm0, dword [rsp + 0x6e0]
jb 0x14009e3d9
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov qword [rsp + 0x490], rax
mov dx, 0x20
mov rcx, qword [rsp + 0x490]
call fcn.140099c70
mulss xmm0, dword [0x1400d7d2c]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x6e0], xmm0
movss xmm2, dword [rsp + 0x24c]
movss xmm1, dword [rsp + 0x6e0]
lea rcx, [rsp + 0x530]
call fcn.14003f4f0
mov r8, rax
lea rdx, [rsp + 0x758]
lea rcx, [rsp + 0x538]
call fcn.140040340
mov qword [rsp + 0x308], rax
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x250]
subss xmm0, dword [rax + 0x1a80]
movaps xmm2, xmm0
xorps xmm1, xmm1
lea rcx, [rsp + 0x540]
call fcn.14003f4f0
mov r8, rax
lea rdx, [rsp + 0x758]
lea rcx, [rsp + 0x548]
call fcn.140040340
mov qword [rsp + 0x318], rax
mov r8, qword [rsp + 0x308]
mov rdx, qword [rsp + 0x318]
lea rcx, [rsp + 0x7b0]
call fcn.14003f360
nop
lea rdx, [rsp + 0x790]
lea rcx, [rsp + 0x5a8]
call fcn.14003f3a0
lea rdx, [rsp + 0x5a8]
lea rcx, [rsp + 0x7b0]
call fcn.1400498f0
nop
lea rdx, [rsp + 0x790]
lea rcx, [rsp + 0x4a0]
call fcn.14003f3a0
lea rdx, [rsp + 0x4a0]
lea rcx, [rsp + 0x7b0]
call fcn.140065a20
movzx eax, al
test eax, eax
je 0x14009e529
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x2f8]
mov qword [rsp + 0x328], rax
mov dword [rsp + 0x28], 0
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x254]
lea r8, [rsp + 0x7b8]
lea rdx, [rsp + 0x7b0]
mov rcx, qword [rsp + 0x328]
call fcn.1400780b0
nop
movss xmm0, dword [rsp + 0x750]
subss xmm0, dword [rsp + 0x780]
movss dword [rsp + 0x758], xmm0
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x75c]
addss xmm0, dword [rax + 0x1a80]
movss dword [rsp + 0x75c], xmm0
jmp 0x14009e2bd
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009e593
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x678]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x14009e6ce
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x14009e5a9
mov dword [rsp + 0x1dc], 1
jmp 0x14009e5b4
mov dword [rsp + 0x1dc], 0
movss xmm1, dword [0x1400d7d5c]
mov ecx, dword [rsp + 0x1dc]
call fcn.140059f30
mov dword [rsp + 0x258], eax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x2f8]
mov qword [rsp + 0x378], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009e5fd
mov qword [rsp + 0x2c0], 0
jmp 0x14009e60d
lea rax, [rsp + 0x790]
mov qword [rsp + 0x2c0], rax
mov rax, qword [rsp + 0x678]
mov qword [rsp + 0x330], rax
lea r8, [rsp + 0x780]
lea rdx, [rsp + 0x750]
lea rcx, [rsp + 0x550]
call fcn.1400402f0
mov qword [rsp + 0x368], rax
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x1a80]
movss dword [rsp + 0x25c], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov qword [rsp + 0x380], rax
mov rax, qword [rsp + 0x2c0]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x330]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x258]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x368]
movss xmm2, dword [rsp + 0x25c]
mov rdx, qword [rsp + 0x380]
mov rcx, qword [rsp + 0x378]
call fcn.140078380
nop
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x14009eaf0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
movss xmm0, dword [rax + 0xe78]
addss xmm0, dword [rcx + 0x10]
mov rax, qword [rsp + 0x58]
movss dword [rax + 0xe78], xmm0
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0xd1]
test eax, eax
je 0x14009e758
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
comiss xmm0, dword [rax + 0xe78]
jae 0x14009e758
mov rax, qword [rsp + 0x58]
movss xmm0, dword [rax + 0xe78]
movss xmm1, dword [0x1400d7d64]
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmodf]
movss xmm1, dword [0x1400d7d50]
comiss xmm1, xmm0
jae 0x14009e758
mov dword [rsp + 0x1e0], 0
jmp 0x14009e763
mov dword [rsp + 0x1e0], 1
movzx eax, byte [rsp + 0x1e0]
mov byte [rsp + 0xea], al
lea r8, [rsp + 0x748]
lea rdx, [rsp + 0x750]
lea rcx, [rsp + 0x558]
call fcn.140040340
lea r8, [rsp + 0x780]
mov rdx, rax
lea rcx, [rsp + 0x590]
call fcn.1400402f0
mov rdx, rax
lea rcx, [rsp + 0x698]
call fcn.14005c160
nop
movss xmm0, dword [rsp + 0x69c]
subss xmm0, dword [0x1400d7d74]
movss xmm1, dword [rsp + 0x698]
addss xmm1, dword [0x1400d7d5c]
mov rax, qword [rsp + 0x68]
movss xmm2, dword [rsp + 0x69c]
subss xmm2, dword [rax + 0x1a80]
addss xmm2, dword [0x1400d7d2c]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm1
movss xmm1, dword [rsp + 0x698]
lea rcx, [rsp + 0x7c8]
call fcn.14003f410
nop
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x18]
mulss xmm0, dword [0x1400ec03c]
movss dword [rsp + 0x260], xmm0
lea rcx, [rsp + 0x740]
call fcn.140096e30
add rax, 4
mov qword [rsp + 0x3c0], rax
movss xmm3, dword [rsp + 0x260]
lea r8, [rsp + 0x7c8]
mov rdx, qword [rsp + 0x3c0]
lea rcx, [rsp + 0x568]
call fcn.14009a040
mov rax, qword [rax]
mov qword [rsp + 0x3b0], rax
lea rcx, [rsp + 0x740]
call fcn.140096e30
mov rcx, qword [rsp + 0x3b0]
mov qword [rax + 4], rcx
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x18]
mulss xmm0, dword [0x1400ec03c]
movss dword [rsp + 0x264], xmm0
lea rdx, [rsp + 0x4d8]
lea rcx, [rsp + 0x7c8]
call fcn.140059b50
mov qword [rsp + 0x370], rax
lea rcx, [rsp + 0x740]
call fcn.140096e30
add rax, 0xc
mov qword [rsp + 0x398], rax
movss xmm3, dword [rsp + 0x264]
mov r8, qword [rsp + 0x370]
mov rdx, qword [rsp + 0x398]
lea rcx, [rsp + 0x508]
call fcn.14009a040
mov rax, qword [rax]
mov qword [rsp + 0x358], rax
lea rcx, [rsp + 0x740]
call fcn.140096e30
mov rcx, qword [rsp + 0x358]
mov qword [rax + 0xc], rcx
movzx eax, byte [rsp + 0xea]
test eax, eax
je 0x14009ea89
lea rdx, [rsp + 0x790]
lea rcx, [rsp + 0x4c0]
call fcn.14003f3a0
lea rdx, [rsp + 0x4c0]
lea rcx, [rsp + 0x7c8]
call fcn.140065a20
movzx eax, al
test eax, eax
je 0x14009ea89
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x2f8]
mov qword [rsp + 0x300], rax
movss xmm1, dword [0x1400d7d5c]
xor ecx, ecx
call fcn.140059f30
mov dword [rsp + 0x268], eax
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x4e0]
call fcn.14003f4f0
mov qword [rsp + 0x350], rax
lea rcx, [rsp + 0x740]
call fcn.140096e30
add rax, 0xc
mov qword [rsp + 0x348], rax
mov r8, qword [rsp + 0x350]
mov rdx, qword [rsp + 0x348]
lea rcx, [rsp + 0x4d0]
call fcn.140040340
mov qword [rsp + 0x320], rax
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x4b8]
call fcn.14003f4f0
mov qword [rsp + 0x340], rax
lea rcx, [rsp + 0x740]
call fcn.140096e30
add rax, 4
mov qword [rsp + 0x338], rax
mov r8, qword [rsp + 0x340]
mov rdx, qword [rsp + 0x338]
lea rcx, [rsp + 0x4b0]
call fcn.140040340
mov qword [rsp + 0x310], rax
movss xmm0, dword [0x1400d7d5c]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x268]
mov r8, qword [rsp + 0x320]
mov rdx, qword [rsp + 0x310]
mov rcx, qword [rsp + 0x300]
call fcn.140076020
nop
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009eaf0
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x108]
mov rcx, qword [rcx + 0x38]
mov qword [rax + 0x31b0], rcx
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x69c]
subss xmm0, dword [rax + 0x1a80]
movss xmm1, dword [rsp + 0x698]
subss xmm1, dword [0x1400d7d5c]
movaps xmm2, xmm0
lea rcx, [rsp + 0x570]
call fcn.14003f4f0
mov rax, qword [rax]
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x31a0], rax
jmp 0x14009ecc0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009eb4a
lea rdx, [rsp + 0x678]
mov rcx, qword [rsp + 0x110]
call fcn.14009a2a0
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x1a80]
movaps xmm2, xmm0
movss xmm1, dword [rsp + 0x670]
lea rcx, [rsp + 0x578]
call fcn.14003f4f0
mov rax, qword [rax]
mov qword [rsp + 0x6a0], rax
jmp 0x14009ebb1
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x14009eb85
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x14009eb85
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x110]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x678], rax
jmp 0x14009ebb1
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x14009ebb1
mov rcx, qword [rsp + 0x110]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, qword [rsp + 0x110]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x678], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009ebdc
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x678]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x14009ecc0
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x14009ebf2
mov dword [rsp + 0x1e4], 1
jmp 0x14009ebfd
mov dword [rsp + 0x1e4], 0
movss xmm1, dword [0x1400d7d5c]
mov ecx, dword [rsp + 0x1e4]
call fcn.140059f30
mov dword [rsp + 0x26c], eax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x2f8]
mov qword [rsp + 0x388], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009ec46
mov qword [rsp + 0x2e8], 0
jmp 0x14009ec56
lea rax, [rsp + 0x790]
mov qword [rsp + 0x2e8], rax
mov rax, qword [rsp + 0x2e8]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x678]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x26c]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x750]
mov rax, qword [rsp + 0x68]
movss xmm2, dword [rax + 0x1a80]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 0x1a78]
mov rcx, qword [rsp + 0x388]
call fcn.140078380
nop
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x14009ecd8
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x14009ecd8
call fcn.140065c10
nop
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009ed24
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x6a4]
addss xmm0, dword [rax + 0x3c]
movaps xmm2, xmm0
movss xmm1, dword [rsp + 0x6a0]
lea rcx, [rsp + 0x580]
call fcn.14003f4f0
mov rcx, rax
call fcn.140099990
nop
call fcn.140056560
call fcn.1400572d0
nop
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x3254]
test eax, eax
je 0x14009ed77
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x14009ed46
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x14009ed77
lea rdx, [0x1400eb850]
lea rcx, [0x1400eb854]
call fcn.14005fbd0
mov r8, qword [rsp + 0x678]
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x750]
call fcn.14005f8b0
nop
movss xmm0, dword [rsp + 0x778]
comiss xmm0, dword [0x1400d7cec]
jbe 0x14009eddc
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x684]
addss xmm0, dword [rax + 0x3c]
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rsp + 0x688]
addss xmm1, dword [rax + 0x50]
movaps xmm2, xmm0
lea rcx, [rsp + 0x588]
call fcn.14003f4f0
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x830]
mov rcx, qword [rax]
call fcn.1400675b0
nop
movzx eax, byte [rsp + 0x93]
test eax, eax
je 0x14009ee02
mov eax, dword [rsp + 0x858]
and eax, 0x8000000
test eax, eax
jne 0x14009ee02
mov ecx, dword [rsp + 0x74]
call fcn.14005fee0
nop
xor eax, eax
test eax, eax
jne 0x14009ee02
mov eax, dword [rsp + 0x858]
and eax, 0x20
test eax, eax
je 0x14009ee22
movzx eax, byte [rsp + 0x92]
jmp 0x14009ee2a
movzx eax, byte [rsp + 0x93]
mov rcx, qword [rsp + 0x808]
xor rcx, rsp
call fcn.1400ca200
add rsp, 0x818
pop rdi
pop rsi
ret