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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1400fe780]
xor rax, rsp
mov qword [rbp - 0x38], rax
mov rbx, rcx
mov rdi, qword [0x1403118c0]
mov rsi, rdi
mov qword [rsp + 0x60], rdi
mov rax, qword [rdi + 0x3eb0]
mov byte [rax + 0xb0], 1
mov r15, qword [rdi + 0x3eb0]
mov qword [rbp - 0x68], r15
cmp byte [r15 + 0xb3], 0
jne 0x140034740
movsxd r8, dword [r15 + 0xe8]
mov rax, qword [r15 + 0xf0]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.140005850
mov r14d, eax
mov dword [rsp + 0x6c], eax
cmp dword [rdi + 0x3ef8], eax
jne 0x140032629
mov r8, rbx
mov edx, listen
mov ecx, eax
call fcn.14001b900
mov rdi, qword [0x1403118c0]
mov rcx, rbx
cmp rbx, 0xffffffffffffffff
jae 0x14003264f
movzx edx, byte [rcx]
test dl, dl
je 0x14003264f
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x140032646
cmp byte [rax], dl
je 0x14003264f
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x140032632
movss xmm0, dword [rdi + 0x3c10]
movss xmm1, dword [0x1400e9f98]
cmp rbx, rcx
je 0x140032694
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
movss dword [rsp + 0x20], xmm1
movss xmm3, dword [0x1400e9f84]
movaps xmm2, xmm0
lea rdx, [rbp - 0x80]
mov rcx, qword [rdi + 0x3c08]
call fcn.14002bde0
movss xmm0, dword [rbp - 0x7c]
movss xmm6, dword [rsi + 0x3820]
movaps xmm3, xmm6
addss xmm3, xmm6
addss xmm3, xmm0
call fcn.140014eb0
movaps xmm2, xmm0
mov rdx, qword [rbp + 0xc0]
mov rdx, qword [rdx]
lea rcx, [rbp - 0x78]
call fcn.140014f30
movss xmm4, dword [r15 + 0xfc]
movss xmm7, dword [rbp - 0x74]
movaps xmm1, xmm7
addss xmm1, xmm4
movss xmm3, dword [r15 + 0xf8]
movss xmm8, dword [rbp - 0x78]
movaps xmm0, xmm8
addss xmm0, xmm3
movss dword [rbp - 0x48], xmm3
movss dword [rbp - 0x44], xmm4
movss dword [rbp - 0x40], xmm0
movss dword [rbp - 0x3c], xmm1
movaps xmm2, xmm7
addss xmm2, xmm4
movaps xmm0, xmm8
addss xmm0, xmm3
movss dword [rbp - 0x58], xmm3
movss dword [rbp - 0x54], xmm4
movss dword [rbp - 0x50], xmm0
movss dword [rbp - 0x4c], xmm2
subss xmm2, xmm4
subss xmm0, xmm3
movss dword [rbp - 0x78], xmm0
movss dword [rbp - 0x74], xmm2
movaps xmm1, xmm6
lea rcx, [rbp - 0x78]
call fcn.140014af0
mov r9d, 0x400
lea r8, [rbp - 0x48]
mov edx, r14d
lea rcx, [rbp - 0x58]
call fcn.140014c60
test al, al
je 0x140034740
mov r12d, dword [rsi + 0x4754]
mov edx, r14d
lea rcx, [rbp - 0x48]
call fcn.140009500
movzx r13d, al
mov byte [rsp + 0x51], al
test al, al
je 0x14003278a
mov dword [rsi + 0x4a38], 1
mov rdi, qword [0x1403118c0]
xor edx, edx
test r14d, r14d
je 0x1400327aa
cmp dword [rdi + 0x4bd0], r14d
jne 0x1400327aa
add rdi, 0x4bc8
jmp 0x1400327ad
mov rdi, rdx
mov qword [rbp - 0x78], rdi
shr r12d, 8
and r12b, 1
cmp dword [rsi + 0x3f10], r14d
je 0x1400327e1
cmp dword [rsi + 0x48ac], r14d
je 0x1400327dd
cmp dword [rsi + 0x48a0], r14d
jne 0x1400327e1
cmp dword [rsi + 0x48c8], 2
jne 0x1400327e1
mov al, 1
jmp 0x1400327e3
xor al, al
mov byte [rsp + 0x53], al
test r13b, r13b
je 0x1400327f8
cmp byte [rsi + 0x3738], dl
je 0x1400327f8
mov bl, 1
jmp 0x1400327fa
xor bl, bl
mov byte [rsp + 0x52], bl
mov byte [rsp + 0x68], dl
xor r14b, r14b
test rdi, rdi
je 0x140032815
cmp byte [rdi + 0x6b], 1
je 0x140032815
mov r15b, 1
jmp 0x140032818
xor r15b, r15b
lea rcx, [0x140347810]
mov qword [rbp - 0x80], rcx
test bl, bl
jne 0x140032836
test al, al
jne 0x140032836
test r12b, r12b
jne 0x140032836
mov byte [rsp + 0x50], dl
jmp 0x140032847
mov byte [rsp + 0x50], 1
mov edx, dword [rsp + 0x6c]
cmp dword [rsi + 0x3f10], edx
jne 0x140032850
test r15b, r15b
je 0x140032a68
lea rdi, [rsi + 0x4bc8]
mov qword [rbp - 0x78], rdi
mov dword [rdi + 0xe80], 0xbe99999a
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rcx + rbx], r14b
jne 0x140032870
lea esi, [rbx + 1]
mov ecx, dword [rdi + 0x3c]
cmp esi, ecx
jle 0x1400328a7
test ecx, ecx
je 0x140032892
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140032897
mov eax, 8
mov edx, esi
cmp eax, esi
cmovg edx, eax
lea rcx, [rdi + 0x38]
call fcn.14001c630
mov dword [rdi + 0x38], esi
movsxd r8, esi
lea r14, [0x140347810]
mov rdx, r14
mov rcx, qword [rdi + 0x40]
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [rsp + 0x6c]
cmp dword [rdi + 8], esi
jne 0x1400328f0
test r15b, r15b
jne 0x1400328f0
mov r13b, 1
cmp dword [rdi + 0x10], ebx
jne 0x1400328f0
cmp byte [rdi + 0x48], r15b
je 0x1400328f3
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 0x1400328f3
xor r13b, r13b
mov dword [rdi + 8], esi
mov ecx, dword [rdi + 0x1c]
cmp ecx, 0x41
jge 0x140032925
test ecx, ecx
je 0x14003290d
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140032912
mov eax, 8
mov edx, 0x41
cmp eax, edx
cmovg edx, eax
lea rcx, [rdi + 0x18]
call fcn.14001c6c0
mov dword [rdi + 0x18], 0x41
mov ecx, dword [rdi + 0x2c]
test ecx, ecx
jns 0x140032950
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor r9d, r9d
mov edx, r9d
test eax, eax
cmovg edx, eax
lea rcx, [rdi + 0x28]
call fcn.14001c630
xor edx, edx
mov dword [rdi + 0x28], edx
mov byte [rdi + 0x48], dl
lea rcx, [0x140347810]
mov rsi, rcx
mov r15, qword [rdi + 0x20]
mov rbx, r15
lea r14, [r15 + 0x7e]
cmp r15, r14
jae 0x1400329aa
cmp byte [rsi], 0
je 0x1400329a1
xor r8d, r8d
mov rdx, rsi
lea rcx, [rsp + 0x78]
call fcn.140005b70
movsxd rcx, eax
add rsi, rcx
mov eax, dword [rsp + 0x78]
test eax, eax
je 0x1400329a1
mov word [rbx], ax
add rbx, 2
cmp rbx, r14
jb 0x140032972
lea rcx, [0x140347810]
xor edx, edx
mov word [rbx], dx
sub rbx, r15
sar rbx, 1
mov dword [rdi + 0xc], ebx
sub esi, ecx
mov dword [rdi + 0x10], esi
test r13b, r13b
je 0x1400329e4
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 0x140032a26
mov qword [rdi + 0x50], 0
mov dword [rdi + 0xe72], 0x630000
mov dword [rdi + 0xe78], edx
mov dword [rdi + 0xe7c], 0x3e7
mov qword [rdi + 0x58], 0
mov word [rdi + 0x69], 1
mov dword [rdi + 0x70], edx
mov byte [rdi + 0x68], 0
mov byte [rdi + 0x6b], 1
mov byte [rdi + 0x60], 0
mov dword [rdi + 0x64], edx
mov rax, qword [rsp + 0x60]
cmp byte [rsp + 0x53], 0
je 0x140032a45
test r13b, r13b
je 0x140032a40
test byte [rax + 0x48b0], 4
jne 0x140032a45
mov r14b, 1
jmp 0x140032a48
xor r14b, r14b
movzx ebx, byte [rsp + 0x52]
test r12b, r12b
jne 0x140032a5f
test bl, bl
je 0x140032a62
cmp byte [rax + 0xe14], r12b
je 0x140032a62
mov r14b, 1
movzx r13d, byte [rsp + 0x51]
mov r15, qword [rsp + 0x60]
mov r12d, dword [rsp + 0x6c]
movzx esi, byte [rsp + 0x50]
cmp dword [r15 + 0x3f10], r12d
je 0x140032ab3
test sil, sil
je 0x140032aa6
mov rdx, qword [rbp - 0x68]
mov ecx, r12d
call fcn.140009100
mov rdx, qword [rbp - 0x68]
mov ecx, r12d
call fcn.1400161e0
mov rcx, qword [rbp - 0x68]
call fcn.140011d20
cmp dword [r15 + 0x3f10], r12d
jne 0x140032b54
test bl, bl
je 0x140032ad5
mov rax, qword [0x1403118c0]
mov dword [rax + 0x4568], r12d
mov dword [rax + 0x4564], r12d
mov word [rax + 0x456c], 0
or dword [r15 + 0x4720], 3
mov rax, qword [0x1403118c0]
mov dword [rax + 0x3fb0], r12d
mov dword [rax + 0x3fac], r12d
mov word [rax + 0x3fb4], 0
mov dword [rax + 0x3fbc], r12d
mov dword [rax + 0x3fb8], r12d
mov word [rax + 0x3fc0], 0
cmp dword [r15 + 0x3f10], r12d
jne 0x140032b54
test rdi, rdi
jne 0x140032b25
call fcn.140009250
cmp dword [r15 + 0x3f10], r12d
jne 0x140032b54
mov r8d, 1
cmp byte [r15 + 0x3738], 0
je 0x140032b50
mov eax, dword [rsp + 0x68]
movzx eax, al
test sil, sil
cmove eax, r8d
mov dword [rsp + 0x68], eax
mov cl, 1
jmp 0x140032b5c
xor cl, cl
mov r8d, 1
mov byte [rsp + 0x51], cl
test rdi, rdi
je 0x140032b88
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
jne 0x140032b72
test r14b, r14b
je 0x140032b88
test cl, cl
je 0x140032b88
mov r10b, 1
mov byte [rsp + 0x50], r10b
xor r11b, r11b
mov byte [rsp + 0x52], r11b
jmp 0x140032baf
xor r11b, r11b
mov byte [rsp + 0x52], r11b
xor r10b, r10b
mov byte [rsp + 0x50], r10b
test cl, cl
jne 0x140032baa
mov byte [rsp + 0x50], r10b
cmp dword [r15 + 0x3f10], r12d
jne 0x140032bba
test rdi, rdi
je 0x140032bba
cmp byte [rdi + 0x48], 0
mov byte [rsp + 0x58], 1
jne 0x140032bbf
mov byte [rsp + 0x58], 0
mov ebx, 0x20000c
movss xmm9, dword [rbp - 0x48]
movss dword [rsp + 0x78], xmm9
movss xmm0, dword [0x1400e9e44]
xorps xmm6, xmm6
cmp dword [r15 + 0x3f10], r12d
jne 0x1400330c1
mov byte [rdi + 0xe86], 0
mov dword [rdi + 0x4c], 0x40
xor r9d, r9d
mov dword [rdi + 0xe88], r9d
cmp byte [r15 + 0xe04], r9b
sete al
mov byte [r15 + 0x3f1d], al
mov dword [r15 + 0x5dcc], r8d
movss xmm1, dword [r15 + 0xdfc]
subss xmm1, xmm9
subss xmm1, dword [r15 + 0x381c]
addss xmm1, dword [rdi + 0x50]
movss xmm2, dword [r15 + 0x3c10]
mulss xmm2, xmm0
movzx esi, byte [r15 + 0x79]
test r14b, r14b
je 0x140032c6c
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], r9b
mov byte [rdi + 0xe85], 1
jmp 0x140032fdd
test r13b, r13b
je 0x140032e12
cmp word [r15 + 0x3742], 2
jb 0x140032e12
cmp byte [r15 + 0xe15], r9b
jne 0x140032e12
cmp byte [rdi + 0x6b], r9b
je 0x140032cdd
mov rcx, qword [rdi + 0x20]
movsxd rax, dword [rdi + 0xc]
lea r9, [rcx + rax*2]
cmp rcx, r9
jae 0x140032cda
nop dword [rax + rax]
movzx edx, r11b
movzx eax, word [rcx]
add rcx, 2
cmp ax, 0xa
je 0x140032cda
mov byte [rsp + 0x50], r10b
mov byte [rsp + 0x52], dl
cmp rcx, r9
jae 0x140032cda
mov byte [rsp + 0x50], r10b
mov byte [rsp + 0x52], dl
jmp 0x140032cb0
movaps xmm2, xmm6
mov rcx, rdi
call fcn.140030bb0
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x58], eax
mov dword [rdi + 0x5c], eax
mov byte [rdi + 0x6a], 0
movzx ecx, word [r15 + 0x3742]
sub ecx, 2
test cl, 1
jne 0x140032dae
test eax, eax
je 0x140032d1d
movsxd rcx, eax
mov rax, qword [rdi + 0x20]
cmp word [rax + rcx*2 - 2], 0xa
je 0x140032d1d
xor cl, cl
jmp 0x140032d1f
mov cl, 1
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
jne 0x140032d2b
test cl, cl
jne 0x140032d4b
lea rdx, [rdi + 0x54]
mov r8d, ebx
mov rcx, rdi
call fcn.140031070
mov byte [rdi + 0xe84], 1
mov dword [rdi + 0xe80], 0xbe99999a
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
jne 0x140032d66
cmp dword [rdi + 0x58], eax
jne 0x140032d63
mov eax, dword [rdi + 0x54]
mov dword [rdi + 0x5c], eax
mov dword [rdi + 0x58], eax
jmp 0x140032d66
mov dword [rdi + 0x54], eax
mov edx, dword [rdi + 0x54]
mov rcx, rdi
call fcn.140030740
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 0x140032d9d
cmp ecx, eax
jle 0x140032d8d
mov dword [rdi + 0x58], eax
mov ecx, eax
cmp edx, eax
jle 0x140032d96
mov dword [rdi + 0x5c], eax
mov edx, eax
cmp ecx, edx
jne 0x140032d9d
mov dword [rdi + 0x54], ecx
cmp dword [rdi + 0x54], eax
jle 0x140032fd0
mov dword [rdi + 0x54], eax
jmp 0x140032fd0
lea rdx, [rdi + 0x54]
mov r8d, 0x200004
mov rcx, rdi
call fcn.140031070
mov byte [rdi + 0xe84], 1
mov dword [rdi + 0xe80], 0xbe99999a
lea rdx, [rdi + 0x54]
mov r8d, 0x600005
mov rcx, rdi
call fcn.140031070
mov byte [rdi + 0xe84], 1
mov dword [rdi + 0xe80], 0xbe99999a
lea rdx, [rdi + 0x54]
mov r8d, 0x600001
mov rcx, rdi
call fcn.140031070
mov byte [rdi + 0xe84], 0
jmp 0x140032fd0
cmp byte [r15 + 0x3738], r9b
je 0x140032f22
cmp byte [rdi + 0xe85], r9b
jne 0x140032f22
test r13b, r13b
je 0x140032fda
cmp byte [r15 + 0xe15], r9b
je 0x140032eb8
cmp byte [rdi + 0x6b], r9b
je 0x140032e8d
mov rcx, qword [rdi + 0x20]
movsxd rax, dword [rdi + 0xc]
lea r9, [rcx + rax*2]
cmp rcx, r9
jae 0x140032e8a
nop word [rax + rax]
movzx edx, r11b
movzx eax, word [rcx]
add rcx, 2
cmp ax, 0xa
je 0x140032e8a
mov byte [rsp + 0x50], r10b
mov byte [rsp + 0x52], dl
cmp rcx, r9
jae 0x140032e8a
mov byte [rsp + 0x50], r10b
mov byte [rsp + 0x52], dl
jmp 0x140032e60
movaps xmm2, xmm6
lea rbx, [rdi + 0x5c]
mov eax, dword [rbx]
cmp dword [rdi + 0x58], eax
jne 0x140032e9e
mov eax, dword [rdi + 0x54]
mov dword [rdi + 0x58], eax
mov rcx, rdi
call fcn.140030bb0
mov ecx, 0x54
mov rdx, rdi
mov dword [rbx], eax
mov dword [rdx + rcx], eax
jmp 0x140032fd0
cmp byte [rdi + 0x6b], r9b
je 0x140032efd
mov rcx, qword [rdi + 0x20]
movsxd rax, dword [rdi + 0xc]
lea r9, [rcx + rax*2]
cmp rcx, r9
jae 0x140032efa
nop
movzx edx, r11b
movzx eax, word [rcx]
add rcx, 2
cmp ax, 0xa
je 0x140032efa
mov byte [rsp + 0x50], r10b
mov byte [rsp + 0x52], dl
cmp rcx, r9
jae 0x140032efa
mov byte [rsp + 0x50], r10b
mov byte [rsp + 0x52], dl
jmp 0x140032ed0
movaps xmm2, xmm6
mov rcx, rdi
call fcn.140030bb0
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 0x140032fd0
cmp byte [r15 + 0xe04], r9b
je 0x140032fda
cmp byte [rdi + 0xe85], r9b
jne 0x140032fda
movss xmm0, dword [r15 + 0xf8]
ucomiss xmm0, xmm6
jp 0x140032f5c
jne 0x140032f5c
movss xmm0, dword [r15 + 0xfc]
ucomiss xmm0, xmm6
jp 0x140032f5c
je 0x140032fda
cmp byte [rdi + 0x6b], r9b
je 0x140032fad
mov rcx, qword [rdi + 0x20]
movsxd rax, dword [rdi + 0xc]
lea r9, [rcx + rax*2]
cmp rcx, r9
jae 0x140032faa
nop dword [rax]
nop word [rax + rax]
movzx edx, r11b
movzx eax, word [rcx]
add rcx, 2
cmp ax, 0xa
je 0x140032faa
mov byte [rsp + 0x50], r10b
mov byte [rsp + 0x52], dl
cmp rcx, r9
jae 0x140032faa
mov byte [rsp + 0x50], r10b
mov byte [rsp + 0x52], dl
jmp 0x140032f80
movaps xmm2, xmm6
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
jne 0x140032fbb
mov eax, dword [rdi + 0x54]
mov dword [rdi + 0x58], eax
mov rcx, rdi
call fcn.140030bb0
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 0x140032ff7
cmp byte [r15 + 0xe04], 0
jne 0x140032ff7
mov byte [rdi + 0xe85], 0
cmp byte [r15 + 0xe14], 0
je 0x14003300b
cmp byte [r15 + 0xe16], 0
je 0x14003301a
test sil, sil
je 0x14003301e
cmp byte [r15 + 0xe17], 0
je 0x14003301e
mov al, 1
jmp 0x140033020
xor al, al
cmp dword [r15 + 0x37b0], 0
jle 0x1400330c1
test al, al
jne 0x140033092
cmp byte [rsp + 0x53], al
jne 0x140033092
mov esi, r14d
mov rbx, r14
nop
mov rax, qword [r15 + 0x37b8]
movzx r8d, word [rbx + rax]
cmp r8d, 0x1f
jbe 0x140033083
cmp r8d, 0x7f
je 0x140033083
lea eax, [r8 - 0xe000]
cmp eax, 0x18ff
jbe 0x140033083
lea rdx, [rdi + 0x54]
mov rcx, rdi
call fcn.140031070
mov byte [rdi + 0xe84], 1
mov dword [rdi + 0xe80], 0xbe99999a
inc esi
add rbx, 2
cmp esi, dword [r15 + 0x37b0]
jl 0x140033040
mov ecx, dword [r15 + 0x37b4]
test ecx, ecx
jns 0x1400330ba
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, r14d
test eax, eax
cmovg edx, eax
lea rcx, [r15 + 0x37b0]
call fcn.14001c6c0
mov dword [r15 + 0x37b0], r14d
xor r13b, r13b
mov byte [rsp + 0x57], r13b
cmp dword [r15 + 0x3f10], r12d
jne 0x140033ab3
cmp byte [r15 + 0x3f1c], r13b
jne 0x140033ab3
cmp byte [rsp + 0x68], r13b
jne 0x140033ab3
movaps xmm0, xmm7
subss xmm0, dword [r15 + 0x3820]
divss xmm0, dword [r15 + 0x3c10]
cvttss2si eax, xmm0
mov edx, 1
mov ecx, edx
cmp eax, edx
cmovge ecx, eax
mov dword [rdi + 0x64], ecx
movzx eax, byte [r15 + 0xe15]
neg al
sbb ebx, ebx
and ebx, 0x400000
movzx esi, byte [r15 + 0x79]
mov byte [rsp + 0x70], sil
test sil, sil
je 0x14003315c
movzx r12d, byte [r15 + 0xe16]
cmp byte [r15 + 0xe17], r13b
je 0x140033164
cmp byte [r15 + 0xe14], r13b
jne 0x140033164
test r12b, r12b
jne 0x140033164
movzx r13d, dl
jmp 0x140033164
movzx r12d, byte [r15 + 0xe14]
mov r8d, edx
mov r14d, dword [rsp + 0x6c]
mov edx, r14d
mov ecx, 0xa39
call fcn.140014910
test al, al
jne 0x140033199
mov r8d, 1
mov edx, r14d
mov ecx, 0x220a
call fcn.140014910
test al, al
mov byte [rsp + 0x53], 0
je 0x14003319e
mov byte [rsp + 0x53], 1
xor r8d, r8d
mov edx, r14d
mov ecx, 0xa24
call fcn.140014910
test al, al
jne 0x1400331cb
xor r8d, r8d
mov edx, r14d
mov ecx, 0x1209
call fcn.140014910
test al, al
mov byte [rsp + 0x55], 0
je 0x1400331d0
mov byte [rsp + 0x55], 1
mov r8d, 1
mov edx, r14d
mov ecx, 0xa37
call fcn.140014910
test al, al
jne 0x140033203
mov r8d, 1
mov edx, r14d
mov ecx, 0x2209
call fcn.140014910
test al, al
mov byte [rsp + 0x56], 0
je 0x140033208
mov byte [rsp + 0x56], 1
mov r8d, 1
mov edx, r14d
mov ecx, 0xa3b
call fcn.140014910
mov byte [rsp + 0x71], al
mov r8d, 1
mov edx, r14d
mov ecx, 0xa3a
call fcn.140014910
test al, al
jne 0x140033259
test sil, sil
je 0x140033252
mov r8d, 1
mov edx, r14d
mov ecx, 0x2a3b
call fcn.140014910
test al, al
jne 0x140033259
mov byte [rsp + 0x54], 0
jmp 0x14003325e
mov byte [rsp + 0x54], 1
xor r8d, r8d
mov edx, r14d
mov ecx, 0xa22
call fcn.140014910
mov byte [rsp + 0x59], al
test byte [r15 + 8], 2
je 0x140033285
test byte [r15 + 0xc], 1
je 0x140033285
mov sil, 1
jmp 0x140033288
xor sil, sil
mov r14d, 1
mov r8d, r14d
xor edx, edx
mov ecx, 0x20d
call fcn.140012a40
test al, al
jne 0x1400332b9
mov r8d, r14d
xor edx, edx
mov ecx, 0x267
call fcn.140012a40
test al, al
jne 0x1400332b9
xor r15b, r15b
jmp 0x1400332bd
movzx r15d, r14b
test sil, sil
je 0x1400332e8
xor r8d, r8d
xor edx, edx
mov ecx, 0x26e
call fcn.140012a40
test al, al
jne 0x1400332eb
xor r8d, r8d
xor edx, edx
mov ecx, 0x26d
call fcn.140012a40
test al, al
jne 0x1400332eb
xor r14b, r14b
mov r8d, 1
mov edx, dword [rsp + 0x6c]
mov ecx, 0x20e
call fcn.140014910
test al, al
jne 0x140033325
test sil, sil
je 0x140033320
mov r8d, 1
mov edx, dword [rsp + 0x6c]
mov ecx, 0x26c
call fcn.140014910
test al, al
jne 0x140033325
xor sil, sil
jmp 0x140033328
mov sil, 1
xor edx, edx
mov ecx, 0x201
lea r8d, [rdx + 1]
call fcn.140012a40
test al, al
je 0x1400333a7
test r13b, r13b
je 0x140033348
mov eax, 0x200004
jmp 0x140033358
mov eax, 0x200000
test r12b, r12b
mov ecx, 0x20000c
cmovne eax, ecx
or ebx, eax
lea rdx, [rdi + 0x54]
mov r8d, ebx
mov rcx, rdi
call fcn.140031070
mov byte [rdi + 0xe84], 1
mov dword [rdi + 0xe80], 0xbe99999a
mov r15, qword [rsp + 0x60]
movzx edx, byte [rsp + 0x51]
movzx ecx, byte [rsp + 0x50]
xor r13b, r13b
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
je 0x140033aab
test dl, dl
je 0x140033aab
mov al, 1
jmp 0x140033aad
xor edx, edx
mov ecx, 0x202
lea r8d, [rdx + 1]
call fcn.140012a40
test al, al
je 0x1400333e0
test r13b, r13b
je 0x1400333c9
mov ecx, 0x200005
or ebx, ecx
jmp 0x14003335a
mov ecx, 0x200001
mov eax, 0x20000d
test r12b, r12b
cmovne ecx, eax
or ebx, ecx
jmp 0x14003335a
mov r13d, 1
mov r8d, r13d
xor edx, edx
mov ecx, 0x203
call fcn.140012a40
mov r8d, r13d
xor edx, edx
mov ecx, 0x204
call fcn.140012a40
mov r8d, r13d
xor edx, edx
mov ecx, 0x205
call fcn.140012a40
mov r8d, r13d
xor edx, edx
mov ecx, 0x206
call fcn.140012a40
mov r8d, r13d
xor edx, edx
mov ecx, 0x207
call fcn.140012a40
test al, al
je 0x140033477
mov eax, ebx
or eax, 0x200006
or ebx, 0x200004
mov r15, qword [rsp + 0x60]
cmp byte [r15 + 0xe14], 0
cmovne ebx, eax
mov r8d, ebx
lea rdx, [rdi + 0x54]
mov rcx, rdi
call fcn.140031070
mov byte [rdi + 0xe84], r13b
mov dword [rdi + 0xe80], 0xbe99999a
jmp 0x14003337f
mov r8d, r13d
xor edx, edx
mov ecx, 0x208
call fcn.140012a40
test al, al
je 0x1400334ad
mov eax, ebx
or eax, 0x200007
mov r8d, 0x200005
or r8d, ebx
mov r15, qword [rsp + 0x60]
cmp byte [r15 + 0xe14], 0
cmovne r8d, eax
jmp 0x140033455
mov r8d, r13d
xor edx, edx
mov ecx, 0x20a
call fcn.140012a40
movzx r13d, byte [rsp + 0x53]
test al, al
je 0x1400334d6
test r13b, r13b
jne 0x1400334d6
or ebx, 0x200008
jmp 0x14003335a
xor edx, edx
mov ecx, 0x20b
lea r8d, [rdx + 1]
call fcn.140012a40
test al, al
je 0x14003359d
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
jne 0x14003351e
test r12b, r12b
je 0x14003354e
lea rdx, [rdi + 0x54]
mov r8d, 0x60000c
mov rcx, rdi
call fcn.140031070
mov byte [rdi + 0xe84], 1
mov dword [rdi + 0xe80], 0xbe99999a
mov r15, qword [rsp + 0x60]
or ebx, 0x200009
lea rdx, [rdi + 0x54]
mov r8d, ebx
mov rcx, rdi
call fcn.140031070
mov byte [rdi + 0xe84], 1
mov dword [rdi + 0xe80], 0xbe99999a
jmp 0x14003337f
cmp byte [rsp + 0x70], 0
je 0x14003351e
mov r15, qword [rsp + 0x60]
cmp byte [r15 + 0xe17], 0
je 0x140033523
cmp byte [r15 + 0xe16], 0
jne 0x140033523
cmp byte [r15 + 0xe14], 0
jne 0x140033523
lea rdx, [rdi + 0x54]
mov r8d, 0x600004
mov rcx, rdi
call fcn.140031070
mov byte [rdi + 0xe84], 1
mov dword [rdi + 0xe80], 0xbe99999a
jmp 0x140033523
test r15b, r15b
jne 0x140033a74
test r14b, r14b
jne 0x140033a74
test sil, sil
je 0x1400335d3
mov r13b, 1
mov byte [rsp + 0x57], r13b
mov byte [rsp + 0x68], r13b
xor cl, cl
xor dl, dl
mov byte [rsp + 0x51], dl
mov r15, qword [rsp + 0x60]
jmp 0x14003338c
movzx eax, byte [rsp + 0x71]
test al, al
jne 0x140033a3b
cmp byte [rsp + 0x54], al
jne 0x140033a3b
cmp byte [rsp + 0x59], al
je 0x140033610
xor r9d, r9d
mov dword [rdi + 0x58], r9d
mov eax, dword [rdi + 0xc]
mov dword [rdi + 0x5c], eax
mov dword [rdi + 0x54], eax
mov byte [rdi + 0x6a], r9b
mov byte [rdi + 0xe84], 1
jmp 0x14003337a
test r13b, r13b
jne 0x14003381e
cmp byte [rsp + 0x55], r13b
jne 0x14003381e
cmp byte [rsp + 0x56], r13b
je 0x14003337a
mov rcx, qword [0x1403118c0]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x140033660
mov rcx, qword [rcx + 0xc0]
call rax
mov rbx, rax
test rax, rax
je 0x14003337a
mov rcx, qword [0x1403118c0]
jmp 0x140033667
lea rbx, [0x1400df32a]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rbx + rax], 0
jne 0x140033670
test rcx, rcx
je 0x140033684
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 r12d, r12d
mov r14d, r12d
cmp byte [rbx], r12b
je 0x1400336e7
mov rsi, rax
nop dword [rax]
nop word [rax + rax]
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x74]
call fcn.140005b70
movsxd rcx, eax
add rbx, rcx
mov ecx, dword [rsp + 0x74]
test ecx, ecx
je 0x1400336e7
lea eax, [rcx - 0x20]
cmp eax, 0xffdf
ja 0x1400336e2
mov word [rsi], cx
inc r14d
add rsi, 2
cmp byte [rbx], r12b
jne 0x1400336b0
movsxd rax, r14d
mov word [r15 + rax*2], r12w
test r14d, r14d
jle 0x1400337f9
mov ecx, dword [rdi + 0xc]
mov r8d, dword [rdi + 0x5c]
mov eax, dword [rdi + 0x58]
cmp eax, r8d
je 0x14003372d
mov edx, eax
cmp eax, ecx
jle 0x140033712
mov dword [rdi + 0x58], ecx
mov edx, ecx
mov r9d, r8d
cmp r8d, ecx
jle 0x140033720
mov dword [rdi + 0x5c], ecx
mov r9d, ecx
mov r8d, r9d
mov eax, edx
cmp edx, r9d
jne 0x14003372d
mov dword [rdi + 0x54], edx
mov r9d, dword [rdi + 0x54]
cmp r9d, ecx
jle 0x14003373c
mov dword [rdi + 0x54], ecx
mov r9d, ecx
mov ecx, dword [rdi + 0xc]
cmp eax, r8d
je 0x14003376d
mov edx, eax
cmp eax, ecx
jle 0x14003374f
mov dword [rdi + 0x58], ecx
mov edx, ecx
mov r10d, r8d
cmp r8d, ecx
jle 0x14003375d
mov dword [rdi + 0x5c], ecx
mov r10d, ecx
mov r8d, r10d
mov eax, edx
cmp edx, r10d
jne 0x14003376d
mov dword [rdi + 0x54], edx
mov r9d, edx
cmp r9d, ecx
jle 0x140033775
mov dword [rdi + 0x54], ecx
cmp eax, r8d
je 0x1400337b1
lea rdx, [rdi + 0x54]
mov rcx, rdi
jge 0x140033799
sub r8d, eax
mov r9d, r8d
mov r8d, eax
call fcn.140030ef0
mov eax, dword [rdi + 0x58]
mov dword [rdi + 0x5c], eax
jmp 0x1400337aa
sub eax, r8d
mov r9d, eax
call fcn.140030ef0
mov eax, dword [rdi + 0x5c]
mov dword [rdi + 0x58], eax
mov dword [rdi + 0x54], eax
mov byte [rdi + 0x6a], r12b
mov r9d, r14d
mov r8, r15
mov edx, dword [rdi + 0x54]
mov rcx, rdi
call fcn.140030a20
test al, al
je 0x1400337f2
mov esi, dword [rdi + 0x54]
lea rcx, [rdi + 0x74]
xor edx, edx
call fcn.140032030
test rax, rax
je 0x1400337ea
mov dword [rax], esi
mov dword [rax + 4], r12d
mov dword [rax + 8], r14d
mov dword [rax + 0xc], 0xffffffff
add dword [rdi + 0x54], r14d
mov byte [rdi + 0x6a], r12b
mov byte [rdi + 0xe84], 1
test r15, r15
je 0x140033810
mov rax, qword [0x1403118c0]
test rax, rax
je 0x140033810
dec dword [rax + 0xf4]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14003337a
mov r15, qword [rsp + 0x60]
cmp qword [r15 + 0xb8], 0
je 0x14003398f
mov esi, dword [rdi + 0x5c]
mov eax, dword [rdi + 0x58]
movzx r12d, byte [rsp + 0x50]
mov byte [rsp + 0x50], r12b
cmp eax, esi
je 0x140033860
mov r15d, esi
cmovl r15d, eax
cmovge esi, eax
movzx r9d, byte [rsp + 0x52]
mov byte [rsp + 0x52], r9b
xor r9d, r9d
jmp 0x140033872
xor r9d, r9d
mov r15d, r9d
mov esi, dword [rdi + 0xc]
movzx eax, byte [rsp + 0x52]
mov byte [rsp + 0x52], al
mov rcx, qword [rdi + 0x20]
movsxd rax, esi
lea r8, [rcx + rax*2]
movsxd rax, r15d
lea rdx, [rcx + rax*2]
mov ecx, r9d
mov r9d, 0x800
mov r12d, 0x80
test r8, r8
je 0x14003389d
cmp rdx, r8
jae 0x1400338c0
movzx eax, word [rdx]
test ax, ax
je 0x1400338c0
add rdx, 2
cmp ax, r12w
jae 0x1400338b3
inc ecx
jmp 0x140033893
cmp ax, r9w
sbb eax, eax
add eax, 3
add ecx, eax
jmp 0x140033893
inc ecx
mov rax, qword [0x1403118c0]
test rax, rax
je 0x1400338d4
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 0x140033946
test r11, r11
je 0x14003390f
cmp r10, r11
jae 0x140033946
movzx eax, word [r10]
test ax, ax
je 0x140033946
mov r8d, eax
add r10, 2
cmp eax, r12d
jae 0x14003392c
mov byte [r9], r8b
inc r9
jmp 0x140033941
mov edx, esi
sub edx, r9d
dec edx
mov rcx, r9
call fcn.140005d20
movsxd rcx, eax
add r9, rcx
cmp r9, rbx
jb 0x140033905
mov byte [r9], 0
mov rax, qword [0x1403118c0]
mov r8, qword [rax + 0xb8]
test r8, r8
je 0x140033971
mov rdx, r14
mov rcx, qword [rax + 0xc0]
call r8
mov rax, qword [0x1403118c0]
test r14, r14
je 0x140033981
test rax, rax
je 0x140033981
dec dword [rax + 0xf4]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r15, qword [rsp + 0x60]
test r13b, r13b
je 0x14003337f
mov eax, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], eax
jne 0x1400339b2
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 r8d, dword [rdi + 0x5c]
mov eax, dword [rdi + 0x58]
cmp eax, r8d
je 0x14003337f
mov ecx, dword [rdi + 0xc]
cmp eax, ecx
jle 0x1400339d5
mov dword [rdi + 0x58], ecx
mov eax, ecx
cmp r8d, ecx
jle 0x1400339e0
mov dword [rdi + 0x5c], ecx
mov r8d, ecx
cmp eax, r8d
jne 0x1400339e8
mov dword [rdi + 0x54], eax
cmp dword [rdi + 0x54], ecx
jle 0x1400339f0
mov dword [rdi + 0x54], ecx
cmp eax, r8d
je 0x140033a32
lea rdx, [rdi + 0x54]
mov rcx, rdi
jge 0x140033a1e
sub r8d, eax
mov r9d, r8d
mov r8d, eax
call fcn.140030ef0
mov eax, dword [rdi + 0x58]
mov dword [rdi + 0x5c], eax
mov dword [rdi + 0x54], eax
mov byte [rdi + 0x6a], 0
jmp 0x14003337f
sub eax, r8d
mov r9d, eax
call fcn.140030ef0
mov eax, dword [rdi + 0x5c]
mov dword [rdi + 0x58], eax
mov dword [rdi + 0x54], eax
mov byte [rdi + 0x6a], 0
jmp 0x14003337f
mov r8d, eax
xor r8d, 1
add r8d, 0x20000a
lea rdx, [rdi + 0x54]
mov rcx, rdi
call fcn.140031070
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 0x14003337a
mov r15, qword [rsp + 0x60]
movzx ecx, byte [rsp + 0x50]
movzx edx, byte [rsp + 0x51]
cmp byte [r15 + 0x7c], 0
je 0x140033aa1
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 0x140033389
mov byte [rsp + 0x68], 1
jmp 0x140033389
xor al, al
or cl, al
mov byte [rsp + 0x50], cl
xor esi, esi
mov r14d, esi
mov r12d, esi
mov ebx, dword [rsp + 0x6c]
cmp dword [r15 + 0x3f10], ebx
jne 0x140033d7e
test r13b, r13b
je 0x140033c6f
mov r9, qword [rdi + 0x40]
lea rax, [0x140347810]
mov r8, r9
sub r8, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140033b03
inc rax
test ecx, ecx
jne 0x140033af0
test edx, edx
je 0x140033c6f
mov r14, r9
mov qword [rbp - 0x60], r9
mov r12d, dword [rdi + 0x38]
dec r12d
mov dword [rbp - 0x70], r12d
mov qword [rbp - 0x58], rsi
mov r15d, esi
mov r13, rsi
mov qword [rbp - 0x50], rsi
test r12d, r12d
jle 0x140033c28
movsxd rsi, r12d
add rsi, r9
mov rbx, r9
xor eax, eax
mov r14d, eax
test rsi, rsi
je 0x140033b4c
cmp rbx, rsi
jae 0x140033b73
cmp byte [rbx], 0
je 0x140033b73
mov r8, rsi
mov rdx, rbx
lea rcx, [rsp + 0x74]
call fcn.140005b70
movsxd rcx, eax
add rbx, rcx
cmp dword [rsp + 0x74], 0
je 0x140033b73
inc r14d
jmp 0x140033b42
lea r15d, [r14 + 1]
test r15d, r15d
jle 0x140033bb7
mov ebx, r15d
cmp r15d, 8
mov eax, 8
cmovl ebx, eax
test ebx, ebx
jle 0x140033bb7
mov rax, qword [0x1403118c0]
test rax, rax
je 0x140033ba1
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 r13, rax
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x54], ebx
mov dword [rbp - 0x58], r15d
movsxd r14, r12d
mov rbx, qword [rbp - 0x60]
add r14, rbx
mov rsi, r13
movsxd r12, r15d
lea r12, [r12*2 - 2]
add r12, r13
cmp r13, r12
jae 0x140033c19
nop dword [rax + rax]
test r14, r14
je 0x140033bea
cmp rbx, r14
jae 0x140033c19
cmp byte [rbx], 0
je 0x140033c19
mov r8, r14
mov rdx, rbx
lea rcx, [rsp + 0x74]
call fcn.140005b70
movsxd rcx, eax
add rbx, rcx
mov eax, dword [rsp + 0x74]
test eax, eax
je 0x140033c19
mov word [rsi], ax
add rsi, 2
cmp rsi, r12
jb 0x140033be0
xor eax, eax
mov word [rsi], ax
mov r12d, dword [rbp - 0x70]
mov r14, qword [rbp - 0x60]
xor esi, esi
lea r9d, [r15 - 1]
test r12d, r12d
cmovle r9d, esi
lea rdx, [rdi + 0x54]
mov r8, r13
mov rcx, rdi
call fcn.140032480
nop
test r13, r13
je 0x140033c64
mov rax, qword [0x1403118c0]
test rax, rax
je 0x140033c5a
dec dword [rax + 0xf4]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov r15, qword [rsp + 0x60]
movzx r13d, byte [rsp + 0x57]
mov byte [rdi + 0x48], 1
mov eax, dword [rdi + 0x18]
lea ebx, [rax*4 + 1]
mov ecx, dword [rdi + 0x2c]
cmp ebx, ecx
jle 0x140033ca8
test ecx, ecx
je 0x140033c93
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140033c98
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
lea rcx, [rdi + 0x28]
call fcn.14001c630
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 0x140033cfc
movzx eax, word [r10]
test ax, ax
je 0x140033cfc
mov r8d, eax
add r10, 2
cmp eax, 0x80
jae 0x140033ce1
mov byte [r9], r8b
inc r9
jmp 0x140033cf7
mov edx, r11d
sub edx, r9d
dec edx
mov rcx, r9
call fcn.140005d20
movsxd rcx, eax
add r9, rcx
cmp r9, rbx
jb 0x140033cc2
mov byte [r9], 0
lea rsi, [0x140347810]
test r13b, r13b
jne 0x140033d3e
mov r9, qword [rdi + 0x30]
mov rax, r9
mov r8, rsi
sub r8, r9
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140033d33
inc rax
test ecx, ecx
jne 0x140033d20
test edx, edx
je 0x140033d3e
mov r14, r9
mov r12d, dword [rdi + 0x10]
test r14, r14
je 0x140033d78
lea eax, [r12 + 1]
cmp eax, 0x40
mov ecx, 0x40
cmovl ecx, eax
movsxd rbx, ecx
cmp rbx, 1
jb 0x140033d73
jbe 0x140033d6e
lea r8, [rbx - 1]
mov rdx, r14
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbx + rsi - 1], 0
mov byte [rsp + 0x52], 1
xor esi, esi
mov ebx, dword [rsp + 0x6c]
cmp byte [rsp + 0x68], 0
je 0x140033d93
cmp dword [r15 + 0x3f10], ebx
jne 0x140033d93
call fcn.140009250
mov r8d, 1
mov edx, ebx
lea rcx, [rbp - 0x48]
call fcn.140007190
mov rax, qword [0x1403118c0]
movups xmm0, xmmword [rax + 0x3928]
movups xmmword [rbp - 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37e0]
movss dword [rbp - 0x4c], xmm0
lea rcx, [rbp - 0x58]
call fcn.140005de0
mov r8d, eax
movss xmm0, dword [r15 + 0x3824]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x48]
call fcn.140006ff0
movaps xmm14, xmm9
addss xmm14, xmm8
movss xmm13, dword [rbp - 0x44]
movaps xmm11, xmm13
addss xmm11, xmm7
movaps xmm15, xmm9
addss xmm15, dword [r15 + 0x381c]
movaps xmm1, xmm13
addss xmm1, dword [r15 + 0x3820]
movss dword [rsp + 0x68], xmm1
movaps xmm0, xmm15
unpcklps xmm0, xmm1
movsd qword [rbp - 0x60], xmm0
cmp byte [rsp + 0x58], 0
je 0x140033e47
mov r10, qword [rdi + 0x30]
mov qword [rbp - 0x80], r10
jmp 0x140033e4e
lea r10, [0x140347810]
movzx eax, byte [rsp + 0x51]
movzx r12d, byte [rsp + 0x50]
test al, al
jne 0x140033fa8
test r12b, r12b
jne 0x140033fa8
cmp dword [r15 + 0x3f10], ebx
jne 0x140033e79
movsxd r8, dword [rdi + 0x10]
jmp 0x140033e8a
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r10 + r8], 0
jne 0x140033e80
add r8, r10
mov rax, r8
sub rax, r10
cmp rax, 0x200000
jge 0x14003471e
mov rax, qword [0x1403118c0]
movups xmm0, xmmword [rax + 0x38b8]
movups xmmword [rbp - 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37e0]
movss dword [rbp - 0x4c], xmm0
lea rcx, [rbp - 0x58]
call fcn.140005de0
mov r9d, eax
mov rax, qword [rbp - 0x68]
mov rdx, qword [rax + 0x290]
movss xmm2, dword [r15 + 0x3c10]
mov rcx, qword [r15 + 0x3c08]
test r9d, 0xff000000
je 0x14003471e
test r8, r8
jne 0x140033f0f
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r10 + r8], 0
jne 0x140033f02
add r8, r10
cmp r10, r8
je 0x14003471e
test rcx, rcx
jne 0x140033f25
mov rax, qword [rdx + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm6
jp 0x140033f35
jne 0x140033f35
mov rax, qword [rdx + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [rdx + 0x88]
movups xmmword [rbp - 0x48], xmm0
comiss xmm0, xmm9
jae 0x140033f4c
movss dword [rbp - 0x48], xmm9
movss xmm0, dword [rbp - 0x44]
comiss xmm0, xmm13
jae 0x140033f5d
movss dword [rbp - 0x44], xmm13
comiss xmm14, dword [rbp - 0x40]
ja 0x140033f6a
movss dword [rbp - 0x40], xmm14
comiss xmm11, dword [rbp - 0x3c]
ja 0x140033f77
movss dword [rbp - 0x3c], xmm11
mov byte [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm6
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r10
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
lea r9, [rbp - 0x60]
call fcn.14002c000
jmp 0x14003471e
movsxd r13, dword [rdi + 0x10]
add r13, r10
mov qword [rbp - 0x60], r13
mov r11, qword [rdi + 0x20]
xorps xmm5, xmm5
xorps xmm6, xmm6
xorps xmm7, xmm7
mov r10, rsi
mov r9d, 0xfffffc18
mov r14d, r9d
xor r8d, r8d
mov edx, r8d
test al, al
je 0x140033fe6
movsxd rax, dword [rdi + 0x54]
lea r10, [r11 + rax*2]
lea edx, [r8 + 1]
lea r9d, [r8 - 1]
test r12b, r12b
je 0x140034004
mov ecx, dword [rdi + 0x5c]
cmp dword [rdi + 0x58], ecx
cmovl ecx, dword [rdi + 0x58]
movsxd rax, ecx
lea rsi, [r11 + rax*2]
mov r14d, 0xffffffff
inc edx
mov ecx, r8d
mov rax, r11
movzx r8d, word [r11]
test r8w, r8w
je 0x140034053
cmp r8w, 0xa
jne 0x140034045
inc ecx
cmp r9d, 0xffffffff
jne 0x140034031
cmp rax, r10
jb 0x140034031
mov r9d, ecx
dec edx
test edx, edx
jle 0x140034053
cmp r14d, 0xffffffff
jne 0x140034045
cmp rax, rsi
jb 0x140034045
mov r14d, ecx
dec edx
test edx, edx
jle 0x140034053
add rax, 2
movzx r8d, word [rax]
test r8w, r8w
jne 0x140034014
inc ecx
mov ebx, ecx
cmp r9d, 0xffffffff
cmovne ebx, r9d
cmp r14d, 0xffffffff
cmove r14d, ecx
mov rdx, r10
cmp r10, r11
jbe 0x140034082
nop
lea rax, [rdx - 2]
cmp word [rax], 0xa
je 0x140034082
mov rdx, rax
cmp rax, r11
ja 0x140034070
mov r8, qword [r15 + 0x3c08]
movss xmm2, dword [r15 + 0x3c10]
divss xmm2, dword [r8 + 0x14]
movaps xmm1, xmm5
movaps xmm10, xmm5
cmp rdx, r10
jae 0x1400340e4
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x1400340bb
maxss xmm1, xmm10
movaps xmm10, xmm5
jmp 0x1400340df
cmp ecx, 0xd
je 0x1400340df
cmp ecx, dword [r8]
jge 0x1400340d0
mov rax, qword [r8 + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x1400340d6
movss xmm0, dword [r8 + 0x10]
mulss xmm0, xmm2
addss xmm10, xmm0
cmp rdx, r10
jb 0x1400340a4
maxss xmm10, xmm1
movss dword [rbp - 0x70], xmm10
movd xmm12, ebx
cvtdq2ps xmm12, xmm12
mulss xmm12, dword [r15 + 0x3c10]
movss dword [rsp + 0x74], xmm12
test r14d, r14d
js 0x1400341a2
mov rdx, rsi
cmp rsi, r11
jbe 0x140034132
nop dword [rax]
lea rax, [rdx - 2]
cmp word [rax], 0xa
je 0x140034132
mov rdx, rax
cmp rax, r11
ja 0x140034120
movss xmm2, dword [r15 + 0x3c10]
divss xmm2, dword [r8 + 0x14]
movaps xmm1, xmm5
movaps xmm6, xmm5
cmp rdx, rsi
jae 0x14003418d
nop dword [rax]
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x140034165
maxss xmm1, xmm6
movaps xmm6, xmm5
jmp 0x140034188
cmp ecx, 0xd
je 0x140034188
cmp ecx, dword [r8]
jge 0x14003417a
mov rax, qword [r8 + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x140034180
movss xmm0, dword [r8 + 0x10]
mulss xmm0, xmm2
addss xmm6, xmm0
cmp rdx, rsi
jb 0x140034150
movd xmm7, r14d
cvtdq2ps xmm7, xmm7
mulss xmm7, dword [r15 + 0x3c10]
maxss xmm6, xmm1
movzx r14d, byte [rsp + 0x51]
test r14b, r14b
je 0x14003420c
cmp byte [rdi + 0xe84], 0
je 0x14003420c
movaps xmm0, xmm8
mulss xmm0, dword [0x1400e9e28]
subss xmm8, dword [r15 + 0x381c]
movss xmm2, dword [rdi + 0x50]
movaps xmm1, xmm10
comiss xmm2, xmm10
jbe 0x1400341e7
subss xmm1, xmm0
movaps xmm0, xmm5
maxss xmm0, xmm1
jmp 0x1400341f5
subss xmm1, xmm8
comiss xmm1, xmm2
jb 0x140034205
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x50], xmm0
mov byte [rdi + 0xe84], 0
movss xmm8, dword [rdi + 0x50]
movss xmm9, dword [0x1400e9e80]
test r12b, r12b
je 0x140034474
mov edx, dword [rdi + 0x5c]
mov ecx, dword [rdi + 0x58]
mov eax, edx
cmp ecx, edx
cmovl eax, ecx
cdqe
lea rbx, [r11 + rax*2]
cmovge edx, ecx
movsxd rax, edx
lea rsi, [r11 + rax*2]
test r14b, r14b
je 0x14003424c
movaps xmm1, xmm9
jmp 0x140034254
movss xmm1, dword [0x1400e9e4c]
mov rax, qword [0x1403118c0]
movups xmm0, xmmword [rax + 0x3ba8]
movups xmmword [rbp - 0x58], xmm0
mulss xmm1, dword [rax + 0x37e0]
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm1
movss dword [rbp - 0x4c], xmm0
lea rcx, [rbp - 0x58]
call fcn.140005de0
mov r14d, eax
movaps xmm3, xmm15
addss xmm3, xmm6
subss xmm3, xmm8
movss xmm6, dword [rsp + 0x68]
addss xmm6, xmm7
xorps xmm5, xmm5
subss xmm6, xmm5
cmp rbx, rsi
jae 0x14003446e
movss xmm7, dword [0x1400e9e98]
movss xmm9, dword [rsp + 0x78]
movss xmm12, dword [0x1400e9e44]
movss xmm10, dword [0x1400e9f98]
mov r13, qword [rbp - 0x68]
xor edi, edi
nop word [rax + rax]
movss xmm2, dword [r15 + 0x3c10]
movaps xmm0, xmm2
addss xmm0, xmm11
comiss xmm6, xmm0
ja 0x140034450
comiss xmm13, xmm6
jbe 0x14003432b
cmp rbx, rsi
jae 0x140034435
nop dword [rax]
movzx eax, word [rbx]
add rbx, 2
cmp ax, 0xa
je 0x140034435
cmp rbx, rsi
jb 0x140034310
jmp 0x140034450
mov rdx, qword [r15 + 0x3c08]
divss xmm2, dword [rdx + 0x14]
movaps xmm4, xmm5
movaps xmm1, xmm5
cmp rbx, rsi
jae 0x140034380
movzx ecx, word [rbx]
add rbx, 2
cmp ecx, 0xa
je 0x140034376
cmp ecx, 0xd
je 0x14003436f
cmp ecx, dword [rdx]
jge 0x140034362
mov rax, qword [rdx + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x140034367
movss xmm0, dword [rdx + 0x10]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp rbx, rsi
jb 0x140034342
jmp 0x140034380
movaps xmm4, xmm5
maxss xmm4, xmm1
movaps xmm1, xmm5
maxss xmm1, xmm4
comiss xmm5, xmm1
jb 0x1400343b1
cmp dword [rdx], 0x20
jle 0x14003439c
mov rax, qword [rdx + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x1400343a1
movss xmm0, dword [rdx + 0x10]
mulss xmm0, xmm12
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm3
movaps xmm0, xmm6
addss xmm0, xmm7
addss xmm3, xmm5
movaps xmm2, xmm10
subss xmm2, dword [r15 + 0x3c10]
addss xmm2, xmm6
maxss xmm3, xmm9
maxss xmm2, xmm13
movss dword [rbp - 0x58], xmm3
movss dword [rbp - 0x54], xmm2
minss xmm1, xmm14
minss xmm0, xmm11
movss dword [rbp - 0x50], xmm1
movss dword [rbp - 0x4c], xmm0
comiss xmm0, xmm13
jbe 0x140034435
comiss xmm11, xmm2
jbe 0x140034435
comiss xmm1, xmm9
jbe 0x140034435
comiss xmm14, xmm3
jbe 0x140034435
mov dword [rsp + 0x28], edi
movss dword [rsp + 0x20], xmm5
mov r9d, r14d
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x58]
mov rcx, qword [r13 + 0x290]
call fcn.140027eb0
xorps xmm5, xmm5
movaps xmm3, xmm15
subss xmm3, xmm8
addss xmm6, dword [r15 + 0x3c10]
cmp rbx, rsi
jb 0x1400342e0
movss xmm9, dword [0x1400e9e80]
movss xmm10, dword [rbp - 0x70]
movss xmm12, dword [rsp + 0x74]
mov rdi, qword [rbp - 0x78]
mov r13, qword [rbp - 0x60]
movzx r14d, byte [rsp + 0x51]
mov rax, r13
mov r9, qword [rbp - 0x80]
sub rax, r9
cmp rax, 0x200000
jge 0x1400345b7
mov rax, qword [0x1403118c0]
movups xmm0, xmmword [rax + 0x38b8]
movups xmmword [rbp - 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37e0]
movss dword [rbp - 0x4c], xmm0
lea rcx, [rbp - 0x58]
call fcn.140005de0
mov r8d, eax
mov rbx, qword [rbp - 0x68]
mov rdx, qword [rbx + 0x290]
movaps xmm0, xmm15
subss xmm0, xmm8
movss dword [rbp - 0x80], xmm0
movss xmm7, dword [rsp + 0x68]
movaps xmm1, xmm7
xorps xmm3, xmm3
subss xmm1, xmm3
movss dword [rbp - 0x7c], xmm1
movss xmm2, dword [r15 + 0x3c10]
mov rcx, qword [r15 + 0x3c08]
test eax, 0xff000000
je 0x1400345c4
test r13, r13
jne 0x14003451d
mov r13, 0xffffffffffffffff
nop
inc r13
cmp byte [r9 + r13], 0
jne 0x140034510
add r13, r9
cmp r9, r13
je 0x1400345c4
test rcx, rcx
jne 0x140034533
mov rax, qword [rdx + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm3
jp 0x140034543
jne 0x140034543
mov rax, qword [rdx + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [rdx + 0x88]
movups xmmword [rbp - 0x48], xmm0
movss xmm1, dword [rsp + 0x78]
comiss xmm0, xmm1
jae 0x14003455e
movss dword [rbp - 0x48], xmm1
movss xmm0, dword [rbp - 0x44]
comiss xmm0, xmm13
jae 0x14003456f
movss dword [rbp - 0x44], xmm13
comiss xmm14, dword [rbp - 0x40]
ja 0x14003457c
movss dword [rbp - 0x40], xmm14
comiss xmm11, dword [rbp - 0x3c]
ja 0x140034589
movss dword [rbp - 0x3c], xmm11
mov byte [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm3
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r9
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r8d
lea r9, [rbp - 0x80]
call fcn.14002c000
jmp 0x1400345c1
movss xmm7, dword [rsp + 0x68]
mov rbx, qword [rbp - 0x68]
xorps xmm3, xmm3
test r14b, r14b
je 0x14003471e
movss xmm0, dword [r15 + 0x18]
addss xmm0, dword [rdi + 0xe80]
movss dword [rdi + 0xe80], xmm0
cmp byte [r15 + 0x7b], 0
je 0x14003460d
comiss xmm3, xmm0
jae 0x14003460d
movss xmm1, dword [0x1400e9e88]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movss xmm1, dword [0x1400e9e64]
comiss xmm1, xmm0
jae 0x14003460d
xor cl, cl
jmp 0x14003460f
mov cl, 1
addss xmm15, xmm10
subss xmm15, xmm8
cvttss2si eax, xmm15
movd xmm6, eax
cvtdq2ps xmm6, xmm6
addss xmm7, xmm12
subss xmm7, dword [0x1400e9ddc]
cvttss2si eax, xmm7
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss dword [rbp - 0x58], xmm6
movaps xmm0, xmm7
subss xmm0, dword [r15 + 0x3c10]
addss xmm0, dword [0x1400e9e44]
movss dword [rbp - 0x54], xmm0
movaps xmm2, xmm6
addss xmm2, xmm9
movss dword [rbp - 0x50], xmm2
movaps xmm1, xmm7
subss xmm1, dword [0x1400e9e90]
movss dword [rbp - 0x4c], xmm1
test cl, cl
je 0x1400346e9
comiss xmm1, xmm13
jbe 0x1400346e9
comiss xmm11, xmm0
jbe 0x1400346e9
comiss xmm2, dword [rsp + 0x78]
jbe 0x1400346e9
comiss xmm14, xmm6
jbe 0x1400346e9
mov rax, qword [0x1403118c0]
movups xmm0, xmmword [rax + 0x38b8]
movups xmmword [rbp - 0x48], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37e0]
movss dword [rbp - 0x3c], xmm0
movss dword [rbp - 0x80], xmm6
movss dword [rbp - 0x7c], xmm1
lea rcx, [rbp - 0x48]
call fcn.140005de0
mov r9d, eax
movss dword [rsp + 0x20], xmm9
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x58]
mov rcx, qword [rbx + 0x290]
call fcn.140027c40
mov byte [r15 + 0x5b60], 1
subss xmm6, xmm9
movss xmm0, dword [r15 + 0x3c10]
subss xmm7, xmm0
movss dword [r15 + 0x5b64], xmm6
movss dword [r15 + 0x5b68], xmm7
movss dword [r15 + 0x5b6c], xmm0
movzx eax, byte [rsp + 0x52]
test al, al
je 0x140034742
mov rcx, qword [0x1403118c0]
mov word [rcx + 0x3f20], 0x101
or dword [rcx + 0x4754], 4
jmp 0x140034742
xor al, al
mov rcx, qword [rbp - 0x38]
xor rcx, rsp
call fcn.1400c3740
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret