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

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xf8]
sub rsp, 0x1b8
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
mov rsi, r8
mov r14, rcx
mov rbx, qword [0x1401be220]
mov r13, rbx
mov rax, qword [rbx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov r15, qword [rbx + 0x3ef8]
mov qword [rbp - 0x30], r15
cmp byte [r15 + 0xbb], 0
jne 0x14003f9e8
movsxd r8, dword [r15 + 0xf0]
mov rax, qword [r15 + 0xf8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.14000a5a0
mov edi, eax
mov dword [rsp + 0x54], eax
mov rcx, qword [r15]
cmp dword [rcx + 0x3f40], eax
jne 0x14003cf0a
mov r8, r14
mov edx, listen
mov ecx, eax
call fcn.140021cd0
mov rbx, qword [0x1401be220]
mov rax, qword [rbx + 0x3ef8]
movss xmm0, dword [rax + 0x20]
movss xmm8, dword [rax + 0x250]
subss xmm8, xmm0
cmp qword [rax + 0x1a8], 0
jne 0x14003cf38
cmp qword [rbx + 0x4b58], 0
je 0x14003cf46
movss xmm8, dword [rax + 0x220]
subss xmm8, xmm0
subss xmm8, dword [rbx + 0x37d8]
movss dword [rbp - 0x10], xmm8
mov rcx, r14
cmp r14, 0xffffffffffffffff
jae 0x14003cf7d
nop
movzx edx, byte [rcx]
test dl, dl
je 0x14003cf7d
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x14003cf74
cmp byte [rax], dl
je 0x14003cf7d
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x14003cf60
movss xmm4, dword [rbx + 0x3c20]
movss xmm7, dword [0x14015777c]
movss xmm12, dword [0x140157770]
xorps xmm9, xmm9
cmp r14, rcx
jne 0x14003cfa4
xorps xmm6, xmm6
jmp 0x14003cff1
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r14
movss dword [rsp + 0x20], xmm7
movaps xmm3, xmm12
movaps xmm2, xmm4
lea rdx, [rbp + 0x130]
mov rcx, qword [rbx + 0x3c18]
call fcn.14002d6c0
movss xmm0, dword [rbp + 0x130]
addss xmm0, dword [0x1401575fc]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss xmm4, dword [rbp + 0x134]
mov rax, qword [rbx + 0x3ef8]
test byte [rbx + 0x4780], 1
je 0x14003d00b
movss xmm0, dword [rbx + 0x4784]
jmp 0x14003d013
movss xmm0, dword [rax + 0x1bc]
movss xmm14, dword [0x140157604]
comiss xmm9, xmm0
jbe 0x14003d05a
movss xmm1, dword [rax + 0x250]
cmp qword [rax + 0x1a8], 0
jne 0x14003d03e
cmp qword [rbx + 0x4b58], 0
je 0x14003d046
movss xmm1, dword [rax + 0x220]
subss xmm1, dword [rax + 0x100]
addss xmm1, xmm0
movaps xmm0, xmm14
maxss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movaps xmm3, xmm4
mov rdx, qword [rbp + 0x120]
mov rdx, qword [rdx]
lea rcx, [rbp + 0x130]
call fcn.14001a550
movss xmm4, dword [r15 + 0x104]
movaps xmm1, xmm4
addss xmm1, dword [0x1401576d0]
movss xmm3, dword [r15 + 0x100]
movaps xmm0, xmm3
addss xmm0, xmm8
subss xmm4, xmm14
addss xmm3, dword [0x14015770c]
movss dword [rbp - 0x68], xmm3
movss dword [rbp - 0x64], xmm4
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x5c], xmm1
movaps xmm2, xmm4
movss xmm10, dword [rbp + 0x134]
addss xmm2, xmm10
maxss xmm6, xmm9
movss xmm0, dword [rbp + 0x130]
movss dword [rbp - 0x3c], xmm0
addss xmm6, xmm0
addss xmm6, xmm3
movss dword [rbp - 8], xmm3
movss dword [rbp - 4], xmm4
movss dword [rbp], xmm6
movss dword [rbp + 4], xmm2
addss xmm2, dword [0x14015766c]
addss xmm6, xmm9
subss xmm2, xmm4
subss xmm6, xmm3
movss dword [rbp + 0x130], xmm6
movss dword [rbp + 0x134], xmm2
movaps xmm1, xmm7
lea rcx, [rbp + 0x130]
call fcn.14001a180
mov r9d, 0x400
lea r8, [rbp - 0x68]
mov edx, edi
lea rcx, [rbp - 8]
call fcn.14001a2f0
test al, al
je 0x14003f9e8
mov r12d, dword [r13 + 0x479c]
mov edx, edi
lea rcx, [rbp - 0x68]
call fcn.14000e130
movzx edx, al
mov byte [rsp + 0x61], al
test al, al
je 0x14003d17c
mov dword [r13 + 0x4a98], 1
mov rdi, qword [0x1401be220]
xor r8d, r8d
mov ecx, dword [rsp + 0x54]
test ecx, ecx
je 0x14003d19f
cmp dword [rdi + 0x4c30], ecx
jne 0x14003d19f
add rdi, 0x4c28
jmp 0x14003d1a2
mov rdi, r8
mov qword [rbp - 0x38], rdi
shr r12d, 8
and r12b, 1
cmp dword [r13 + 0x3f58], ecx
je 0x14003d1d8
cmp dword [r13 + 0x48e8], ecx
jne 0x14003d1d8
test byte [r13 + 0x48f4], 1
jne 0x14003d1d4
cmp dword [r13 + 0x490c], 2
jne 0x14003d1d8
mov al, 1
jmp 0x14003d1da
xor al, al
mov byte [rbp + 0x138], al
test dl, dl
je 0x14003d1f1
cmp byte [r13 + 0x3748], r8b
je 0x14003d1f1
mov bl, 1
jmp 0x14003d1f3
xor bl, bl
mov byte [rbp + 0x130], bl
mov byte [rbp - 0x70], r8b
xor r14b, r14b
test rdi, rdi
je 0x14003d210
cmp byte [rdi + 0x6b], 1
je 0x14003d210
mov r15b, 1
jmp 0x14003d213
xor r15b, r15b
test bl, bl
jne 0x14003d227
test al, al
jne 0x14003d227
test r12b, r12b
jne 0x14003d227
mov byte [rsp + 0x50], r8b
jmp 0x14003d235
mov byte [rsp + 0x50], 1
cmp dword [r13 + 0x3f58], ecx
jne 0x14003d23e
test r15b, r15b
je 0x14003d476
lea rdi, [r13 + 0x4c28]
mov qword [rbp - 0x38], rdi
mov dword [rdi + 0xe80], 0xbe99999a
mov ecx, dword [rdi + 8]
call fcn.14003cd60
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], r14b
jne 0x14003d262
lea esi, [rbx + 1]
mov ecx, dword [rdi + 0x3c]
cmp esi, ecx
jle 0x14003d299
test ecx, ecx
je 0x14003d284
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14003d289
mov eax, 8
mov edx, esi
cmp eax, esi
cmovg edx, eax
lea rcx, [rdi + 0x38]
call fcn.140022940
mov dword [rdi + 0x38], esi
movsxd r8, esi
mov r14, qword [rbp + 0x110]
mov rdx, r14
mov rcx, qword [rdi + 0x40]
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [rsp + 0x54]
cmp dword [rdi + 8], esi
jne 0x14003d2e6
test r15b, r15b
jne 0x14003d2e6
mov byte [rbp + 0x128], 1
cmp dword [rdi + 0x10], ebx
jne 0x14003d2e6
cmp byte [rdi + 0x48], r15b
je 0x14003d2ed
movsxd r8, ebx
mov rdx, r14
mov rcx, qword [rdi + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x14003d2ed
mov byte [rbp + 0x128], 0
mov dword [rdi + 8], esi
movsxd r14, dword [rbp + 0x118]
lea ebx, [r14 + 1]
mov ecx, dword [rdi + 0x1c]
cmp ebx, ecx
jle 0x14003d326
test ecx, ecx
je 0x14003d311
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14003d316
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
lea rcx, [rdi + 0x18]
call fcn.1400229d0
mov dword [rdi + 0x18], ebx
mov ecx, dword [rdi + 0x2c]
test ecx, ecx
jns 0x14003d349
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor edx, edx
test eax, eax
cmovg edx, eax
lea rcx, [rdi + 0x28]
call fcn.140022940
xor r8d, r8d
mov dword [rdi + 0x28], r8d
mov byte [rdi + 0x48], r8b
mov rcx, qword [rbp + 0x110]
mov rsi, rcx
mov r15, qword [rdi + 0x20]
mov rbx, r15
dec r14
lea r14, [r15 + r14*2]
cmp r15, r14
jae 0x14003d3a5
cmp byte [rsi], 0
je 0x14003d39b
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.14000a8c0
movsxd rcx, eax
add rsi, rcx
movzx eax, word [rbp - 0x80]
mov word [rbx], ax
add rbx, 2
cmp rbx, r14
jb 0x14003d371
mov rcx, qword [rbp + 0x110]
xor r8d, r8d
mov word [rbx], r8w
sub rbx, r15
sar rbx, 1
mov dword [rdi + 0xc], ebx
sub esi, ecx
mov dword [rdi + 0x10], esi
movzx eax, byte [rbp + 0x128]
test al, al
je 0x14003d3e6
mov ecx, ebx
cmp dword [rdi + 0x54], ebx
cmovl ecx, dword [rdi + 0x54]
mov dword [rdi + 0x54], ecx
mov ecx, ebx
cmp dword [rdi + 0x58], ebx
cmovl ecx, dword [rdi + 0x58]
mov dword [rdi + 0x58], ecx
cmp dword [rdi + 0x5c], ebx
cmovl ebx, dword [rdi + 0x5c]
mov dword [rdi + 0x5c], ebx
jmp 0x14003d42b
mov qword [rdi + 0x50], 0
mov dword [rdi + 0xe72], 0x630000
mov dword [rdi + 0xe78], r8d
mov dword [rdi + 0xe7c], 0x3e7
mov qword [rdi + 0x58], 0
mov word [rdi + 0x69], 1
mov dword [rdi + 0x70], r8d
mov byte [rdi + 0x68], 0
mov byte [rdi + 0x6b], 1
mov byte [rdi + 0x60], 0
mov dword [rdi + 0x64], r8d
movzx r15d, byte [rbp + 0x138]
test r15b, r15b
je 0x14003d44b
test al, al
je 0x14003d446
test byte [r13 + 0x48f4], 4
jne 0x14003d44b
mov r14b, 1
jmp 0x14003d44e
xor r14b, r14b
movzx ebx, byte [rbp + 0x130]
test r12b, r12b
jne 0x14003d46d
test bl, bl
je 0x14003d467
cmp byte [r13 + 0xe24], r12b
jne 0x14003d46d
mov ecx, dword [rsp + 0x54]
jmp 0x14003d47e
mov r14b, 1
mov ecx, dword [rsp + 0x54]
jmp 0x14003d47e
movzx r15d, byte [rbp + 0x138]
movzx r12d, byte [r13 + 0x79]
mov byte [rsp + 0x63], r12b
movzx esi, byte [rsp + 0x50]
cmp dword [r13 + 0x3f58], ecx
je 0x14003d4cd
test sil, sil
je 0x14003d4c0
mov rdx, qword [rbp - 0x30]
call fcn.14000de10
mov rdx, qword [rbp - 0x30]
mov ecx, dword [rsp + 0x54]
call fcn.14001be40
xor edx, edx
mov rcx, qword [rbp - 0x30]
call fcn.140016f40
mov ecx, dword [rsp + 0x54]
cmp dword [r13 + 0x3f58], ecx
jne 0x14003d586
test bl, bl
je 0x14003d4ed
mov rax, qword [0x1401be220]
mov dword [rax + 0x45b0], ecx
mov dword [rax + 0x45ac], ecx
mov word [rax + 0x45b4], 0
or dword [r13 + 0x4768], 3
mov rax, qword [0x1401be220]
mov dword [rax + 0x3ff8], ecx
mov dword [rax + 0x3ff4], ecx
mov word [rax + 0x3ffc], 0
mov dword [rax + 0x4004], ecx
mov dword [rax + 0x4000], ecx
mov word [rax + 0x4008], 0
test r12b, r12b
je 0x14003d540
mov dword [rax + 0x461c], ecx
mov dword [rax + 0x4618], ecx
mov word [rax + 0x4620], 0
cmp dword [r13 + 0x3f58], ecx
jne 0x14003d586
test rdi, rdi
jne 0x14003d55b
xor edx, edx
xor ecx, ecx
call fcn.14000de10
mov ecx, dword [rsp + 0x54]
cmp dword [r13 + 0x3f58], ecx
jne 0x14003d586
cmp byte [r13 + 0x3748], 0
je 0x14003d582
mov eax, dword [rbp - 0x70]
movzx eax, al
test sil, sil
mov edx, 1
cmove eax, edx
mov dword [rbp - 0x70], eax
mov dl, 1
jmp 0x14003d588
xor dl, dl
mov byte [rbp + 0x130], dl
test rdi, rdi
je 0x14003d5b4
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
jne 0x14003d5a0
test r14b, r14b
je 0x14003d5b4
test dl, dl
je 0x14003d5b4
mov byte [rbp + 0x128], 1
mov byte [rbp + 0x138], 0
jmp 0x14003d5de
xor r8b, r8b
mov byte [rbp + 0x138], r8b
mov byte [rbp + 0x128], r8b
test dl, dl
jne 0x14003d5d9
mov byte [rbp + 0x128], r8b
cmp dword [r13 + 0x3f58], ecx
jne 0x14003d5e8
test rdi, rdi
je 0x14003d5e8
cmp byte [rdi + 0x48], 0
je 0x14003d5e8
mov al, 1
jmp 0x14003d5ea
xor al, al
mov byte [rsp + 0x62], al
cmp qword [rbp + 0x108], 0
je 0x14003d615
test al, al
je 0x14003d602
mov rax, qword [rdi + 0x30]
jmp 0x14003d609
mov rax, qword [rbp + 0x110]
cmp byte [rax], 0
jne 0x14003d615
mov byte [rsp + 0x5c], 1
jmp 0x14003d61b
xor dl, dl
mov byte [rsp + 0x5c], dl
mov esi, 0x20000c
movss xmm15, dword [rbp - 0x68]
movss dword [rbp - 0x40], xmm15
movss xmm13, dword [0x1401575d0]
cmp dword [r13 + 0x3f58], ecx
jne 0x14003da51
mov byte [rdi + 0xe86], 0
mov eax, dword [rbp + 0x118]
mov dword [rdi + 0x4c], eax
xor eax, eax
mov dword [rdi + 0xe88], eax
cmp byte [r13 + 0xe10], al
sete al
mov byte [r13 + 0x3f65], al
movss xmm6, dword [r13 + 0xe08]
subss xmm6, xmm15
subss xmm6, dword [r13 + 0x380c]
addss xmm6, dword [rdi + 0x50]
movss xmm2, dword [r13 + 0x3c20]
mulss xmm2, xmm13
test r14b, r14b
je 0x14003d6ba
xor r14d, r14d
mov dword [rdi + 0x58], r14d
mov eax, dword [rdi + 0xc]
mov dword [rdi + 0x5c], eax
mov dword [rdi + 0x54], eax
mov byte [rdi + 0x6a], r14b
mov byte [rdi + 0xe85], 1
jmp 0x14003d96c
movzx eax, byte [rsp + 0x61]
test al, al
je 0x14003d836
cmp word [r13 + 0x3752], 2
jb 0x14003d836
cmp byte [r13 + 0xe25], 0
jne 0x14003d836
cmp byte [rdi + 0x6b], 0
je 0x14003d6fe
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x28]
call fcn.14003ad10
movss xmm2, dword [rbp - 0x1c]
movaps xmm1, xmm6
mov rcx, rdi
call fcn.14003b2b0
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x58], eax
mov dword [rdi + 0x5c], eax
mov byte [rdi + 0x6a], 0
movzx ecx, word [r13 + 0x3752]
sub ecx, 2
test cl, 1
jne 0x14003d7d2
test eax, eax
je 0x14003d741
movsxd rcx, eax
mov rax, qword [rdi + 0x20]
cmp word [rax + rcx*2 - 2], 0xa
je 0x14003d741
xor cl, cl
jmp 0x14003d743
mov cl, 1
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
jne 0x14003d74f
test cl, cl
jne 0x14003d76f
lea rdx, [rdi + 0x54]
mov r8d, esi
mov rcx, rdi
call fcn.14003b770
mov byte [rdi + 0xe84], 1
mov dword [rdi + 0xe80], 0xbe99999a
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
jne 0x14003d78a
cmp dword [rdi + 0x58], eax
jne 0x14003d787
mov eax, dword [rdi + 0x54]
mov dword [rdi + 0x5c], eax
mov dword [rdi + 0x58], eax
jmp 0x14003d78a
mov dword [rdi + 0x54], eax
mov edx, dword [rdi + 0x54]
mov rcx, rdi
call fcn.14003aef0
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x5c], eax
mov eax, dword [rdi + 0xc]
mov edx, dword [rdi + 0x5c]
mov ecx, dword [rdi + 0x58]
cmp ecx, edx
je 0x14003d7c1
cmp ecx, eax
jle 0x14003d7b1
mov dword [rdi + 0x58], eax
mov ecx, eax
cmp edx, eax
jle 0x14003d7ba
mov dword [rdi + 0x5c], eax
mov edx, eax
cmp ecx, edx
jne 0x14003d7c1
mov dword [rdi + 0x54], ecx
cmp dword [rdi + 0x54], eax
jle 0x14003d95f
mov dword [rdi + 0x54], eax
jmp 0x14003d95f
mov r8d, 0x200004
lea rdx, [rdi + 0x54]
mov rcx, rdi
call fcn.14003b770
mov byte [rdi + 0xe84], 1
mov dword [rdi + 0xe80], 0xbe99999a
mov r8d, 0x600005
lea rdx, [rdi + 0x54]
mov rcx, rdi
call fcn.14003b770
mov byte [rdi + 0xe84], 1
mov dword [rdi + 0xe80], 0xbe99999a
mov r8d, 0x600001
lea rdx, [rdi + 0x54]
mov rcx, rdi
call fcn.14003b770
mov byte [rdi + 0xe84], 0
jmp 0x14003d95f
cmp byte [r13 + 0x3748], 0
je 0x14003d8ea
cmp byte [rdi + 0xe85], 0
jne 0x14003d8ea
test al, al
je 0x14003d969
cmp byte [r13 + 0xe25], 0
je 0x14003d8ab
cmp byte [rdi + 0x6b], 0
je 0x14003d87d
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x28]
call fcn.14003ad10
movss xmm2, dword [rbp - 0x1c]
lea rbx, [rdi + 0x5c]
mov eax, dword [rbx]
cmp dword [rdi + 0x58], eax
jne 0x14003d88e
mov eax, dword [rdi + 0x54]
mov dword [rdi + 0x58], eax
movaps xmm1, xmm6
mov rcx, rdi
call fcn.14003b2b0
mov ecx, 0x54
mov rdx, rdi
mov dword [rbx], eax
mov dword [rdx + rcx], eax
jmp 0x14003d95f
cmp byte [rdi + 0x6b], 0
je 0x14003d8c5
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x28]
call fcn.14003ad10
movss xmm2, dword [rbp - 0x1c]
movaps xmm1, xmm6
mov rcx, rdi
call fcn.14003b2b0
mov dword [rdi + 0x58], eax
mov byte [rdi + 0x6a], 0
lea rbx, [rdi + 0x5c]
mov ecx, 0x54
mov rdx, rdi
mov dword [rbx], eax
mov dword [rdx + rcx], eax
jmp 0x14003d95f
cmp byte [r13 + 0xe10], 0
je 0x14003d969
cmp byte [rdi + 0xe85], 0
jne 0x14003d969
movss xmm0, dword [r13 + 0xf8]
ucomiss xmm0, xmm9
jp 0x14003d91f
jne 0x14003d91f
movss xmm0, dword [r13 + 0xfc]
ucomiss xmm0, xmm9
jp 0x14003d91f
je 0x14003d969
cmp byte [rdi + 0x6b], 0
je 0x14003d939
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x28]
call fcn.14003ad10
movss xmm2, dword [rbp - 0x1c]
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
jne 0x14003d947
mov eax, dword [rdi + 0x54]
mov dword [rdi + 0x58], eax
movaps xmm1, xmm6
mov rcx, rdi
call fcn.14003b2b0
mov dword [rdi + 0x5c], eax
mov dword [rdi + 0x54], eax
mov byte [rdi + 0xe84], 1
mov dword [rdi + 0xe80], 0xbe99999a
xor r14d, r14d
cmp byte [rdi + 0xe85], 0
je 0x14003d986
cmp byte [r13 + 0xe10], 0
jne 0x14003d986
mov byte [rdi + 0xe85], 0
cmp byte [r13 + 0xe24], 0
je 0x14003d99a
cmp byte [r13 + 0xe26], 0
je 0x14003d9a9
test r12b, r12b
je 0x14003d9ad
cmp byte [r13 + 0xe27], 0
je 0x14003d9ad
mov al, 1
jmp 0x14003d9af
xor al, al
cmp dword [r13 + 0x37c0], 0
jle 0x14003da51
test al, al
jne 0x14003da22
test r15b, r15b
jne 0x14003da22
mov esi, r14d
mov rbx, r14
nop dword [rax]
mov rax, qword [r13 + 0x37c8]
movzx r8d, word [rbx + rax]
cmp r8d, 0x1f
jbe 0x14003da13
cmp r8d, 0x7f
je 0x14003da13
lea eax, [r8 - 0xe000]
cmp eax, 0x18ff
jbe 0x14003da13
lea rdx, [rdi + 0x54]
mov rcx, rdi
call fcn.14003b770
mov byte [rdi + 0xe84], 1
mov dword [rdi + 0xe80], 0xbe99999a
inc esi
add rbx, 2
cmp esi, dword [r13 + 0x37c0]
jl 0x14003d9d0
mov ecx, dword [r13 + 0x37c4]
test ecx, ecx
jns 0x14003da4a
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, r14d
test eax, eax
cmovg edx, eax
lea rcx, [r13 + 0x37c0]
call fcn.1400229d0
mov dword [r13 + 0x37c0], r14d
xor r15b, r15b
mov byte [rsp + 0x5b], r15b
mov edx, dword [rsp + 0x54]
cmp dword [r13 + 0x3f58], edx
jne 0x14003e5ea
cmp byte [r13 + 0x3f64], r15b
jne 0x14003e5ea
cmp byte [rbp - 0x70], r15b
jne 0x14003e5ea
movaps xmm0, xmm10
subss xmm0, dword [r13 + 0x3810]
divss xmm0, dword [r13 + 0x3c20]
cvttss2si eax, xmm0
mov ecx, 1
cmp eax, ecx
cmovge ecx, eax
mov dword [rdi + 0x64], ecx
movzx eax, byte [r13 + 0xe25]
neg al
sbb ebx, ebx
and ebx, 0x400000
test r12b, r12b
je 0x14003dae8
movzx eax, byte [r13 + 0xe26]
mov byte [rsp + 0x58], al
cmp byte [r13 + 0xe27], r15b
je 0x14003daf4
cmp byte [r13 + 0xe24], r15b
jne 0x14003daf4
test al, al
jne 0x14003daf4
mov byte [rsp + 0x59], 1
jmp 0x14003daf9
movzx eax, byte [r13 + 0xe24]
mov byte [rsp + 0x58], al
mov byte [rsp + 0x59], r15b
mov r14, qword [0x1401be220]
mov ecx, 0xa39
mov r8d, 0x101
call fcn.140017fa0
mov ecx, 0x8000
mov r15d, 0x1000
mov rsi, qword [0x1401be220]
test al, al
je 0x14003db57
mov eax, r15d
cmp byte [rsi + 0x79], 0
cmovne eax, ecx
cmp dword [r14 + 0xe28], eax
mov r14d, dword [rsp + 0x54]
jne 0x14003db5c
mov r8d, 1
mov edx, r14d
mov ecx, 0x239
call fcn.140018140
test al, al
jne 0x14003db9d
jmp 0x14003db5c
mov r14d, dword [rsp + 0x54]
mov r8d, 0x101
mov edx, r14d
mov ecx, 0x220a
call fcn.140017fa0
test al, al
je 0x14003dba4
cmp dword [rsi + 0xe28], 0x2000
jne 0x14003dba4
mov r8d, 1
mov edx, r14d
mov ecx, 0x20a
call fcn.140018140
test al, al
je 0x14003dba4
mov rsi, qword [0x1401be220]
mov byte [rsp + 0x50], 1
jmp 0x14003dbb1
xor al, al
mov byte [rsp + 0x50], al
mov rsi, qword [0x1401be220]
mov r8d, 0x100
mov edx, r14d
mov ecx, 0xa24
call fcn.140017fa0
mov r14, qword [0x1401be220]
test al, al
je 0x14003dc00
mov eax, r15d
cmp byte [r14 + 0x79], 0
mov ecx, 0x8000
cmovne eax, ecx
cmp dword [rsi + 0xe28], eax
mov esi, dword [rsp + 0x54]
jne 0x14003dc04
xor r8d, r8d
mov edx, esi
mov ecx, 0x224
call fcn.140018140
test al, al
jne 0x14003dc3d
jmp 0x14003dc04
mov esi, dword [rsp + 0x54]
mov r8d, 0x100
mov edx, esi
mov ecx, 0x1209
call fcn.140017fa0
test al, al
je 0x14003dc44
cmp dword [r14 + 0xe28], r15d
jne 0x14003dc44
xor r8d, r8d
mov edx, esi
mov ecx, 0x209
call fcn.140018140
test al, al
je 0x14003dc44
mov r14, qword [0x1401be220]
mov byte [rsp + 0x5f], 1
jmp 0x14003dc50
mov byte [rsp + 0x5f], 0
mov r14, qword [0x1401be220]
mov r8d, 0x101
mov edx, esi
mov ecx, 0xa37
call fcn.140017fa0
mov rsi, qword [0x1401be220]
test al, al
je 0x14003dca3
mov eax, r15d
cmp byte [rsi + 0x79], 0
mov ecx, 0x8000
cmovne eax, ecx
cmp dword [r14 + 0xe28], eax
mov r14d, dword [rsp + 0x54]
jne 0x14003dca8
mov r8d, 1
mov edx, r14d
mov ecx, 0x237
call fcn.140018140
test al, al
jne 0x14003dce9
jmp 0x14003dca8
mov r14d, dword [rsp + 0x54]
mov r8d, 0x101
mov edx, r14d
mov ecx, 0x2209
call fcn.140017fa0
test al, al
je 0x14003dcf0
cmp dword [rsi + 0xe28], 0x2000
jne 0x14003dcf0
mov r8d, 1
mov edx, r14d
mov ecx, 0x209
call fcn.140018140
test al, al
je 0x14003dcf0
mov rsi, qword [0x1401be220]
mov byte [rsp + 0x60], 1
jmp 0x14003dcfc
mov byte [rsp + 0x60], 0
mov rsi, qword [0x1401be220]
mov r8d, 0x101
mov edx, r14d
mov ecx, 0xa3b
call fcn.140017fa0
mov r14, qword [0x1401be220]
test al, al
je 0x14003dd53
mov eax, r15d
cmp byte [r14 + 0x79], 0
mov ecx, 0x8000
cmovne eax, ecx
cmp dword [rsi + 0xe28], eax
mov esi, dword [rsp + 0x54]
jne 0x14003dd57
mov r8d, 1
mov edx, esi
mov ecx, 0x23b
call fcn.140018140
test al, al
je 0x14003dd57
mov byte [rsp + 0x5d], 1
jmp 0x14003dd5c
mov esi, dword [rsp + 0x54]
mov byte [rsp + 0x5d], 0
mov r8d, 0x101
mov edx, esi
mov ecx, 0xa3a
call fcn.140017fa0
mov rsi, qword [0x1401be220]
test al, al
je 0x14003ddad
mov eax, r15d
cmp byte [rsi + 0x79], 0
mov ecx, 0x8000
cmovne eax, ecx
cmp dword [r14 + 0xe28], eax
jne 0x14003ddad
mov r8d, 1
mov edx, dword [rsp + 0x54]
mov ecx, 0x23a
call fcn.140018140
test al, al
jne 0x14003de32
test r12b, r12b
mov r12d, dword [rsp + 0x54]
je 0x14003de09
mov r14, rsi
mov r8d, 0x101
mov edx, r12d
mov ecx, 0x2a3b
call fcn.140017fa0
mov rsi, qword [0x1401be220]
test al, al
je 0x14003de09
mov eax, 0x3000
mov edx, 0xa000
cmp byte [rsi + 0x79], 0
cmovne eax, edx
cmp dword [r14 + 0xe28], eax
jne 0x14003de09
mov r8d, 1
mov edx, r12d
mov ecx, 0x23b
call fcn.140018140
test al, al
jne 0x14003de37
mov byte [rsp + 0x5e], 0
mov r8d, 0x100
mov edx, r12d
mov ecx, 0xa22
call fcn.140017fa0
mov r12, qword [0x1401be220]
test al, al
jne 0x14003de3e
mov byte [rsp + 0x5a], al
jmp 0x14003de75
mov r12d, dword [rsp + 0x54]
mov byte [rsp + 0x5e], 1
jmp 0x14003de0e
cmp byte [r12 + 0x79], 0
mov eax, 0x8000
cmovne r15d, eax
cmp dword [rsi + 0xe28], r15d
je 0x14003de5d
mov byte [rsp + 0x5a], 0
jmp 0x14003de75
xor r8d, r8d
mov edx, dword [rsp + 0x54]
mov ecx, 0x222
call fcn.140018140
test al, al
setne byte [rsp + 0x5a]
test byte [r13 + 8], 2
je 0x14003de88
test byte [r13 + 0xc], 1
je 0x14003de88
mov sil, 1
jmp 0x14003de8b
xor sil, sil
mov r14d, 1
mov r8d, r14d
xor edx, edx
mov ecx, 0x20d
call fcn.140018140
test al, al
jne 0x14003debc
mov r8d, r14d
xor edx, edx
mov ecx, 0x267
call fcn.140018140
test al, al
jne 0x14003debc
xor r15b, r15b
jmp 0x14003dec0
movzx r15d, r14b
test sil, sil
je 0x14003deeb
xor r8d, r8d
xor edx, edx
mov ecx, 0x26e
call fcn.140018140
test al, al
jne 0x14003deee
xor r8d, r8d
xor edx, edx
mov ecx, 0x26d
call fcn.140018140
test al, al
jne 0x14003deee
xor r14b, r14b
mov r8d, 0x101
mov edx, dword [rsp + 0x54]
mov ecx, 0x20e
call fcn.140017fa0
test al, al
je 0x14003df2f
cmp dword [r12 + 0xe28], 0
mov r12d, dword [rsp + 0x54]
jne 0x14003df34
mov r8d, 1
mov edx, r12d
mov ecx, 0x20e
call fcn.140018140
test al, al
jne 0x14003df77
jmp 0x14003df34
mov r12d, dword [rsp + 0x54]
test sil, sil
je 0x14003df7c
mov rsi, qword [0x1401be220]
mov r8d, 0x101
mov edx, r12d
mov ecx, 0x26c
call fcn.140017fa0
test al, al
je 0x14003df7c
cmp dword [rsi + 0xe28], 0
jne 0x14003df7c
mov r8d, 1
mov edx, r12d
mov ecx, 0x26c
call fcn.140018140
test al, al
je 0x14003df7c
mov sil, 1
jmp 0x14003df7f
xor sil, sil
mov r12d, 1
mov r8d, r12d
xor edx, edx
mov ecx, 0x201
call fcn.140018140
test al, al
je 0x14003e006
cmp byte [rsp + 0x59], 0
je 0x14003dfa6
mov eax, 0x200004
jmp 0x14003dfb8
mov eax, 0x200000
cmp byte [rsp + 0x58], 0
mov ecx, 0x20000c
cmovne eax, ecx
or ebx, eax
mov r8d, ebx
lea rdx, [rdi + 0x54]
mov rcx, rdi
call fcn.14003b770
mov byte [rdi + 0xe84], r12b
mov dword [rdi + 0xe80], 0xbe99999a
movzx edx, byte [rbp + 0x130]
movzx ecx, byte [rbp + 0x128]
xor r15b, r15b
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
je 0x14003e5dc
test dl, dl
je 0x14003e5dc
mov al, 1
jmp 0x14003e5de
mov r8d, r12d
xor edx, edx
mov ecx, 0x202
call fcn.140018140
test al, al
je 0x14003e042
cmp byte [rsp + 0x59], 0
je 0x14003e029
mov ecx, 0x200005
or ebx, ecx
jmp 0x14003dfba
mov ecx, 0x200001
mov eax, 0x20000d
cmp byte [rsp + 0x58], 0
cmovne ecx, eax
or ebx, ecx
jmp 0x14003dfba
mov r8d, r12d
xor edx, edx
mov ecx, 0x203
call fcn.140018140
mov r8d, r12d
xor edx, edx
mov ecx, 0x204
call fcn.140018140
mov r8d, r12d
xor edx, edx
mov ecx, 0x205
call fcn.140018140
mov r8d, r12d
xor edx, edx
mov ecx, 0x206
call fcn.140018140
mov r8d, r12d
xor edx, edx
mov ecx, 0x207
call fcn.140018140
test al, al
je 0x14003e0ae
mov eax, ebx
or eax, 0x200006
or ebx, 0x200004
cmp byte [r13 + 0xe24], 0
cmovne ebx, eax
jmp 0x14003dfba
mov r8d, r12d
xor edx, edx
mov ecx, 0x208
call fcn.140018140
test al, al
je 0x14003e0e2
mov eax, ebx
or eax, 0x200007
mov r8d, 0x200005
or r8d, ebx
cmp byte [r13 + 0xe24], 0
cmovne r8d, eax
jmp 0x14003dfbd
mov r8d, r12d
xor edx, edx
mov ecx, 0x20a
call fcn.140018140
movzx r12d, byte [rsp + 0x50]
test al, al
je 0x14003e153
test r12b, r12b
jne 0x14003e153
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
jne 0x14003e132
cmp byte [rsp + 0x58], r12b
je 0x14003e132
lea rdx, [rdi + 0x54]
mov r8d, 0x60000d
mov rcx, rdi
call fcn.14003b770
mov byte [rdi + 0xe84], 1
mov dword [rdi + 0xe80], 0xbe99999a
or ebx, 0x200008
lea rdx, [rdi + 0x54]
mov r8d, ebx
mov rcx, rdi
call fcn.14003b770
mov byte [rdi + 0xe84], 1
jmp 0x14003dfd0
xor edx, edx
mov ecx, 0x20b
lea r8d, [rdx + 1]
call fcn.140018140
test al, al
je 0x14003e1d1
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
jne 0x14003e1c6
cmp byte [rsp + 0x58], 0
je 0x14003e17e
mov r8d, 0x60000c
jmp 0x14003e1a9
cmp byte [rsp + 0x63], 0
je 0x14003e1c6
cmp byte [r13 + 0xe27], 0
je 0x14003e1c6
cmp byte [r13 + 0xe26], 0
jne 0x14003e1c6
cmp byte [r13 + 0xe24], 0
jne 0x14003e1c6
mov r8d, 0x600004
lea rdx, [rdi + 0x54]
mov rcx, rdi
call fcn.14003b770
mov dword [rdi + 0xe80], 0xbe99999a
mov byte [rdi + 0xe84], 1
or ebx, 0x200009
jmp 0x14003e138
test r15b, r15b
jne 0x14003e5a7
test r14b, r14b
jne 0x14003e5a7
test sil, sil
je 0x14003e203
mov r15b, 1
mov byte [rsp + 0x5b], r15b
mov byte [rbp - 0x70], r15b
xor cl, cl
xor dl, dl
mov byte [rbp + 0x130], dl
jmp 0x14003dfeb
movzx eax, byte [rsp + 0x5d]
test al, al
jne 0x14003e56e
cmp byte [rsp + 0x5e], al
jne 0x14003e56e
cmp byte [rsp + 0x5a], al
je 0x14003e23e
xor eax, eax
mov dword [rdi + 0x58], eax
mov eax, dword [rdi + 0xc]
mov dword [rdi + 0x5c], eax
mov dword [rdi + 0x54], eax
mov byte [rdi + 0x6a], 0
mov byte [rdi + 0xe84], 1
jmp 0x14003dfda
test r12b, r12b
jne 0x14003e3ba
cmp byte [rsp + 0x5f], r12b
jne 0x14003e3ba
cmp byte [rsp + 0x60], r12b
je 0x14003dfda
mov rcx, qword [0x1401be220]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x14003e28e
mov rcx, qword [rcx + 0xc0]
call rax
mov rbx, rax
test rax, rax
je 0x14003dfda
mov rcx, qword [0x1401be220]
jmp 0x14003e295
lea rbx, [0x14014f38e]
mov r12, 0xffffffffffffffff
mov rax, r12
nop
inc rax
cmp byte [rbx + rax], 0
jne 0x14003e2a0
test rcx, rcx
je 0x14003e2b4
inc dword [rcx + 0xf4]
inc eax
movsxd rcx, eax
add rcx, rcx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
xor eax, eax
mov r14d, eax
cmp byte [rbx], al
je 0x14003e302
mov rsi, r15
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.14000a8c0
movsxd rcx, eax
add rbx, rcx
mov ecx, dword [rbp - 0x80]
lea eax, [rcx - 0x20]
cmp eax, 0xffdf
ja 0x14003e2fd
mov word [rsi], cx
inc r14d
add rsi, 2
cmp byte [rbx], 0
jne 0x14003e2d1
movsxd rax, r14d
xor edx, edx
mov word [r15 + rax*2], dx
test r14d, r14d
jle 0x14003e395
mov eax, dword [rdi + 0xc]
mov edx, dword [rdi + 0x5c]
mov ecx, dword [rdi + 0x58]
cmp ecx, edx
je 0x14003e33b
cmp ecx, eax
jle 0x14003e32b
mov dword [rdi + 0x58], eax
mov ecx, eax
cmp edx, eax
jle 0x14003e334
mov dword [rdi + 0x5c], eax
mov edx, eax
cmp ecx, edx
jne 0x14003e33b
mov dword [rdi + 0x54], ecx
cmp dword [rdi + 0x54], eax
jle 0x14003e343
mov dword [rdi + 0x54], eax
lea rdx, [rdi + 0x54]
mov rcx, rdi
call fcn.14003b6d0
mov r9d, r14d
mov r8, r15
mov edx, dword [rdi + 0x54]
mov rcx, rdi
call fcn.14003b120
test al, al
je 0x14003e38e
mov esi, dword [rdi + 0x54]
lea rcx, [rdi + 0x74]
xor edx, edx
call fcn.14003c850
test rax, rax
je 0x14003e386
mov dword [rax], esi
xor ecx, ecx
mov dword [rax + 4], ecx
mov dword [rax + 8], r14d
mov dword [rax + 0xc], r12d
add dword [rdi + 0x54], r14d
mov byte [rdi + 0x6a], 0
mov byte [rdi + 0xe84], 1
test r15, r15
je 0x14003e3ac
mov rax, qword [0x1401be220]
test rax, rax
je 0x14003e3ac
dec dword [rax + 0xf4]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14003dfda
cmp qword [r13 + 0xb8], 0
je 0x14003e523
mov esi, dword [rdi + 0x5c]
mov eax, dword [rdi + 0x58]
cmp eax, esi
je 0x14003e3de
mov r15d, esi
cmovl r15d, eax
cmovge esi, eax
jmp 0x14003e3e6
xor eax, eax
mov r15d, eax
mov esi, dword [rdi + 0xc]
movzx eax, byte [rbp + 0x128]
mov byte [rbp + 0x128], al
xor al, al
mov byte [rbp + 0x138], al
mov rcx, qword [rdi + 0x20]
movsxd rax, esi
lea r8, [rcx + rax*2]
movsxd rax, r15d
lea rdx, [rcx + rax*2]
xor eax, eax
mov ecx, eax
mov r9d, 0x800
mov r10d, 0x80
nop dword [rax]
test r8, r8
je 0x14003e42a
cmp rdx, r8
jae 0x14003e44d
movzx eax, word [rdx]
test ax, ax
je 0x14003e44d
add rdx, 2
cmp ax, r10w
jae 0x14003e440
inc ecx
jmp 0x14003e420
cmp ax, r9w
sbb eax, eax
add eax, 3
add ecx, eax
jmp 0x14003e420
inc ecx
mov rax, qword [0x1401be220]
test rax, rax
je 0x14003e461
inc dword [rax + 0xf4]
movsxd rbx, ecx
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov rdx, qword [rdi + 0x20]
movsxd rcx, esi
lea r11, [rdx + rcx*2]
movsxd rcx, r15d
lea r10, [rdx + rcx*2]
mov r9, rax
lea rsi, [rax + rbx]
lea rbx, [rsi - 1]
cmp rax, rbx
jae 0x14003e4df
mov r12d, 0x80
test r11, r11
je 0x14003e4a2
cmp r10, r11
jae 0x14003e4d9
movzx eax, word [r10]
test ax, ax
je 0x14003e4d9
mov r8d, eax
add r10, 2
cmp eax, r12d
jae 0x14003e4bf
mov byte [r9], r8b
inc r9
jmp 0x14003e4d4
mov edx, esi
sub edx, r9d
dec edx
mov rcx, r9
call fcn.14000aa70
movsxd rcx, eax
add r9, rcx
cmp r9, rbx
jb 0x14003e498
movzx r12d, byte [rsp + 0x50]
mov byte [r9], 0
mov rax, qword [0x1401be220]
mov r8, qword [rax + 0xb8]
test r8, r8
je 0x14003e50a
mov rdx, r14
mov rcx, qword [rax + 0xc0]
call r8
mov rax, qword [0x1401be220]
test r14, r14
je 0x14003e51a
test rax, rax
je 0x14003e51a
dec dword [rax + 0xf4]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r12b, r12b
je 0x14003dfda
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
jne 0x14003e546
xor eax, eax
mov dword [rdi + 0x58], eax
mov eax, dword [rdi + 0xc]
mov dword [rdi + 0x5c], eax
mov dword [rdi + 0x54], eax
mov byte [rdi + 0x6a], 0
mov byte [rdi + 0xe84], 1
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
je 0x14003dfda
lea rdx, [rdi + 0x54]
mov rcx, rdi
call fcn.14003b6d0
mov byte [rdi + 0x6a], 0
jmp 0x14003dfda
mov r8d, eax
xor r8d, 1
add r8d, 0x20000a
lea rdx, [rdi + 0x54]
mov rcx, rdi
call fcn.14003b770
mov byte [rdi + 0xe84], 1
mov dword [rdi + 0xe80], 0xbe99999a
mov eax, dword [rdi + 0x54]
mov dword [rdi + 0x5c], eax
mov dword [rdi + 0x58], eax
jmp 0x14003dfda
movzx ecx, byte [rbp + 0x128]
movzx edx, byte [rbp + 0x130]
cmp byte [r13 + 0x7c], 0
je 0x14003e5d3
xor eax, eax
mov dword [rdi + 0x58], eax
mov eax, dword [rdi + 0xc]
mov dword [rdi + 0x5c], eax
mov dword [rdi + 0x54], eax
mov byte [rdi + 0x6a], 0
jmp 0x14003dfe8
mov byte [rbp - 0x70], 1
jmp 0x14003dfe8
xor al, al
or cl, al
mov byte [rbp + 0x128], cl
mov edx, dword [rsp + 0x54]
xor r12d, r12d
mov r9d, r12d
mov qword [rbp - 0x58], r12
mov r14d, r12d
cmp dword [r13 + 0x3f58], edx
jne 0x14003e87d
test r15b, r15b
je 0x14003e79b
mov r9, qword [rdi + 0x40]
mov rax, qword [rbp + 0x110]
mov r8, r9
sub r8, rax
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14003e633
inc rax
test ecx, ecx
jne 0x14003e620
test edx, edx
je 0x14003e79b
mov rax, r9
mov qword [rbp - 0x58], rax
mov r14d, dword [rdi + 0x38]
dec r14d
mov dword [rbp - 0x80], r14d
mov byte [rbp + 0x138], 1
mov qword [rsp + 0x70], r12
mov r15d, r12d
mov qword [rsp + 0x78], r12
test r14d, r14d
jle 0x14003e754
movsxd rsi, r14d
add rsi, rax
mov rbx, rax
xor eax, eax
mov r14d, eax
test rsi, rsi
je 0x14003e682
cmp rbx, rsi
jae 0x14003e6a1
cmp byte [rbx], 0
je 0x14003e6a1
mov r8, rsi
mov rdx, rbx
lea rcx, [rbp - 0x78]
call fcn.14000a8c0
movsxd rcx, eax
add rbx, rcx
inc r14d
jmp 0x14003e678
lea r15d, [r14 + 1]
test r15d, r15d
jle 0x14003e6e7
mov ebx, r15d
cmp r15d, 8
mov eax, 8
cmovl ebx, eax
test ebx, ebx
jle 0x14003e6e7
mov rax, qword [0x1401be220]
test rax, rax
je 0x14003e6cf
inc dword [rax + 0xf4]
movsxd rcx, ebx
add rcx, rcx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r12, rax
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x74], ebx
mov dword [rsp + 0x70], r15d
movsxd r14, dword [rbp - 0x80]
mov rbx, qword [rbp - 0x58]
add r14, rbx
mov rsi, r12
movsxd r12, r15d
dec r12
lea r12, [rsi + r12*2]
cmp rsi, r12
jae 0x14003e744
nop dword [rax]
test r14, r14
je 0x14003e71a
cmp rbx, r14
jae 0x14003e744
cmp byte [rbx], 0
je 0x14003e744
mov r8, r14
mov rdx, rbx
lea rcx, [rbp - 0x78]
call fcn.14000a8c0
movsxd rcx, eax
add rbx, rcx
movzx eax, word [rbp - 0x78]
mov word [rsi], ax
add rsi, 2
cmp rsi, r12
jb 0x14003e710
xor eax, eax
mov word [rsi], ax
mov r12, qword [rsp + 0x78]
mov r14d, dword [rbp - 0x80]
jmp 0x14003e756
xor eax, eax
lea r9d, [r15 - 1]
test r14d, r14d
cmovle r9d, eax
lea rdx, [rdi + 0x54]
mov r8, r12
mov rcx, rdi
call fcn.14003cca0
nop
test r12, r12
je 0x14003e792
mov rax, qword [0x1401be220]
test rax, rax
je 0x14003e788
dec dword [rax + 0xf4]
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
movzx r15d, byte [rsp + 0x5b]
xor r12d, r12d
mov byte [rdi + 0x48], 1
mov eax, dword [rdi + 0x18]
lea ebx, [rax*4 + 1]
mov ecx, dword [rdi + 0x2c]
cmp ebx, ecx
jle 0x14003e7d4
test ecx, ecx
je 0x14003e7bf
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14003e7c4
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
lea rcx, [rdi + 0x28]
call fcn.140022940
mov dword [rdi + 0x28], ebx
mov r10, qword [rdi + 0x20]
mov r9, qword [rdi + 0x30]
movsxd r11, ebx
add r11, r9
lea rbx, [r11 - 1]
cmp r9, rbx
jae 0x14003e832
mov r15d, 0x80
movzx eax, word [r10]
test ax, ax
je 0x14003e82c
mov r8d, eax
add r10, 2
cmp eax, r15d
jae 0x14003e811
mov byte [r9], r8b
inc r9
jmp 0x14003e827
mov edx, r11d
sub edx, r9d
dec edx
mov rcx, r9
call fcn.14000aa70
movsxd rcx, eax
add r9, rcx
cmp r9, rbx
jb 0x14003e7f4
movzx r15d, byte [rsp + 0x5b]
mov byte [r9], 0
mov rsi, qword [rbp + 0x110]
test r15b, r15b
jne 0x14003e877
mov r9, qword [rdi + 0x30]
mov rax, r9
mov r8, rsi
sub r8, r9
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14003e863
inc rax
test ecx, ecx
jne 0x14003e850
test edx, edx
je 0x14003e877
mov r14d, dword [rdi + 0x10]
mov r10b, 1
mov byte [rbp + 0x138], r10b
jmp 0x14003e88c
mov r9, qword [rbp - 0x58]
jmp 0x14003e884
mov rsi, qword [rbp + 0x110]
movzx r10d, byte [rbp + 0x138]
mov r15d, dword [rsp + 0x54]
cmp dword [r13 + 0x5ab8], r15d
jne 0x14003e949
cmp dword [r13 + 0x3f58], r15d
je 0x14003e942
mov rax, qword [0x1401be220]
mov ecx, dword [rax + 0x479c]
test cl, 0x20
je 0x14003e8c5
shr ecx, 6
test cl, 1
jmp 0x14003e8df
mov edx, dword [rax + 0x4794]
mov ecx, dword [rax + 0x3f88]
cmp ecx, edx
jne 0x14003e942
test ecx, ecx
je 0x14003e942
cmp dword [rax + 0x3f58], edx
je 0x14003e942
cmp byte [rax + 0x3f8d], 0
jne 0x14003e8fc
cmp dword [rax + 0x3f58], 0
jne 0x14003e942
cmp byte [rax + 0x3f68], 0
je 0x14003e942
mov r9, qword [r13 + 0x5ac8]
mov r14d, dword [r13 + 0x5ac0]
dec r14d
mov rax, r9
mov r8, rsi
sub r8, r9
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14003e933
inc rax
test ecx, ecx
jne 0x14003e920
test edx, edx
setne al
or r10b, al
mov byte [rbp + 0x138], r10b
mov dword [r13 + 0x5ab8], r12d
test r9, r9
je 0x14003e97d
lea eax, [r14 + 1]
mov ecx, dword [rbp + 0x118]
cmp eax, ecx
cmovl ecx, eax
movsxd rbx, ecx
cmp rbx, 1
jb 0x14003e97d
jbe 0x14003e978
lea r8, [rbx - 1]
mov rdx, r9
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbx + rsi - 1], 0
cmp dword [r13 + 0x3f58], r15d
jne 0x14003e999
cmp byte [rbp - 0x70], 0
je 0x14003ea3d
xor edx, edx
xor ecx, ecx
call fcn.14000de10
mov r14d, 1
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x1401bee50], eax
jle 0x14003ea19
lea rcx, [0x1401bee50]
call fcn.14011f0a4
cmp dword [0x1401bee50], 0xffffffff
jne 0x14003ea19
mov qword [0x1401bee58], r12
mov qword [0x1401bee60], r12
mov ecx, Ordinal_60
call fcn.14011ef84
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x1401bee58], rax
lea rcx, [0x140124830]
call fcn.14011f344
nop
lea rcx, [0x1401bee50]
call fcn.14011f038
mov rsi, qword [0x1401bee58]
mov rax, qword [rsi + 8]
mov rbx, rsi
mov qword [rbp - 0x70], rbx
cmp byte [rax + 0x19], 0
jne 0x14003ea5f
cmp dword [rax + 0x1c], r15d
jae 0x14003ea4f
mov rax, qword [rax + 0x10]
jmp 0x14003ea55
mov r14d, 1
mov dword [r13 + 0x5e5c], r14d
jmp 0x14003e99f
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14003ea31
mov qword [rbp - 0x70], rbx
cmp byte [rbx + 0x19], 0
jne 0x14003ea6b
cmp r15d, dword [rbx + 0x1c]
jae 0x14003ea72
mov rbx, rsi
mov qword [rbp - 0x70], rbx
cmp rbx, rsi
jne 0x14003eb86
xorps xmm0, xmm0
mov dword [rbp - 0x28], r15d
movups xmmword [rbp - 0x24], xmm0
mov dword [rbp - 0x14], r12d
mov rax, qword [rsi + 8]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x50], r12d
mov rcx, rsi
cmp byte [rax + 0x19], 0
jne 0x14003eac4
nop
mov qword [rbp - 0x58], rax
cmp dword [rax + 0x1c], r15d
jae 0x14003eab4
mov dword [rbp - 0x50], r12d
mov rax, qword [rax + 0x10]
jmp 0x14003eabe
mov dword [rbp - 0x50], r14d
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14003eaa0
cmp byte [rcx + 0x19], 0
jne 0x14003ead0
cmp r15d, dword [rcx + 0x1c]
jae 0x14003eb46
movabs rax, 0x492492492492492
cmp qword [0x1401bee60], rax
je 0x14003fa3d
lea rbx, [0x1401bee58]
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], r12
mov ecx, Ordinal_60
call fcn.14011ef84
nop
movups xmm0, xmmword [rbp - 0x28]
movups xmmword [rax + 0x1c], xmm0
movsd xmm1, qword [rbp - 0x18]
movsd qword [rax + 0x2c], xmm1
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x58]
movaps xmmword [rsp + 0x70], xmm0
mov r8, rax
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140023670
mov rsi, qword [0x1401bee58]
mov rax, qword [rsi + 8]
mov rbx, rsi
mov qword [rbp - 0x70], rbx
cmp byte [rax + 0x19], 0
jne 0x14003eb73
cmp dword [rax + 0x1c], r15d
jae 0x14003eb63
mov rax, qword [rax + 0x10]
jmp 0x14003eb69
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14003eb57
mov qword [rbp - 0x70], rbx
cmp byte [rbx + 0x19], 0
jne 0x14003eb7f
cmp r15d, dword [rbx + 0x1c]
jae 0x14003eb86
mov rbx, rsi
mov qword [rbp - 0x70], rbx
movss xmm7, dword [r13 + 0x18]
mulss xmm7, dword [0x14015768c]
mov r8, qword [0x1401be220]
mov eax, dword [r8 + 0x3f58]
lea rdx, [0x1401bec40]
test eax, eax
je 0x14003ebc8
cmp eax, dword [r8 + 0x4794]
jne 0x14003ebc8
lea rax, [0x1401bee00]
movss xmm8, dword [0x1401bee00]
jmp 0x14003ebe0
lea rcx, [0x1401bec70]
mov rax, rdx
cmp byte [rsp + 0x61], 0
cmovne rax, rcx
movss xmm8, dword [rax]
movss xmm2, dword [rax + 4]
movss xmm4, dword [rax + 8]
movss xmm6, dword [rax + 0xc]
subss xmm8, dword [rbx + 0x20]
mulss xmm8, xmm7
addss xmm8, dword [rbx + 0x20]
movss dword [rbx + 0x20], xmm8
subss xmm2, dword [rbx + 0x24]
mulss xmm2, xmm7
addss xmm2, dword [rbx + 0x24]
movss dword [rbx + 0x24], xmm2
subss xmm4, dword [rbx + 0x28]
mulss xmm4, xmm7
addss xmm4, dword [rbx + 0x28]
movss dword [rbx + 0x28], xmm4
subss xmm6, dword [rbx + 0x2c]
mulss xmm6, xmm7
addss xmm6, dword [rbx + 0x2c]
movss dword [rbx + 0x2c], xmm6
mov rax, qword [r8 + 0x3ef8]
mov byte [rax + 0xb8], 1
movss xmm0, dword [0x1401bedd0]
movss dword [rsp + 0x70], xmm0
movss xmm1, dword [0x1401bedd4]
movss dword [rsp + 0x74], xmm1
movss xmm0, dword [0x1401bedd8]
movss dword [rsp + 0x78], xmm0
movss xmm1, dword [0x1401beddc]
mulss xmm1, dword [r8 + 0x37d0]
movss dword [rsp + 0x7c], xmm1
lea rcx, [rsp + 0x70]
call fcn.14000ab30
mov r9d, eax
mov rcx, qword [r8 + 0x3ef8]
mov dword [rsp + 0x28], r12d
movss xmm0, dword [0x140157680]
movss dword [rsp + 0x20], xmm0
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x68]
mov rcx, qword [rcx + 0x298]
call fcn.1400276f0
mov r12, qword [0x1401be220]
mov rax, qword [r12 + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [r12 + 0x3ef8]
mov rsi, qword [rax + 0x298]
movss xmm0, dword [0x1401bed40]
movss dword [rsp + 0x70], xmm0
movss xmm1, dword [0x1401bed44]
movss dword [rsp + 0x74], xmm1
movss xmm0, dword [0x1401bed48]
movss dword [rsp + 0x78], xmm0
movss xmm1, dword [0x1401bed4c]
mulss xmm1, dword [r12 + 0x37d0]
movss dword [rsp + 0x7c], xmm1
lea rcx, [rsp + 0x70]
call fcn.14000ab30
mov r14d, eax
movss xmm6, dword [rbp - 0x60]
movss xmm11, dword [rbp - 0x64]
test eax, 0xff000000
je 0x14003ee1d
movaps xmm0, xmm6
xor eax, eax
movss xmm3, dword [0x140157680]
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x78]
mov rcx, rsi
mov dword [rsp + 0x20], eax
test byte [rsi + 0x30], 1
je 0x14003edac
subss xmm0, xmm13
movss dword [rbp - 0x58], xmm0
movss xmm1, dword [rbp - 0x5c]
subss xmm1, xmm13
movss dword [rbp - 0x54], xmm1
movaps xmm0, xmm15
addss xmm0, xmm13
movss dword [rbp - 0x78], xmm0
movaps xmm1, xmm11
addss xmm1, xmm13
movss dword [rbp - 0x74], xmm1
jmp 0x14003ede7
subss xmm0, dword [0x1401575cc]
movss dword [rbp - 0x58], xmm0
movss xmm0, dword [rbp - 0x5c]
subss xmm0, dword [0x1401575cc]
movss dword [rbp - 0x54], xmm0
movaps xmm1, xmm15
addss xmm1, xmm13
movss dword [rbp - 0x78], xmm1
movaps xmm0, xmm11
addss xmm0, xmm13
movss dword [rbp - 0x74], xmm0
call fcn.140026f10
movss dword [rsp + 0x28], xmm14
mov dword [rsp + 0x20], 1
mov r9d, r14d
mov r8d, dword [rsi + 0x78]
mov rdx, qword [rsi + 0x80]
mov rcx, rsi
call fcn.140025090
xor eax, eax
mov dword [rsi + 0x78], eax
mov r12, qword [0x1401be220]
movss xmm4, dword [rbp - 0x3c]
movaps xmm14, xmm4
addss xmm14, xmm15
subss xmm14, dword [0x1401576f4]
movaps xmm13, xmm11
addss xmm13, xmm10
movss xmm0, dword [r12 + 0x3c20]
mov rax, qword [rbp + 0x108]
xor esi, esi
test rax, rax
je 0x14003ee96
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
movss xmm1, dword [0x14015777c]
movss dword [rsp + 0x20], xmm1
movaps xmm3, xmm12
movaps xmm2, xmm0
lea rdx, [rbp - 0x58]
mov rcx, qword [r12 + 0x3c18]
call fcn.14002d6c0
movss xmm0, dword [rbp - 0x54]
movss xmm4, dword [rbp - 0x3c]
mov rax, qword [rbp + 0x108]
addss xmm15, dword [0x140157684]
movss xmm10, dword [0x1401576d4]
subss xmm10, xmm0
mulss xmm10, dword [0x1401575d0]
addss xmm10, xmm11
movss dword [rbp - 0x80], xmm10
movaps xmm0, xmm15
unpcklps xmm0, xmm10
movsd qword [rbp - 0x78], xmm0
cmp byte [rsp + 0x62], 0
je 0x14003eee2
mov r9, qword [rdi + 0x30]
mov qword [rbp + 0x110], r9
jmp 0x14003eee9
mov r9, qword [rbp + 0x110]
mov r14, rsi
mov qword [rbp - 0x58], rsi
movzx edx, byte [rsp + 0x5c]
mov r8, 0xffffffffffffffff
test dl, dl
je 0x14003ef21
mov r9, rax
mov qword [rbp + 0x110], rax
mov r14, r8
nop dword [rax]
inc r14
cmp byte [rax + r14], 0
jne 0x14003ef10
add r14, rax
mov qword [rbp - 0x58], r14
movzx eax, byte [rbp + 0x130]
movzx ecx, byte [rbp + 0x128]
test al, al
jne 0x14003f097
test cl, cl
jne 0x14003f097
test dl, dl
jne 0x14003ef62
cmp dword [r13 + 0x3f58], r15d
jne 0x14003ef52
movsxd r14, dword [rdi + 0x10]
jmp 0x14003ef5f
mov r14, r8
inc r14
cmp byte [r9 + r14], 0
jne 0x14003ef55
add r14, r9
mov rax, r14
sub rax, r9
cmp rax, 0x200000
jge 0x14003f8d5
lea rax, [0x1401beca0]
test dl, dl
lea rcx, [0x1401bec40]
cmovne rax, rcx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r12 + 0x37d0]
movss dword [rsp + 0x7c], xmm0
lea rcx, [rsp + 0x70]
call fcn.14000ab30
mov r8d, eax
mov rax, qword [rbp - 0x30]
mov rdx, qword [rax + 0x298]
movss xmm2, dword [r13 + 0x3c20]
mov rcx, qword [r13 + 0x3c18]
test r8d, 0xff000000
je 0x14003f8d5
test r14, r14
jne 0x14003eff2
mov r14, 0xffffffffffffffff
inc r14
cmp byte [r9 + r14], 0
jne 0x14003efe5
add r14, r9
cmp r9, r14
je 0x14003f8d5
test rcx, rcx
jne 0x14003f008
mov rax, qword [rdx + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm9
jp 0x14003f019
jne 0x14003f019
mov rax, qword [rdx + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [rdx + 0x88]
movups xmmword [rbp - 0x68], xmm0
movss xmm1, dword [rbp - 0x40]
comiss xmm0, xmm1
jae 0x14003f033
movss dword [rbp - 0x68], xmm1
movss xmm0, dword [rbp - 0x64]
comiss xmm0, xmm11
jae 0x14003f044
movss dword [rbp - 0x64], xmm11
comiss xmm14, dword [rbp - 0x60]
ja 0x14003f051
movss dword [rbp - 0x60], xmm14
comiss xmm13, dword [rbp - 0x5c]
ja 0x14003f05e
movss dword [rbp - 0x5c], xmm13
mov byte [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r9
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r8d
lea r9, [rbp - 0x78]
call fcn.14002d8e0
mov r12, qword [0x1401be220]
jmp 0x14003f8d5
test dl, dl
jne 0x14003f0a6
movsxd r14, dword [rdi + 0x10]
add r14, r9
mov qword [rbp - 0x58], r14
mov r11, qword [rdi + 0x20]
xorps xmm5, xmm5
xorps xmm6, xmm6
xorps xmm7, xmm7
mov r10, rsi
mov r15, rsi
mov r9d, 0xfffffc18
mov esi, r9d
xor edx, edx
test al, al
je 0x14003f0d8
movsxd rax, dword [rdi + 0x54]
lea r10, [r11 + rax*2]
mov r9d, r8d
mov edx, 1
test cl, cl
je 0x14003f0f2
mov ecx, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], ecx
cmovl ecx, dword [rdi + 0x58]
movsxd rax, ecx
lea r15, [r11 + rax*2]
mov esi, r8d
inc edx
xor eax, eax
mov ecx, eax
mov rax, r11
movzx r8d, word [r11]
test r8w, r8w
je 0x14003f140
cmp r8w, 0xa
jne 0x14003f132
inc ecx
cmp r9d, 0xffffffff
jne 0x14003f120
cmp rax, r10
jb 0x14003f120
mov r9d, ecx
dec edx
test edx, edx
jle 0x14003f140
cmp esi, 0xffffffff
jne 0x14003f132
cmp rax, r15
jb 0x14003f132
mov esi, ecx
dec edx
test edx, edx
jle 0x14003f140
add rax, 2
movzx r8d, word [rax]
test r8w, r8w
jne 0x14003f103
inc ecx
mov eax, ecx
cmp r9d, 0xffffffff
cmovne eax, r9d
mov dword [rbp - 0x78], eax
cmp esi, 0xffffffff
cmove esi, ecx
mov rdx, r10
cmp r10, r11
jbe 0x14003f172
nop dword [rax]
lea rax, [rdx - 2]
cmp word [rax], 0xa
je 0x14003f172
mov rdx, rax
cmp rax, r11
ja 0x14003f160
mov r8, qword [r13 + 0x3c18]
movss xmm3, dword [r13 + 0x3c20]
divss xmm3, dword [r8 + 0x14]
movaps xmm1, xmm5
movaps xmm8, xmm5
cmp rdx, r10
jae 0x14003f1d7
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x14003f1ab
maxss xmm1, xmm8
movaps xmm8, xmm5
jmp 0x14003f1d2
cmp ecx, 0xd
je 0x14003f1d2
cmp ecx, dword [r8]
jge 0x14003f1c0
mov rax, qword [r8 + 8]
movss xmm2, dword [rax + rcx*4]
jmp 0x14003f1c6
movss xmm2, dword [r8 + 0x10]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm8, xmm0
cmp rdx, r10
jb 0x14003f194
maxss xmm8, xmm1
movss dword [rbp - 0x3c], xmm8
movd xmm12, dword [rbp - 0x78]
cvtdq2ps xmm12, xmm12
mulss xmm12, dword [r13 + 0x3c20]
movss dword [rbp - 0x78], xmm12
test esi, esi
js 0x14003f297
mov rdx, r15
cmp r15, r11
jbe 0x14003f222
nop dword [rax + rax]
lea rax, [rdx - 2]
cmp word [rax], 0xa
je 0x14003f222
mov rdx, rax
cmp rax, r11
ja 0x14003f210
mov r8, qword [r13 + 0x3c18]
movss xmm3, dword [r13 + 0x3c20]
divss xmm3, dword [r8 + 0x14]
movaps xmm1, xmm5
movaps xmm6, xmm5
cmp rdx, r15
jae 0x14003f283
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x14003f258
maxss xmm1, xmm6
movaps xmm6, xmm5
jmp 0x14003f27e
cmp ecx, 0xd
je 0x14003f27e
cmp ecx, dword [r8]
jge 0x14003f26d
mov rax, qword [r8 + 8]
movss xmm2, dword [rax + rcx*4]
jmp 0x14003f273
movss xmm2, dword [r8 + 0x10]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm6, xmm0
cmp rdx, r15
jb 0x14003f243
movd xmm7, esi
cvtdq2ps xmm7, xmm7
mulss xmm7, dword [r13 + 0x3c20]
maxss xmm6, xmm1
movzx r8d, byte [rbp + 0x130]
test r8b, r8b
je 0x14003f305
cmp byte [rdi + 0xe84], 0
je 0x14003f305
movaps xmm2, xmm4
mulss xmm2, dword [0x1401575bc]
subss xmm4, dword [r13 + 0x380c]
movss xmm1, dword [rdi + 0x50]
comiss xmm1, xmm8
jbe 0x14003f2dd
movaps xmm1, xmm8
subss xmm1, xmm2
movaps xmm0, xmm5
maxss xmm0, xmm1
jmp 0x14003f2ee
movaps xmm0, xmm8
subss xmm0, xmm4
comiss xmm0, xmm1
jb 0x14003f2fe
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x50], xmm0
mov byte [rdi + 0xe84], 0
movss xmm9, dword [rdi + 0x50]
cmp byte [rbp + 0x128], 0
je 0x14003f56a
mov edx, dword [rdi + 0x5c]
mov ecx, dword [rdi + 0x58]
mov eax, edx
cmp ecx, edx
cmovl eax, ecx
cdqe
lea rsi, [r11 + rax*2]
cmovge edx, ecx
movsxd rax, edx
lea r15, [r11 + rax*2]
test r8b, r8b
je 0x14003f344
movss xmm1, dword [0x140157604]
jmp 0x14003f34c
movss xmm1, dword [0x1401575d4]
movups xmm0, xmmword [r12 + 0x3ba8]
movups xmmword [rsp + 0x70], xmm0
mulss xmm1, dword [r12 + 0x37d0]
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm1
movss dword [rsp + 0x7c], xmm0
lea rcx, [rsp + 0x70]
call fcn.14000ab30
addss xmm6, xmm15
subss xmm6, xmm9
addss xmm7, xmm10
xorps xmm5, xmm5
subss xmm7, xmm5
cmp rsi, r15
jae 0x14003f56a
movss xmm10, dword [0x140157650]
movss xmm12, dword [rbp - 0x40]
movss xmm8, dword [0x1401575d0]
mov r14d, eax
mov rdi, qword [rbp - 0x30]
xor ebx, ebx
nop dword [rax]
movss xmm3, dword [r13 + 0x3c20]
movaps xmm0, xmm13
addss xmm0, xmm3
comiss xmm7, xmm0
ja 0x14003f545
comiss xmm11, xmm7
jbe 0x14003f40b
cmp rsi, r15
jae 0x14003f52a
nop dword [rax]
movzx eax, word [rsi]
add rsi, 2
cmp ax, 0xa
je 0x14003f52a
cmp rsi, r15
jb 0x14003f3f0
jmp 0x14003f545
mov rdx, qword [r13 + 0x3c18]
divss xmm3, dword [rdx + 0x14]
movaps xmm4, xmm5
movaps xmm1, xmm5
cmp rsi, r15
jae 0x14003f463
movzx ecx, word [rsi]
add rsi, 2
cmp ecx, 0xa
je 0x14003f459
cmp ecx, 0xd
je 0x14003f452
cmp ecx, dword [rdx]
jge 0x14003f442
mov rax, qword [rdx + 8]
movss xmm2, dword [rax + rcx*4]
jmp 0x14003f447
movss xmm2, dword [rdx + 0x10]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm1, xmm0
cmp rsi, r15
jb 0x14003f422
jmp 0x14003f463
movaps xmm4, xmm5
maxss xmm4, xmm1
movaps xmm1, xmm5
maxss xmm1, xmm4
comiss xmm5, xmm1
jb 0x14003f49b
mov rax, qword [r13 + 0x3c18]
cmp dword [rax], 0x20
jle 0x14003f486
mov rax, qword [rax + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x14003f48b
movss xmm0, dword [rax + 0x10]
mulss xmm0, xmm8
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm6
movaps xmm0, xmm7
addss xmm0, xmm10
addss xmm6, xmm5
movss xmm2, dword [0x14015777c]
subss xmm2, dword [r13 + 0x3c20]
addss xmm2, xmm7
maxss xmm6, xmm12
maxss xmm2, xmm11
movss dword [rsp + 0x70], xmm6
movss dword [rsp + 0x74], xmm2
minss xmm1, xmm14
minss xmm0, xmm13
movss dword [rsp + 0x78], xmm1
movss dword [rsp + 0x7c], xmm0
comiss xmm0, xmm11
jbe 0x14003f52a
comiss xmm13, xmm2
jbe 0x14003f52a
comiss xmm1, xmm12
jbe 0x14003f52a
comiss xmm14, xmm6
jbe 0x14003f52a
mov dword [rsp + 0x28], ebx
movss dword [rsp + 0x20], xmm5
mov r9d, r14d
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x70]
mov rcx, qword [rdi + 0x298]
call fcn.1400276f0
xorps xmm5, xmm5
movaps xmm6, xmm15
subss xmm6, xmm9
addss xmm7, dword [r13 + 0x3c20]
cmp rsi, r15
jb 0x14003f3c0
mov r12, qword [0x1401be220]
movss xmm8, dword [rbp - 0x3c]
movss xmm12, dword [rbp - 0x78]
mov rbx, qword [rbp - 0x70]
movss xmm10, dword [rbp - 0x80]
mov rdi, qword [rbp - 0x38]
mov r14, qword [rbp - 0x58]
mov rax, r14
mov r9, qword [rbp + 0x110]
sub rax, r9
cmp rax, 0x200000
jge 0x14003f6c0
lea rax, [0x1401beca0]
cmp byte [rsp + 0x5c], 0
lea rcx, [0x1401bec40]
cmovne rax, rcx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r12 + 0x37d0]
movss dword [rsp + 0x7c], xmm0
lea rcx, [rsp + 0x70]
call fcn.14000ab30
mov r8d, eax
mov rsi, qword [rbp - 0x30]
mov rdx, qword [rsi + 0x298]
movaps xmm0, xmm15
subss xmm0, xmm9
movss dword [rbp - 0x38], xmm0
movaps xmm1, xmm10
xorps xmm6, xmm6
subss xmm1, xmm6
movss dword [rbp - 0x34], xmm1
movss xmm2, dword [r13 + 0x3c20]
mov rcx, qword [r13 + 0x3c18]
test eax, 0xff000000
je 0x14003f6c7
test r14, r14
jne 0x14003f620
mov r14, 0xffffffffffffffff
inc r14
cmp byte [r9 + r14], 0
jne 0x14003f613
add r14, r9
cmp r9, r14
je 0x14003f6c7
test rcx, rcx
jne 0x14003f636
mov rax, qword [rdx + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm6
jp 0x14003f646
jne 0x14003f646
mov rax, qword [rdx + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [rdx + 0x88]
movups xmmword [rbp - 0x58], xmm0
movss xmm1, dword [rbp - 0x40]
comiss xmm0, xmm1
jae 0x14003f660
movss dword [rbp - 0x58], xmm1
movss xmm0, dword [rbp - 0x54]
comiss xmm0, xmm11
jae 0x14003f671
movss dword [rbp - 0x54], xmm11
comiss xmm14, dword [rbp - 0x50]
ja 0x14003f67e
movss dword [rbp - 0x50], xmm14
comiss xmm13, dword [rbp - 0x4c]
ja 0x14003f68b
movss dword [rbp - 0x4c], xmm13
mov byte [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm6
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r9
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r8d
lea r9, [rbp - 0x38]
call fcn.14002d8e0
mov r12, qword [0x1401be220]
jmp 0x14003f6c7
xorps xmm6, xmm6
mov rsi, qword [rbp - 0x30]
cmp byte [rbp + 0x130], 0
je 0x14003f8c7
movss xmm0, dword [r13 + 0x18]
addss xmm0, dword [rdi + 0xe80]
movss dword [rdi + 0xe80], xmm0
cmp byte [r13 + 0x7b], 0
je 0x14003f714
comiss xmm6, xmm0
jae 0x14003f714
movss xmm1, dword [0x14015760c]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movss xmm1, dword [0x1401575f0]
comiss xmm1, xmm0
jae 0x14003f714
xor cl, cl
jmp 0x14003f716
mov cl, 1
addss xmm15, xmm8
subss xmm15, xmm9
cvttss2si eax, xmm15
xorps xmm6, xmm6
cvtsi2ss xmm6, eax
addss xmm12, xmm10
xorps xmm9, xmm9
subss xmm12, xmm9
cvttss2si eax, xmm12
xorps xmm7, xmm7
cvtsi2ss xmm7, eax
movaps xmm2, xmm7
subss xmm2, dword [r13 + 0x3c20]
addss xmm2, dword [0x1401575d0]
movaps xmm3, xmm6
movss xmm4, dword [rbp - 8]
subss xmm3, xmm4
subss xmm3, dword [rbx + 0x30]
movss xmm0, dword [r13 + 0x18]
mulss xmm0, dword [0x1401576d4]
mulss xmm3, xmm0
addss xmm3, dword [rbx + 0x30]
movss dword [rbx + 0x30], xmm3
test cl, cl
je 0x14003f88d
movaps xmm0, xmm7
subss xmm0, dword [0x140157620]
comiss xmm0, xmm11
jbe 0x14003f88d
comiss xmm13, xmm2
jbe 0x14003f88d
movaps xmm0, xmm6
movss xmm8, dword [0x140157604]
addss xmm0, xmm8
comiss xmm0, dword [rbp - 0x40]
jbe 0x14003f88d
comiss xmm14, xmm6
jbe 0x14003f88d
movss xmm0, dword [0x1401bec40]
movss dword [rsp + 0x70], xmm0
movss xmm1, dword [0x1401bec44]
movss dword [rsp + 0x74], xmm1
movss xmm0, dword [0x1401bec48]
movss dword [rsp + 0x78], xmm0
movss xmm1, dword [0x1401bec4c]
mulss xmm1, dword [r12 + 0x37d0]
movss dword [rsp + 0x7c], xmm1
movaps xmm2, xmm3
xorps xmm2, xmmword [0x140157a80]
movaps xmm0, xmm4
subss xmm0, xmm2
movss dword [rbp + 0x130], xmm0
movss xmm1, dword [rbp + 4]
subss xmm1, xmm9
movss dword [rbp + 0x134], xmm1
addss xmm3, xmm4
movss dword [rbp - 0x38], xmm3
movss xmm0, dword [rbp - 4]
addss xmm0, dword [0x14015766c]
movss dword [rbp - 0x34], xmm0
lea rcx, [rsp + 0x70]
call fcn.14000ab30
mov r9d, eax
movss dword [rsp + 0x20], xmm8
lea r8, [rbp + 0x130]
lea rdx, [rbp - 0x38]
mov rcx, qword [rsi + 0x298]
call fcn.140027480
mov r12, qword [0x1401be220]
mov byte [r13 + 0x5be8], 1
subss xmm6, dword [0x140157604]
movss xmm0, dword [r13 + 0x3c20]
subss xmm7, xmm0
movss dword [r13 + 0x5bec], xmm6
movss dword [r13 + 0x5bf0], xmm7
movss dword [r13 + 0x5bf4], xmm0
jmp 0x14003f8cb
xorps xmm9, xmm9
mov r15d, dword [rsp + 0x54]
movss xmm6, dword [rbp - 0x60]
mov rax, qword [r12 + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [r12 + 0x3ef8]
mov r8, qword [rax + 0x298]
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rsp + 0x70], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r12 + 0x37d0]
movss dword [rsp + 0x7c], xmm0
lea rcx, [rsp + 0x70]
call fcn.14000ab30
mov ecx, eax
subss xmm6, dword [rbp - 0x10]
movss dword [rbp + 0x130], xmm6
addss xmm11, dword [0x140157604]
movss dword [rbp + 0x134], xmm11
test eax, 0xff000000
je 0x14003f9b6
mov rdx, 0xffffffffffffffff
mov r9, qword [rbp + 0x100]
inc rdx
cmp byte [r9 + rdx], 0
jne 0x14003f950
add rdx, r9
cmp r9, rdx
je 0x14003f9b6
mov rax, qword [r8 + 0x38]
movups xmm0, xmmword [r8 + 0x88]
movups xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r9
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], ecx
lea r9, [rbp + 0x130]
movss xmm2, dword [rax + 0x10]
mov rdx, r8
mov rcx, qword [rax + 8]
call fcn.14002d8e0
mov r12, qword [0x1401be220]
movzx eax, byte [rbp + 0x138]
test al, al
je 0x14003f9ea
mov ecx, dword [r12 + 0x3f58]
cmp ecx, r15d
je 0x14003f9d2
test ecx, ecx
jne 0x14003f9dd
mov word [r12 + 0x3f68], 0x101
or dword [r12 + 0x479c], 4
jmp 0x14003f9ea
xor al, al
lea r11, [rsp + 0x1b8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140011500
int3