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

Disassembly:
push rbp
push rsi
push r12
push r13
push r14
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x14143b040]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov eax, dword [rcx + 0xb0]
mov rsi, rcx
mov r14, qword [0x141443c60]
inc eax
mov r13, rdx
mov dword [rsp + 0x70], eax
movzx r8d, byte [rsi + 0xcc]
mov ecx, dword [r14 + 0x40a8]
mov dword [rbp - 0x68], ecx
test r8b, 0x40
je 0x1402040bd
mov byte [rsp + 0x33], 1
cmp eax, ecx
je 0x1402040c2
mov byte [rsp + 0x33], 0
xor r12d, r12d
mov r9d, 1
cmp dword [rsi + 0xc0], r12d
je 0x1402040dd
mov dword [rsp + 0x74], r9d
cmp eax, ecx
je 0x1402040e2
mov dword [rsp + 0x74], r12d
and r8b, 0xbf
mov dword [rsi + 0xc0], r12d
mov byte [rsi + 0xcc], r8b
mov rdx, rsi
mov rax, qword [rsi + 0x18]
mov qword [rbp - 0x78], rdx
test rax, rax
je 0x140204121
nop dword [rax]
nop dword [rax + rax]
mov qword [rbp - 0x78], rax
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x140204110
mov rdx, qword [rbp - 0x78]
mov rax, qword [r14 + 0x4ee0]
mov qword [rsp + 0x1c0], rbx
test rax, rax
je 0x140204144
cmp qword [rax + 0x458], rsi
sete bl
jmp 0x1402041e6
mov rcx, qword [r14 + 0x4d10]
test rcx, rcx
je 0x1402041e4
mov eax, dword [rsi]
cmp dword [rdx + 0xb8], eax
jne 0x1402041e4
mov rcx, qword [rcx + 0x3c0]
test dword [rcx + 0x14], 0x10000000
je 0x140204189
mov rax, qword [rcx + 0x3b0]
mov rcx, qword [rax + 0x3c0]
test dword [rcx + 0x14], 0x10000000
jne 0x140204172
mov rax, qword [rcx + 0x460]
test rax, rax
jne 0x1402041a1
mov rax, qword [rcx + 0x458]
test rax, rax
je 0x1402041e4
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1402041bc
nop word [rax + rax]
mov rax, rcx
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1402041b0
cmp rax, rdx
je 0x140204329
mov rax, qword [rax + 0x88]
test rax, rax
je 0x1402041e4
mov rax, qword [rax + 0x3c0]
mov rax, qword [rax + 0x458]
test rax, rax
jne 0x1402041a1
xor bl, bl
mov ecx, dword [rsi + 0x10]
mov eax, ecx
shr eax, 0xd
mov byte [rsp + 0x30], bl
test r9b, al
jne 0x14020545c
mov eax, ecx
shr eax, 0xc
test r9b, al
jne 0x14020545c
movzx eax, byte [r13 + 0xf8]
mov qword [rsp + 0x178], rdi
mov qword [rsp + 0x170], r15
vmovaps xmmword [rsp + 0x160], xmm6
vmovaps xmmword [rsp + 0x150], xmm7
shr ecx, 0xa
mov byte [rsp + 0x34], al
vmovaps xmmword [rsp + 0x140], xmm8
vmovaps xmmword [rsp + 0x130], xmm9
test r9b, cl
jne 0x14020425f
mov byte [r13 + 0xf8], r12b
mov dword [r13 + 0x198], r9d
mov ecx, dword [rsi]
call fcn.1401f38f0
mov rax, qword [rsi + 0x40]
mov qword [rsp + 0x38], rax
mov rdi, rax
test rax, rax
jne 0x140204283
mov rcx, rsi
call fcn.1402054f0
mov rdi, qword [rsi + 0x40]
movzx edx, byte [rsi + 0xcc]
movzx eax, bl
and dl, 0xfd
mov dword [rsp + 0x48], r12d
add al, al
or dl, al
test dword [rsi + 0x10], 0x4000
mov byte [rsp + 0x32], dl
mov byte [rsi + 0xcc], dl
vxorps xmm6, xmm6, xmm6
jne 0x1402044ba
cmp dword [r14 + 0x3a20], 0xffffffff
je 0x1402044ba
mov rax, qword [0x141443c60]
lea rcx, [0x1413cff60]
xor edx, edx
mov byte [rsp + 0x31], 1
mov rbx, qword [rax + 0x4150]
movsxd rax, dword [rbx + 0x130]
mov r8, qword [rbx + 0x138]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1401e1830
mov rcx, qword [rbx]
mov r9d, eax
mov dword [rsp + 0x60], eax
cmp dword [rcx + 0x419c], eax
jne 0x140204332
lea r8, [0x1413cff60]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
movzx edx, byte [rsi + 0xcc]
mov r9d, dword [rsp + 0x60]
jmp 0x140204337
movzx ebx, r9b
jmp 0x1402041e6
movzx edx, byte [rsp + 0x32]
mov r15, qword [0x141443c60]
movsxd rax, dword [r15 + 0x4c70]
cmp dword [r15 + 0x4c60], eax
jle 0x1402044af
imul rcx, rax, 0x38
mov rax, qword [r15 + 0x4c68]
cmp dword [rcx + rax], r9d
jne 0x1402044af
mov eax, 1
mov ecx, dword [rdi + 0x1c]
vmovss xmm0, dword [r15 + 0x3a38]
vmovss xmm3, dword [rsi + 0x48]
vaddss xmm1, xmm0, xmm0
vaddss xmm2, xmm1, dword [r15 + 0x3e80]
vaddss xmm4, xmm2, dword [rsi + 0x4c]
mov dword [rsp + 0x60], ecx
vxorps xmm0, xmm0, xmm0
cmp dword [r15 + 0x3a20], r12d
jne 0x1402043a6
vxorps xmm1, xmm1, xmm1
jmp 0x1402043b3
vaddss xmm3, xmm3, dword [rsi + 0x50]
vmovss xmm1, dword [0x14140e870]
or dword [r15 + 0x4b58], 1
vmovss dword [r15 + 0x4b6c], xmm3
vmovss dword [r15 + 0x4b70], xmm4
vmovss dword [r15 + 0x4b74], xmm1
vmovss dword [r15 + 0x4b78], xmm0
mov dword [r15 + 0x4b5c], eax
mov byte [r15 + 0x4b98], 1
mov eax, dword [r15 + 0x4c70]
cmp dword [r15 + 0x4c60], eax
jg 0x140204407
mov dword [r15 + 0x4b58], r12d
jmp 0x140204485
mov rbx, qword [r15 + 0x4150]
lea rcx, [0x1413cff60]
xor edx, edx
movsxd rax, dword [rbx + 0x130]
mov r8, qword [rbx + 0x138]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1401e1830
mov rcx, qword [rbx]
mov dword [rsp + 0x4c], eax
cmp dword [rcx + 0x419c], eax
jne 0x140204455
lea r8, [0x1413cff60]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
mov eax, dword [rsp + 0x4c]
mov edx, 0x141
mov ecx, eax
call fcn.1401f86a0
test al, al
je 0x140204481
or byte [rsi + 0xcc], 2
mov r8, rdi
mov rdx, rsi
mov rcx, r15
call qword [r15 + 0x6178]
call fcn.1401f8990
mov ecx, dword [rsp + 0x60]
mov eax, dword [rdi + 0x1c]
test eax, eax
je 0x14020449a
cmp eax, ecx
mov r8d, r12d
cmovne r8d, eax
mov dword [rsp + 0x48], r8d
movzx edx, byte [rsi + 0xcc]
movzx ecx, dl
shr cl, 1
and cl, 1
or byte [rsp + 0x30], cl
jmp 0x1402044c3
movzx ecx, byte [rsp + 0x30]
mov byte [rsp + 0x30], cl
jmp 0x1402044c3
mov byte [rsp + 0x31], r12b
mov byte [rsp + 0x30], bl
mov rax, qword [0x141443c60]
vmovss xmm7, dword [rsi + 0x48]
vaddss xmm8, xmm7, dword [rsi + 0x50]
vmovss dword [rbp - 0x70], xmm6
vmovss xmm0, dword [rax + 0x3a38]
vaddss xmm2, xmm0, xmm0
vmovss dword [rbp - 0x6c], xmm6
vmovss xmm6, dword [rsi + 0x4c]
vaddss xmm1, xmm6, dword [rax + 0x3e80]
vaddss xmm9, xmm2, xmm1
vmovss dword [rbp - 0x7c], xmm9
vmovss dword [rsp + 0x78], xmm7
vmovss dword [rsp + 0x7c], xmm6
vmovss dword [rbp - 0x80], xmm8
vmovss xmm2, dword [rax + 0x3a0c]
vmovss xmm1, dword [rax + 0x3a34]
vmovss xmm5, dword [rax + 0x3e80]
vaddss xmm0, xmm2, xmm7
vaddss xmm3, xmm0, xmm1
vsubss xmm0, xmm8, xmm2
vaddss xmm2, xmm6, dword [rax + 0x3a38]
vsubss xmm4, xmm0, xmm1
vmovss dword [rsp + 0x58], xmm4
vmovss dword [rsp + 0x54], xmm6
vmovss dword [rsp + 0x5c], xmm9
vmovss dword [rsp + 0x50], xmm3
test dl, 8
je 0x14020457e
vsubss xmm0, xmm4, xmm5
vmovss dword [rbp - 0x70], xmm0
vaddss xmm0, xmm5, dword [rax + 0x3a4c]
vsubss xmm4, xmm4, xmm0
vmovss dword [rsp + 0x58], xmm4
vmovss dword [rbp - 0x6c], xmm2
test dl, 0x10
je 0x1402045bf
cmp dword [rax + 0x3a20], r12d
jne 0x1402045a0
vaddss xmm0, xmm5, dword [rax + 0x3a4c]
vaddss xmm1, xmm0, xmm3
vmovss dword [rsp + 0x50], xmm1
jmp 0x1402045bf
cmp dword [rax + 0x3a20], 1
jne 0x1402045bf
vaddss xmm0, xmm5, dword [rax + 0x3a4c]
vsubss xmm1, xmm4, xmm0
vmovss dword [rsp + 0x58], xmm1
vsubss xmm3, xmm4, xmm5
mov r15d, r12d
mov eax, dword [rdi]
vmovups xmm0, xmmword [rsp + 0x50]
vmovups xmmword [rbp - 0x60], xmm0
vmovss dword [rsp + 0x50], xmm3
vmovss dword [rsp + 0x54], xmm2
mov dword [rsp + 0x4c], eax
cmp dword [rsi + 0x30], r12d
jle 0x140204661
mov rbx, r12
nop dword [rax + rax]
mov rax, qword [rsi + 0x38]
mov r9, qword [rbx + rax]
mov r8d, dword [r9 + 0xb8]
test r8d, r8d
je 0x14020462e
mov edx, dword [rdi]
mov eax, r12d
test edx, edx
jle 0x14020462e
mov rcx, qword [rdi + 8]
cmp dword [rcx], r8d
je 0x140204622
inc eax
add rcx, 0x38
cmp eax, edx
jl 0x140204611
jmp 0x14020462e
cdqe
imul rcx, rax, 0x38
add rcx, qword [rdi + 8]
jne 0x14020463e
mov r8, r9
mov edx, 0x400000
mov rcx, rdi
call fcn.14022d900
inc r15d
add rbx, 8
cmp r15d, dword [rsi + 0x30]
jl 0x1402045f0
vmovss xmm9, dword [rbp - 0x7c]
vmovss xmm8, dword [rbp - 0x80]
vmovss xmm6, dword [rsp + 0x7c]
vmovss xmm7, dword [rsp + 0x78]
movzx eax, byte [rsp + 0x30]
test al, al
je 0x14020467c
mov eax, dword [r14 + 0x40a8]
mov dword [rsi + 0xb4], eax
movzx eax, byte [rsp + 0x30]
cmp byte [r13 + 0xf6], r12b
je 0x14020468c
mov edx, recv
jmp 0x140204698
test al, al
mov rdx, r12
setne dl
add rdx, 0xa
mov rcx, qword [0x141443c60]
lea rax, [rdx + 0xf]
add rax, rax
vmovups xmm0, xmmword [rcx + rax*8 + 0x39f8]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rcx + 0x39f8]
lea rcx, [rsp + 0x60]
vmovss dword [rsp + 0x6c], xmm0
call fcn.1401e1f60
vmovss xmm3, dword [r14 + 0x3ad4]
vmovss xmm1, dword [r13 + 0x58]
vmovss xmm2, dword [r13 + 0x5c]
vaddss xmm0, xmm3, xmm1
vcomiss xmm0, xmm7
vaddss xmm0, xmm1, dword [r13 + 0x60]
vmovaps xmm7, xmmword [rsp + 0x150]
vsubss xmm1, xmm0, xmm3
setae cl
mov r10d, eax
vcomiss xmm8, xmm1
vmovaps xmm8, xmmword [rsp + 0x140]
setae r9b
vaddss xmm0, xmm3, xmm2
vcomiss xmm0, xmm6
vaddss xmm0, xmm2, dword [r13 + 0x64]
setae dl
vsubss xmm1, xmm0, xmm3
vcomiss xmm9, xmm1
vmovaps xmm9, xmmword [rsp + 0x130]
setae al
test dl, dl
je 0x14020474e
test cl, cl
je 0x14020474e
mov r8d, reloc.WS2_32.dll_recv
jmp 0x140204755
mov r8d, r12d
test dl, dl
je 0x14020475f
mov edx, 0x20
test r9b, r9b
jne 0x140204762
mov edx, r12d
test al, al
je 0x140204771
test cl, cl
je 0x140204771
mov ecx, 0x40
jmp 0x140204778
mov ecx, r12d
test al, al
je 0x140204782
mov eax, 0x180
test r9b, r9b
jne 0x140204787
mov eax, 0x100
vmovss xmm0, dword [r13 + 0x90]
or eax, r8d
mov r9d, r10d
or eax, edx
lea r8, [rbp - 0x80]
or eax, ecx
lea rdx, [rsp + 0x78]
mov rcx, qword [r13 + 0x2e0]
mov dword [rsp + 0x28], eax
vmovss dword [rsp + 0x20], xmm0
call fcn.1401d8d50
cmp byte [rsp + 0x31], r12b
je 0x140204909
movsxd rax, dword [r13 + 0x130]
lea rcx, [0x1413ce758]
mov r8, qword [r13 + 0x138]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1401e1830
mov rcx, qword [r13]
mov ebx, eax
cmp dword [rcx + 0x419c], eax
jne 0x140204806
lea r8, [0x1413ce758]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
mov r8, rsi
lea rdx, [rsp + 0x50]
mov ecx, ebx
call fcn.140217f80
test al, al
je 0x1402048a0
mov rax, qword [0x141443c60]
lea rcx, [0x1413cff60]
mov qword [rsp + 0x50], rax
xor edx, edx
mov rbx, qword [rax + 0x4150]
movsxd rax, dword [rbx + 0x130]
mov r8, qword [rbx + 0x138]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1401e1830
mov rcx, qword [rbx]
mov r15d, eax
cmp dword [rcx + 0x419c], eax
jne 0x140204872
lea r8, [0x1413cff60]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
mov rax, qword [rsp + 0x50]
test byte [rax + 0x627c], 4
je 0x140204896
mov r8d, r15d
lea rdx, [0x1413cff60]
lea rcx, [0x1413cf570]
call fcn.14020a550
xor edx, edx
mov ecx, r15d
call fcn.1401f8130
mov rax, qword [0x141443c60]
mov ecx, dword [rax + 0x41b4]
test ecx, ecx
je 0x1402048c0
cmp ecx, dword [rax + 0x4b08]
jne 0x1402048c0
mov eax, dword [rdi + 0x18]
mov dword [rsp + 0x48], eax
mov ecx, 0x11000
call fcn.1401e7340
test al, al
je 0x140204909
vmovss xmm0, dword [r14 + 0x41ac]
vcomiss xmm0, dword [0x14140e804]
jbe 0x140204909
mov rax, qword [0x141443c60]
lea rdx, [0x1413ce7a0]
mov rcx, qword [rax + 0x6230]
test rcx, rcx
cmovne rdx, rcx
lea rcx, [0x1413c649c]
call fcn.1401f7f40
mov r15d, dword [rdi]
lea ecx, [r15 - 1]
test ecx, ecx
js 0x140204944
movsxd rax, ecx
imul rdx, rax, 0x38
nop dword [rax + rax]
mov r8, qword [rdi + 8]
mov eax, dword [rdx + r8 + 4]
bt eax, 0x16
jae 0x140204944
btr eax, 0x16
mov r15d, ecx
mov dword [rdx + r8 + 4], eax
sub rdx, 0x38
sub ecx, 1
jns 0x140204920
mov r8d, dword [rdi]
cmp r8d, r15d
jle 0x140204a7b
test dword [r14 + 0x627c], 0x100
je 0x140204987
mov edx, dword [rsi]
lea eax, [r15 + 1]
cmp r8d, eax
lea rcx, [0x1413cfe68]
lea r9, [0x1413a1907]
cmovg r9, rcx
sub r8d, r15d
lea rcx, [0x1413cfe30]
call fcn.14020a550
mov ecx, r15d
mov dword [rsp + 0x60], ecx
cmp r15d, dword [rdi]
jge 0x140204a0d
movsxd rax, r15d
imul rbx, rax, 0x38
nop word [rax + rax]
test dword [r14 + 0x627c], 0x100
mov rdx, qword [rdi + 8]
je 0x1402049ff
mov rax, qword [rbx + rdx + 8]
test rax, rax
je 0x1402049c9
mov r8, qword [rax + 8]
movsx r9d, word [rax + 0x43e]
jmp 0x1402049ec
movsxd rax, dword [rbx + rdx + 0x28]
mov r9d, 0xffffffff
cmp eax, r9d
jne 0x1402049e2
lea r8, [0x1413cf264]
jmp 0x1402049ec
mov r8, rax
add r8, qword [rdi + 0x98]
mov edx, dword [rbx + rdx]
lea rcx, [0x1413cfeb8]
call fcn.14020a550
mov ecx, dword [rsp + 0x60]
inc ecx
add rbx, 0x38
mov dword [rsp + 0x60], ecx
cmp ecx, dword [rdi]
jl 0x1402049a0
test dword [r14 + 0x627c], 0x100
je 0x140204a47
mov rax, qword [r14 + 0x4d10]
test rax, rax
je 0x140204a2f
mov r8d, dword [rax + 0xb8]
jmp 0x140204a35
mov r8d, 0xffffffff
mov edx, dword [rsi + 0xbc]
lea rcx, [0x1413cfe78]
call fcn.14020a550
mov ecx, dword [rdi]
lea eax, [r15 + 1]
cmp ecx, eax
jle 0x140204a7b
sub ecx, r15d
movsxd rdx, ecx
cmp rdx, 1
jbe 0x140204a7b
movsxd rax, r15d
lea r9, [0x140203ed0]
imul rcx, rax, 0x38
mov r8d, 0x38
add rcx, qword [rdi + 8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
mov rax, qword [r14 + 0x4d10]
test rax, rax
je 0x140204aa0
mov rax, qword [rax + 0x3c0]
cmp qword [rax + 0x458], rsi
jne 0x140204aa0
mov eax, dword [rax + 0xb8]
mov dword [rdi + 0x18], eax
cmp qword [rsp + 0x38], r12
jne 0x140204ad3
mov edx, dword [rsi + 0xbc]
test edx, edx
je 0x140204ad3
mov r8d, dword [rdi]
mov eax, r12d
test r8d, r8d
jle 0x140204ad3
mov rcx, qword [rdi + 8]
cmp dword [rcx], edx
je 0x140205060
inc eax
add rcx, 0x38
cmp eax, r8d
jl 0x140204ac0
movsxd rax, dword [rdi]
cmp eax, dword [rsp + 0x4c]
jle 0x140204af5
imul rcx, rax, 0x38
mov rax, qword [rdi + 8]
mov rcx, qword [rcx + rax - 0x30]
mov eax, dword [rcx + 0xb8]
mov dword [rdi + 0x1c], eax
mov dword [rdi + 0x18], eax
mov r15d, 0x500003
cmp byte [r13 + 0xf6], r12b
jne 0x140204b12
cmp byte [rsp + 0x30], r12b
mov eax, 0x700003
cmovne r15d, eax
mov rax, qword [0x141443c60]
lea rcx, [0x1413cffd0]
xor edx, edx
mov rbx, qword [rax + 0x4150]
movsxd rax, dword [rbx + 0x130]
mov r8, qword [rbx + 0x138]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1401e1830
mov rcx, qword [rbx]
mov dword [rsp + 0x4c], eax
cmp dword [rcx + 0x419c], eax
jne 0x140204b67
lea r8, [0x1413cffd0]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
mov eax, dword [rsp + 0x4c]
mov dword [rdi + 0x14], eax
lea rdx, [rbp - 0x60]
vmovss xmm0, dword [rsi + 0x48]
vaddss xmm1, xmm0, dword [r13 + 0x94]
vmovss dword [rdi + 0x64], xmm1
vmovss xmm2, dword [rsi + 0x50]
vaddss xmm0, xmm2, dword [rsi + 0x48]
vsubss xmm1, xmm0, dword [r13 + 0x94]
mov r8d, r15d
mov rcx, rdi
vmovss dword [rdi + 0x68], xmm1
call fcn.14022c3a0
vmovups ymm0, ymmword [r14 + 0x3cf8]
vmovups xmm1, xmmword [r14 + 0x3ae8]
vmovups ymmword [rbp - 0x30], ymm0
vmovups ymm0, ymmword [r14 + 0x3d18]
vmovups ymmword [rbp - 0x10], ymm0
vmovups xmm0, xmmword [r14 + 0x3d38]
vmovups xmmword [rbp + 0x10], xmm0
vmovups xmmword [rbp - 0x40], xmm1
mov qword [rsi + 0x90], r12
mov dword [rsp + 0x60], r12d
cmp dword [rsi + 0x30], r12d
jle 0x140204fd5
vmovss xmm6, dword [0x14140e75c]
mov rbx, r12
mov qword [rsp + 0x50], rbx
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsi + 0x38]
mov rbx, qword [rbx + rax]
cmp byte [rsp + 0x33], r12b
jne 0x140204c2b
mov eax, dword [rsp + 0x74]
cmp eax, dword [rbx + 0xb8]
jne 0x140204c41
cmp byte [rbx + 0xfe], r12b
je 0x140204c41
test dword [rbx + 0x14], 0x40000
je 0x140204faf
mov eax, dword [rbx + 0x2a0]
inc eax
cmp eax, dword [r14 + 0x40a8]
jge 0x140204c5f
mov eax, dword [rbp - 0x68]
cmp dword [rsp + 0x70], eax
je 0x140204faf
mov ecx, dword [rbx + 0x440]
mov r8d, dword [rbx + 0x34]
mov edx, dword [rdi + 0x10]
or r8d, 1
test dword [rbx + 0x14], 0x40000
vxorps xmm0, xmm0, xmm0
cmove r8d, dword [rbx + 0x34]
movzx eax, cl
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm4, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
mov eax, ecx
shr eax, 8
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm3, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm3, 0x10
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm2, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm2, 0x20
mov eax, ecx
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm1, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm1, 0x30
vmovups xmmword [r14 + 0x3ae8], xmm4
mov ecx, dword [rbx + 0x444]
movzx eax, cl
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm4, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
mov eax, ecx
shr eax, 8
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm3, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm3, 0x10
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm2, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm2, 0x20
mov eax, ecx
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm1, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm1, 0x30
vmovups xmmword [r14 + 0x3cf8], xmm4
mov ecx, dword [rbx + 0x448]
movzx eax, cl
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm4, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
mov eax, ecx
shr eax, 8
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm3, xmm0, xmm6
mov eax, ecx
shr eax, 0x10
vxorps xmm0, xmm0, xmm0
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm2, xmm0, xmm6
shr ecx, 0x18
vxorps xmm0, xmm0, xmm0
mov eax, ecx
vcvtsi2ss xmm0, xmm0, rax
vinsertps xmm4, xmm4, xmm3, 0x10
vmulss xmm1, xmm0, xmm6
vinsertps xmm4, xmm4, xmm2, 0x20
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm1, 0x30
vmovups xmmword [r14 + 0x3d08], xmm4
mov ecx, dword [rbx + 0x44c]
movzx eax, cl
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm4, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
mov eax, ecx
shr eax, 8
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm3, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm3, 0x10
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm2, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm2, 0x20
mov eax, ecx
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm1, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm1, 0x30
vmovups xmmword [r14 + 0x3d18], xmm4
mov ecx, dword [rbx + 0x450]
movzx eax, cl
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm4, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
mov eax, ecx
shr eax, 8
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm3, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm3, 0x10
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm2, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm2, 0x20
mov eax, ecx
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm1, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
vinsertps xmm4, xmm4, xmm1, 0x30
vmovups xmmword [r14 + 0x3d28], xmm4
mov ecx, dword [rbx + 0x454]
movzx eax, cl
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm4, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
mov eax, ecx
shr eax, 8
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm3, xmm0, xmm6
mov eax, ecx
shr eax, 0x10
vxorps xmm0, xmm0, xmm0
movzx eax, al
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm2, xmm0, xmm6
vinsertps xmm4, xmm4, xmm3, 0x10
shr ecx, 0x18
vxorps xmm0, xmm0, xmm0
mov eax, ecx
vcvtsi2ss xmm0, xmm0, rax
vmulss xmm1, xmm0, xmm6
vinsertps xmm4, xmm4, xmm2, 0x20
vinsertps xmm4, xmm4, xmm1, 0x30
vmovups xmmword [rsp + 0x38], xmm4
vmovups xmmword [r14 + 0x3d38], xmm4
mov r9d, r8d
mov byte [rsp + 0x31], 1
or r9d, 4
mov qword [rsp + 0x20], rbx
test dl, 8
mov rcx, rdi
mov rdx, qword [rbx + 8]
cmove r9d, r8d
cmp byte [rbx + 0xfe], r12b
lea r8, [rsp + 0x31]
cmove r8, r12
vzeroupper
call fcn.14022e190
cmp byte [rsp + 0x31], r12b
jne 0x140204f54
mov eax, dword [rbx + 0xb8]
mov dword [rsi + 0xc0], eax
mov eax, dword [rbx + 0xb8]
cmp dword [rdi + 0x20], eax
jne 0x140204f66
mov qword [rsi + 0x90], rbx
mov eax, dword [r14 + 0x4b10]
mov dword [rbx + 0x46c], eax
vmovups xmm0, xmmword [r14 + 0x4b14]
vmovups xmmword [rbx + 0x470], xmm0
mov rax, qword [r14 + 0x4d10]
test rax, rax
je 0x140204faf
cmp qword [rax + 0x3c0], rbx
jne 0x140204faf
test byte [rbx + 0x19c], 2
jne 0x140204faf
mov eax, dword [rbx + 0xb8]
mov dword [r13 + 0x3fc], eax
mov eax, dword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
inc eax
add rbx, 8
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x50], rbx
cmp eax, dword [rsi + 0x30]
jl 0x140204c10
vmovups xmm1, xmmword [rbp - 0x40]
vmovups ymm0, ymmword [rbp - 0x30]
vmovaps xmm6, xmmword [rsp + 0x160]
vmovups xmmword [r14 + 0x3ae8], xmm1
vmovups ymmword [r14 + 0x3cf8], ymm0
vmovups ymm0, ymmword [rbp - 0x10]
vmovups ymmword [r14 + 0x3d18], ymm0
vmovups xmm0, xmmword [rbp + 0x10]
vmovups xmmword [r14 + 0x3d38], xmm0
mov rcx, qword [rsi + 0x90]
test rcx, rcx
je 0x140205038
mov rax, qword [rbp - 0x78]
cmp byte [rsp + 0x30], r12b
jne 0x140205031
cmp qword [rax + 0x90], r12
jne 0x140205038
mov qword [rax + 0x90], rcx
movzx eax, byte [rsi + 0xcc]
and al, 8
je 0x14020507b
mov rcx, qword [rsi + 0x90]
test rcx, rcx
je 0x14020507b
cmp byte [rcx + 0xfe], r12b
je 0x14020507b
mov r15b, 1
jmp 0x140205176
cdqe
imul rcx, rax, 0x38
add rcx, qword [rdi + 8]
je 0x140204ad3
mov dword [rdi + 0x1c], edx
mov dword [rdi + 0x18], edx
jmp 0x140204af5
test al, al
je 0x140205287
mov rbx, qword [0x141443c60]
mov eax, dword [rbx + 0x4ad4]
lea r15, [rbx + 0x4c40]
or eax, 4
mov dword [rbx + 0x4ad4], eax
mov ecx, dword [r15 + 4]
mov r8d, dword [r15]
mov dword [rsp + 0x70], eax
cmp r8d, ecx
jne 0x1402050e3
inc r8d
test ecx, ecx
je 0x1402050c2
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1402050c7
mov eax, 8
cmp eax, r8d
mov rcx, r15
cmovg r8d, eax
mov edx, r8d
vzeroupper
call fcn.1401deb40
mov rbx, qword [0x141443c60]
movsxd rcx, dword [r15]
mov edx, dword [rsp + 0x70]
mov rax, qword [r15 + 8]
mov dword [rbp - 0x60], r12d
mov dword [rax + rcx*4], edx
lea rcx, [rbx + 0x4c00]
inc dword [r15]
lea rdx, [rbp - 0x60]
vmovss xmm0, dword [r14 + 0x3ae8]
vmovss xmm1, dword [r14 + 0x3aec]
vmovss dword [rsp + 0x38], xmm0
vmovss xmm0, dword [r14 + 0x3af0]
vmovss dword [rsp + 0x40], xmm0
vmovss dword [rsp + 0x3c], xmm1
vmovss xmm1, dword [r14 + 0x3af4]
vmulss xmm0, xmm1, dword [0x14140e7e8]
vmovss dword [rsp + 0x44], xmm0
vmovups xmm0, xmmword [rbx + 0x3ae8]
vmovups xmmword [rbp - 0x5c], xmm0
vzeroupper
call fcn.14020b790
xor r15b, r15b
cmp dword [rbx + 0x4bfc], r12d
je 0x140205176
vmovups xmm0, xmmword [rsp + 0x38]
vmovups xmmword [rbx + 0x3ae8], xmm0
movsxd rax, dword [r13 + 0x130]
lea rcx, [0x1413cec34]
mov r8, qword [r13 + 0x138]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
vzeroupper
call fcn.1401e1830
mov rcx, qword [r13]
mov ebx, eax
cmp dword [rcx + 0x419c], eax
jne 0x1402051bb
lea r8, [0x1413cec34]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
lea rdx, [rbp - 0x70]
mov ecx, ebx
call fcn.140217c30
test al, al
je 0x140205224
or byte [rsi + 0xcc], 0x40
mov r8d, r12d
cmp dword [rdi], r12d
jle 0x140205224
mov rcx, r12
nop dword [rax]
mov rdx, qword [rdi + 8]
mov eax, dword [rcx + rdx + 4]
bt eax, 0x15
jb 0x140205218
test eax, 0x101
mov eax, dword [rcx + rdx]
jne 0x140205210
mov byte [rcx + rdx + 0x30], 1
cmp dword [rdi + 0x20], eax
jne 0x140205218
mov dword [rcx + rdx + 0x10], 0xffffffff
mov qword [rdi + 0x18], r12
jmp 0x140205218
cmp dword [rdi + 0x20], eax
je 0x140205218
mov dword [rdi + 0x1c], eax
inc r8d
add rcx, 0x38
cmp r8d, dword [rdi]
jl 0x1402051e0
test r15b, r15b
jne 0x140205287
mov rbx, qword [0x141443c60]
movsxd rax, dword [rbx + 0x4c00]
cmp eax, 1
jl 0x140205264
mov rcx, qword [rbx + 0x4c08]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
vmovups xmmword [rbx + rax*8 + 0x3ae8], xmm0
dec dword [rbx + 0x4c00]
movsxd rcx, dword [rbx + 0x4c40]
lea eax, [rcx - 1]
mov dword [rbx + 0x4c40], eax
mov rax, qword [rbx + 0x4c48]
mov ecx, dword [rax + rcx*4 - 8]
mov dword [rbx + 0x4ad4], ecx
jmp 0x14020528e
mov rbx, qword [0x141443c60]
movsxd rax, dword [r13 + 0x130]
lea rcx, [0x1413cffc0]
mov r8, qword [r13 + 0x138]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
vzeroupper
call fcn.1401e1830
mov rcx, qword [r13]
mov r15d, eax
cmp dword [rcx + 0x419c], eax
jne 0x1402052db
lea r8, [0x1413cffc0]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
mov rbx, qword [0x141443c60]
mov eax, dword [r14 + 0x41a0]
test eax, eax
je 0x1402052f8
cmp eax, r15d
je 0x1402052f8
cmp dword [r14 + 0x41b4], r15d
jne 0x1402053b8
cmp dword [rbx + 0x41b4], r15d
jne 0x140205308
mov dword [rbx + 0x41b8], r15d
cmp dword [rbx + 0x41e4], r15d
jne 0x140205318
mov byte [rbx + 0x41e8], 1
lea r9, [rsp + 0x32]
mov dword [rsp + 0x20], 0x1000
xor r8d, r8d
lea rcx, [rsp + 0x78]
mov edx, r15d
call fcn.140216c00
cmp dword [r14 + 0x41a0], r15d
jne 0x140205345
mov dword [r14 + 0x4b08], r15d
cmp byte [rsp + 0x32], r12b
je 0x1402053b8
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1401f4650
test al, al
je 0x140205363
mov eax, dword [rdi + 0x18]
mov dword [rsp + 0x48], eax
mov edx, dword [rdi + 0x18]
test edx, edx
je 0x1402053b8
mov r8d, dword [rdi]
mov eax, r12d
test r8d, r8d
jle 0x1402053b8
mov rcx, qword [rdi + 8]
nop dword [rax]
cmp dword [rcx], edx
je 0x140205391
inc eax
add rcx, 0x38
cmp eax, r8d
jl 0x140205380
jmp 0x1402053b8
cdqe
imul rcx, rax, 0x38
add rcx, qword [rdi + 8]
je 0x1402053b8
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x1402053ad
mov rcx, qword [rsi + 0x88]
xor r8d, r8d
mov rdx, rsi
call fcn.1401e7ba0
mov edx, dword [rdi + 0x1c]
test edx, edx
mov r15, qword [rsp + 0x170]
cmove edx, dword [rsp + 0x48]
test edx, edx
je 0x140205418
mov r8d, dword [rdi]
mov eax, r12d
test r8d, r8d
jle 0x140205418
mov rcx, qword [rdi + 8]
nop dword [rax]
cmp dword [rcx], edx
je 0x1402053f1
inc eax
add rcx, 0x38
cmp eax, r8d
jl 0x1402053e0
jmp 0x140205418
cdqe
imul rbx, rax, 0x38
add rbx, qword [rdi + 8]
je 0x140205418
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140205418
xor edx, edx
call fcn.1401f24a0
mov rcx, qword [rbx + 8]
xor edx, edx
call fcn.1401fa0f0
call fcn.14022c7b0
mov rax, qword [0x141443c60]
mov rdi, qword [rsp + 0x178]
mov rcx, qword [rax + 0x4150]
dec dword [rcx + 0x130]
mov eax, dword [rsi + 0x10]
shr eax, 0xa
test al, 1
jne 0x1402054c7
movzx eax, byte [rsp + 0x34]
mov byte [r13 + 0xf8], al
mov dword [r13 + 0x198], r12d
jmp 0x1402054c7
cmp dword [rsi + 0x30], r12d
jle 0x140205469
mov rax, qword [rsi + 0x38]
mov r12, qword [rax]
and r8b, 0xfd
mov qword [rsi + 0x90], r12
movzx eax, bl
add al, al
or r8b, al
mov byte [rsi + 0xcc], r8b
test bl, bl
je 0x140205494
mov eax, dword [r14 + 0x40a8]
mov dword [rsi + 0xb4], eax
test r12, r12
je 0x1402054c7
test bl, bl
jne 0x1402054a7
cmp qword [rdx + 0x90], 0
jne 0x1402054ae
mov qword [rdx + 0x90], r12
mov rdx, qword [rsi + 0x40]
test rdx, rdx
je 0x1402054c7
mov rax, qword [rsi + 0x90]
mov ecx, dword [rax + 0xb8]
mov dword [rdx + 0x20], ecx
mov rbx, qword [rsp + 0x1c0]
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1403f4b10
add rsp, 0x180
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret