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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x260
lea rbp, [rsp + 0xc0]
mov eax, dword [rcx + 0xc]
mov r10d, r8d
mov r14d, dword [rcx + 8]
mov r8, rcx
mov r11d, dword [rbp + 0x200]
xor ecx, ecx
mov qword [rbp + 0x1f0], rbx
mov r12, r9
movaps xmmword [rbp + 0x190], xmm6
mov r13, rdx
mov rdi, qword [r8]
movaps xmmword [rbp + 0x180], xmm7
movaps xmmword [rbp + 0x170], xmm8
movaps xmmword [rbp + 0x160], xmm9
xorps xmm9, xmm9
mov ebx, dword [rdi + 8]
movsxd rsi, dword [rdi + 4]
mov dword [rbp], eax
mov rax, qword [rdi + 0x20]
mov qword [rbp + 0xe0], rax
movaps xmmword [rbp + 0x150], xmm10
movaps xmmword [rbp + 0x140], xmm11
movaps xmmword [rbp + 0x130], xmm12
xorps xmm11, xmm11
mov eax, dword [r8 + 0x24]
mov dword [rbp + 0xc], eax
mov eax, dword [r8 + 0x28]
mov dword [rbp + 8], eax
mov dword [rbp + 0x2c], r14d
mov dword [rbp + 0x54], reloc.WS2_32.dll_ntohs
mov dword [rbp + 0x50], 0
mov dword [rbp + 0xa0], ecx
mov dword [rbp + 0xb4], ecx
mov dword [rbp + 0xb0], ecx
mov qword [rbp + 0x18], rdi
mov dword [rbp + 4], ebx
cmp r11d, 2
jl 0x180043c79
test rdx, rdx
je 0x180043c79
imul r10d, dword [r8 + 0x20]
mov r9d, ecx
mov edx, dword [rdi + 0x28]
mov dword [rbp + 0x14], ecx
test edx, edx
js 0x18004131c
mov edi, dword [rdi + 0x30]
nop
mov ecx, r9d
mov eax, edi
shl eax, cl
cmp eax, r10d
je 0x180041314
inc r9d
cmp r9d, edx
jle 0x180041300
mov rdi, qword [rbp + 0x18]
mov dword [rbp + 0x14], r9d
cmp r9d, edx
jg 0x180043c79
mov ecx, r9d
mov r15d, 1
mov eax, r15d
shl eax, cl
mov dword [rbp + 0x6c], eax
imul eax, dword [rdi + 0x30]
mov dword [rbp + 0x20], eax
mov eax, esi
imul eax, r14d
cdqe
add rax, 0x3f
lea rax, [r8 + rax*4]
mov qword [rbp + 0xa8], rax
lea eax, [rsi + 0x400]
imul eax, r14d
movsxd rdx, eax
mov eax, ebx
imul eax, r14d
lea rbx, [0x180000000]
mov r14, qword [rbp + 0x208]
add rdx, 0x3f
movsxd rcx, eax
lea rdx, [r8 + rdx*4]
mov qword [rbp + 0x58], rdx
lea rax, [rdx + rcx*4]
mov qword [rbp + 0x40], rax
lea rax, [rax + rcx*4]
mov qword [rbp + 0x78], rax
lea rax, [rax + rcx*4]
mov qword [rbp + 0xe8], rax
test r14, r14
jne 0x1800413ae
xor ecx, ecx
mov dword [rbp + 0x70], r15d
mov ebx, ecx
jmp 0x18004140c
mov r9d, dword [r14 + 0x20]
mov edx, r9d
mov r15d, dword [r14 + 0x18]
mov r8, qword [rbp + 0x1e0]
bsr eax, r9d
lea ecx, [rax - 0xf]
shr edx, cl
lea eax, [rax*8 + 8]
mov edi, edx
xor ecx, ecx
shr edi, 0xc
sub edi, 8
cmp edx, dword [rbx + rdi*4 + 0xb96b0]
lea edx, [r15*8]
seta cl
sub edx, ecx
sub edx, eax
bsr eax, r9d
mov r9d, dword [rbp + 0x14]
sub edx, edi
sub r15d, eax
mov dword [rbp + 0x70], edx
dec r15d
lea ebx, [r15 + 4]
sar ebx, 3
xor ecx, ecx
mov eax, 0x4fb
mov dword [rbp + 0x200], r15d
cmp r11d, eax
mov edx, eax
cmovl edx, r11d
mov edi, edx
mov dword [rbp + 0x10], edx
sub edi, ebx
cmp dword [r8 + 0x30], 0
mov dword [rbp + 0x30], edi
je 0x180041478
mov r8d, dword [r8 + 0x2c]
cmp r8d, 0xffffffff
je 0x180041471
mov rcx, qword [rbp + 0x18]
mov edi, dword [rcx]
mov ecx, r8d
sar edi, 3
mov eax, edi
imul ecx, r10d
sar eax, 1
mov r10d, 2
add eax, ecx
cdq
idiv edi
mov edi, eax
mov dword [rbp + 0x90], eax
sar edi, 6
mov r11d, eax
mov dword [rbp + 0x48], edi
mov edi, dword [rbp + 0x30]
jmp 0x1800414e8
mov r8, qword [rbp + 0x1e0]
mov r8d, dword [r8 + 0x2c]
mov r11d, ecx
mov eax, r8d
mov dword [rbp + 0x90], ecx
imul eax, r10d
cmp r15d, 1
jle 0x180041495
add eax, r15d
mov r10d, 2
cmp r8d, 0xffffffff
je 0x1800414e3
mov rcx, qword [rbp + 0x18]
mov ecx, dword [rcx]
lea eax, [rax + rcx*4]
cdq
lea ecx, [rcx*8]
idiv ecx
mov rdx, qword [rbp + 0x1e0]
mov ecx, eax
xor eax, eax
cmp dword [rdx + 0x34], eax
mov edx, dword [rbp + 0x10]
setne al
sub ecx, eax
cmp edx, ecx
mov eax, ecx
cmovl eax, edx
cmp eax, r10d
jge 0x1800414db
mov edx, r10d
jmp 0x1800414e0
cmp edx, ecx
cmovge edx, ecx
mov dword [rbp + 0x10], edx
sub edx, ebx
mov dword [rbp + 0x48], edx
mov eax, dword [rbp]
mov ecx, r9d
mov edx, 0x190
sar edx, cl
mov ecx, 3
sub edx, 0x32
sub ecx, r9d
lea eax, [rax + rax*4]
lea eax, [rax*8 + 0x14]
imul edx, eax
imul eax, dword [rbp + 0x10], 0x190
shl eax, cl
sub eax, edx
mov dword [rbp + 0x68], eax
cmp r8d, 0xffffffff
je 0x18004152e
sub r8d, edx
cmp eax, r8d
cmovge eax, r8d
mov dword [rbp + 0x68], eax
xor eax, eax
test r14, r14
jne 0x180041590
mov qword [rbp + 0xf8], r12
lea r14, [rbp + 0xf8]
mov r12d, dword [rbp + 0x10]
mov dword [rbp + 0x100], r12d
mov qword [rbp + 0x208], r14
mov qword [rbp + 0x104], rax
mov dword [rbp + 0x10c], eax
mov qword [rbp + 0x110], reloc.WLDAP32.dll_Ordinal_33
mov dword [rbp + 0x118], 0x80000000
mov dword [rbp + 0x124], 0xffffffff
mov qword [rbp + 0x11c], rax
mov dword [rbp + 0x128], eax
jmp 0x180041594
mov r12d, dword [rbp + 0x10]
mov rdx, qword [rbp + 0x1e0]
test r11d, r11d
jle 0x180041603
cmp dword [rdx + 0x38], 0
je 0x180041603
lea ecx, [r11 + r11]
sub ecx, dword [rdx + 0xd4]
mov edx, eax
sar ecx, 6
cmp r15d, 1
mov eax, ecx
cmove edx, r10d
cmp edx, ecx
cmovg eax, edx
cmp eax, edi
jge 0x1800415fc
cmp edx, ecx
cmovg ecx, edx
cmp ecx, edi
jge 0x1800415fc
mov r8d, dword [r14 + 0xc]
lea r12d, [rcx + rbx]
mov edx, dword [r14 + 8]
mov dword [rbp + 0x30], ecx
sub rdx, r8
add rdx, qword [r14]
mov ecx, r12d
sub rcx, r8
mov dword [rbp + 0x10], r12d
add rcx, qword [r14]
call sub.VCRUNTIME140.dll_memmove
mov dword [r14 + 8], r12d
mov rdx, qword [rbp + 0x1e0]
mov ecx, dword [rbp + 8]
lea edi, [r12*8]
mov r12, qword [rbp + 0x18]
movabs r8, 0xffffffffffffff0
mov dword [rbp + 0x80], edi
mov edi, dword [rbp + 0x20]
cmp ecx, dword [r12 + 0xc]
cmovg ecx, dword [r12 + 0xc]
lea eax, [rdi + rsi]
imul eax, dword [rbp + 0x2c]
mov dword [rbp + 0x34], ecx
movsxd rcx, eax
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x18004164d
mov rax, r8
and rax, 0xfffffffffffffff0
call fcn.1800a40c0
mov r11d, dword [rdx + 0x20]
sub rsp, rax
mov rcx, r13
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x88], rax
mov eax, edi
sub eax, esi
imul eax, dword [rbp]
cdq
idiv r11d
movsxd rdi, eax
mov edx, edi
call fcn.18003c990
mov rdx, qword [rbp + 0x1e0]
lea rcx, [rdi*4]
mov eax, esi
add rcx, r13
imul eax, dword [rbp]
movss xmm4, dword [rdx + 0xe4]
maxss xmm4, xmm0
cdq
idiv r11d
mov edx, eax
call fcn.18003c990
mov r8, qword [rbp + 0x1e0]
maxss xmm4, xmm0
movss xmm10, dword [0x1800c1df0]
xor r11d, r11d
mov eax, 1
movaps xmm1, xmm10
mov edi, r11d
mov ecx, dword [r8 + 0x40]
shl eax, cl
movss dword [r8 + 0xe4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm4
setae dil
mov dword [rbp + 0x28], edi
cmp r15d, 1
jne 0x1800417ee
mov eax, dword [r14 + 0x20]
mov ecx, eax
shr ecx, 0xf
sub eax, ecx
test edi, edi
je 0x18004171a
add dword [r14 + 0x24], eax
test edi, edi
cmovne eax, ecx
mov dword [r14 + 0x20], eax
cmp eax, 0x800000
ja 0x180041764
nop dword [rax + rax]
mov edx, dword [r14 + 0x24]
mov rcx, r14
shr edx, 0x17
call fcn.180044520
mov ecx, dword [r14 + 0x24]
shl dword [r14 + 0x20], 8
and ecx, 0x7fffff
add dword [r14 + 0x18], 8
shl ecx, 8
cmp dword [r14 + 0x20], 0x800000
mov dword [r14 + 0x24], ecx
jbe 0x180041730
test edi, edi
je 0x1800417f2
mov edx, dword [rbp + 0x90]
test edx, edx
jle 0x1800417c9
mov r8d, dword [r14 + 0xc]
lea eax, [rbx + 2]
mov ebx, dword [rbp + 0x10]
cmp ebx, eax
mov edx, dword [r14 + 8]
cmovge ebx, eax
mov dword [rbp + 0x30], 2
sub rdx, r8
mov ecx, ebx
add rdx, qword [r14]
sub rcx, r8
add rcx, qword [r14]
lea edi, [rbx*8]
mov dword [rbp + 0x10], ebx
mov dword [rbp + 0x80], edi
mov dword [rbp + 0x48], ebx
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [rbp + 0x1e0]
xor r11d, r11d
mov edi, dword [rbp + 0x28]
mov dword [r14 + 8], ebx
jmp 0x1800417cc
mov ebx, dword [rbp + 0x10]
bsr eax, dword [r14 + 0x20]
lea r15d, [rbx*8]
mov dword [rbp + 0x28], edi
inc eax
mov dword [rbp + 0x200], r15d
add eax, r15d
mov dword [r14 + 0x18], eax
jmp 0x1800417f2
mov dword [rbp + 0x28], r11d
mov r10d, dword [rbp + 0x20]
mov r13, rsi
mov r15, qword [rbp + 0x1e8]
mov ebx, r11d
add r12, 0x10
mov esi, r11d
lea eax, [r10 + r13]
mov r14d, eax
mov rdx, qword [rbp + 0x88]
mov r9d, dword [rbp + 0x2c]
movsxd rcx, ebx
movsxd rax, esi
add rax, r13
lea rdi, [rcx + 0x31]
lea rdi, [r8 + rdi*4]
lea rdx, [rdx + rax*4]
mov qword [rsp + 0x30], rdi
mov eax, dword [r8 + 0x20]
lea rcx, [r15 + rcx*4]
mov qword [rsp + 0x28], r12
mov r8d, r10d
mov dword [rsp + 0x20], eax
call fcn.18003d410
mov r8, qword [rbp + 0x1e0]
inc ebx
mov r10d, dword [rbp + 0x20]
add esi, r14d
cmp ebx, dword [rbp + 0x2c]
jl 0x180041811
movsxd r13, dword [r8 + 0x68]
lea rdi, [r8 + 0x7c]
mov eax, dword [rbp + 0x30]
mov rsi, r8
mov rbx, qword [rbp + 0x88]
mov rcx, rsi
mov r9d, dword [rbp + 0x2c]
mov rdx, rbx
mov r8, qword [rbp + 0xa8]
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x50], eax
lea rax, [rbp + 0x38]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x54]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], r10d
mov dword [rbp + 0xa4], r13d
call fcn.180040ae0
movss xmm1, dword [0x1800c1d94]
movss xmm12, dword [rbp + 0x50]
comiss xmm12, xmm1
mov r12d, dword [rbp + 0x54]
mov r14, qword [rbp + 0x208]
mov r15d, dword [rbp + 0x200]
mov dword [rbp + 0x24], r12d
ja 0x1800418f3
movss xmm0, dword [rsi + 0x70]
comiss xmm0, xmm1
jbe 0x180041948
cmp dword [rdi], 0
je 0x18004190d
movss xmm0, dword [rsi + 0x80]
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [str.333333]
jbe 0x180041948
movd xmm1, dword [rsi + 0x6c]
cvtdq2pd xmm1, xmm1
movd xmm2, r12d
movaps xmm0, xmm1
mulsd xmm0, qword [0x1800c1e30]
cvtdq2pd xmm2, xmm2
comisd xmm2, xmm0
ja 0x18004193e
mulsd xmm1, qword [0x1800c1e28]
comisd xmm1, xmm2
jbe 0x180041948
mov dword [rbp + 0xb4], 1
mov r11d, 6
mov dword [rbp + 0x50], r11d
test eax, eax
jne 0x1800419c9
mov r12d, dword [rbp + 0x80]
cmp dword [rbp + 0xc], eax
jne 0x180041bcb
lea eax, [r15 + 0x10]
cmp eax, r12d
jg 0x180041bcb
mov ecx, dword [r14 + 0x20]
mov eax, ecx
shr eax, 1
sub ecx, eax
mov dword [r14 + 0x20], ecx
cmp ecx, 0x800000
ja 0x180041bcb
nop dword [rax]
mov edx, dword [r14 + 0x24]
mov rcx, r14
shr edx, 0x17
call fcn.180044520
mov ecx, dword [r14 + 0x24]
shl dword [r14 + 0x20], 8
and ecx, 0x7fffff
add dword [r14 + 0x18], 8
shl ecx, 8
cmp dword [r14 + 0x20], 0x800000
mov dword [r14 + 0x24], ecx
jbe 0x180041990
jmp 0x180041bcb
mov ecx, dword [r14 + 0x20]
mov edi, ecx
mov edx, dword [r14 + 0x24]
shr edi, 1
sub ecx, edi
mov dword [r14 + 0x20], edi
add edx, ecx
mov dword [r14 + 0x24], edx
cmp edi, 0x800000
ja 0x180041a20
nop dword [rax]
shr edx, 0x17
mov rcx, r14
call fcn.180044520
mov edx, dword [r14 + 0x24]
shl dword [r14 + 0x20], 8
and edx, 0x7fffff
add dword [r14 + 0x18], 8
shl edx, 8
cmp dword [r14 + 0x20], 0x800000
mov dword [r14 + 0x24], edx
jbe 0x1800419f0
inc r12d
mov r8d, r11d
bsr edi, r12d
mov rcx, r14
lea edx, [rdi - 4]
call fcn.1800445d0
mov r8d, dword [r14 + 0x14]
lea ecx, [rdi - 4]
mov r10d, dword [r14 + 0x10]
mov r11d, edi
mov eax, reloc.WS2_32.dll_recv
mov edi, r12d
shl eax, cl
sub edi, eax
lea eax, [r11 + r8]
cmp eax, 0x20
jbe 0x180041aa6
xor esi, esi
nop word [rax + rax]
mov ecx, dword [r14 + 0x1c]
mov r9d, dword [r14 + 0xc]
add ecx, r9d
mov edx, dword [r14 + 8]
cmp ecx, edx
jb 0x180041a7a
mov eax, 0xffffffff
jmp 0x180041a8d
lea eax, [r9 + 1]
mov dword [r14 + 0xc], eax
sub edx, eax
mov rax, qword [r14]
mov byte [rdx + rax], r10b
mov eax, esi
or dword [r14 + 0x30], eax
sub r8d, 8
shr r10d, 8
cmp r8d, 8
jge 0x180041a60
mov rsi, qword [rbp + 0x1e0]
add dword [r14 + 0x18], r11d
mov ecx, r8d
add r8d, r11d
shl edi, cl
dec r12d
or edi, r10d
mov dword [rbp + 0x24], r12d
lea eax, [r8 + 3]
cmp eax, 0x20
jbe 0x180041b15
xor ebx, ebx
nop word [rax + rax]
mov ecx, dword [r14 + 0x1c]
mov r9d, dword [r14 + 0xc]
add ecx, r9d
mov edx, dword [r14 + 8]
cmp ecx, edx
jb 0x180041aea
mov eax, 0xffffffff
jmp 0x180041afd
lea eax, [r9 + 1]
mov dword [r14 + 0xc], eax
sub edx, eax
mov rax, qword [r14]
mov byte [rdx + rax], dil
mov eax, ebx
or dword [r14 + 0x30], eax
sub r8d, 8
shr edi, 8
cmp r8d, 8
jge 0x180041ad0
mov rbx, qword [rbp + 0x88]
mov eax, dword [rbp + 0x38]
mov ecx, r8d
mov edx, dword [r14 + 0x20]
add dword [r14 + 0x18], 3
shl eax, cl
or edi, eax
lea eax, [r8 + 3]
mov dword [r14 + 0x10], edi
mov r8d, edx
lea rdi, [0x1800b8170]
shr r8d, 2
add rdi, r13
mov dword [r14 + 0x14], eax
test r13d, r13d
jle 0x180041b6d
movzx eax, byte [rdi - 1]
mov ecx, dword [r14 + 0x24]
imul eax, r8d
sub ecx, eax
add ecx, edx
mov dword [r14 + 0x24], ecx
movzx eax, byte [rdi]
movzx edx, byte [rdi - 1]
sub edx, eax
imul edx, r8d
jmp 0x180041b76
movzx eax, byte [rdi]
imul eax, r8d
sub edx, eax
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov rcx, r14
mov dword [rax + rcx], edx
cmp edx, 0x800000
ja 0x180041bc4
nop dword [rax]
mov edx, dword [r14 + 0x24]
mov rcx, r14
shr edx, 0x17
call fcn.180044520
mov ecx, dword [r14 + 0x24]
shl dword [r14 + 0x20], 8
and ecx, 0x7fffff
add dword [r14 + 0x18], 8
shl ecx, 8
cmp dword [r14 + 0x20], 0x800000
mov dword [r14 + 0x24], ecx
jbe 0x180041b90
mov r12d, dword [rbp + 0x80]
xor edi, edi
cmp dword [rsi + 0x1c], 1
mov edx, edi
mov dword [rbp + 0x200], edx
mov dword [rbp + 0x54], edi
jl 0x180041bea
cmp dword [rsi + 0x44], edx
cmove edx, edi
mov dword [rbp + 0x200], edx
mov r13d, dword [rbp + 0x14]
test r13d, r13d
jle 0x180041c06
bsr eax, dword [r14 + 0x20]
mov ecx, dword [r14 + 0x18]
sub ecx, eax
add ecx, 2
cmp ecx, r12d
jle 0x180041c16
mov dword [rbp + 0x200], edi
mov dword [rbp + 0xb0], 1
mov eax, dword [rbp + 0x20]
movabs r9, 0xffffffffffffff0
mov r8d, dword [rbp + 0x2c]
imul eax, r8d
movsxd rcx, eax
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x180041c3e
mov rax, r9
and rax, 0xfffffffffffffff0
call fcn.1800a40c0
mov edx, dword [rbp + 4]
sub rsp, rax
mov eax, edx
imul eax, r8d
lea rdi, [rsp + 0xc0]
mov qword [rbp + 0xa8], rdi
cdqe
lea rax, [rax*4]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x180041c78
mov rcx, r9
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1800a40c0
sub rsp, rcx
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x98], rax
mov eax, edx
imul eax, r8d
cdqe
lea rax, [rax*4]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x180041cb2
mov rcx, r9
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1800a40c0
mov r15d, dword [rbp]
sub rsp, rcx
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x38], rax
mov eax, edx
imul eax, r15d
movsxd rcx, eax
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x180041cea
mov rax, r9
and rax, 0xfffffffffffffff0
call fcn.1800a40c0
mov rdx, qword [rbp + 0x1e0]
sub rsp, rax
movsxd rax, dword [rbp + 8]
mov r9, rdi
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 0x60], rax
mov eax, dword [rdx + 0x20]
lea rsi, [rsp + 0xc0]
mov dword [rsp + 0x38], eax
xor edx, edx
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r8d
mov r8, rbx
mov qword [rbp + 0xc0], rsi
mov dword [rsp + 0x20], r15d
call fcn.18003d000
mov r8, qword [rbp + 0x98]
mov rdx, rdi
mov rcx, qword [rbp + 0x18]
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r15d
mov r15d, dword [rbp + 0x34]
mov r9d, r15d
call fcn.180038490
mov rax, qword [rbp + 0x1e0]
mov r8, qword [rbp + 0x98]
cmp dword [rax + 0x44], 0
je 0x180041e60
mov r9, qword [rbp + 0x60]
cmp r9, 2
jle 0x180041e60
movss xmm2, dword [0x1800c1d34]
mov ecx, 2
movss xmm3, dword [0x1800c1d18]
cmp r9, 6
jl 0x180041e3b
lea rdx, [r9 - 6]
shr rdx, 2
lea rax, [r8 + 0x10]
inc rdx
lea rcx, [rdx*4 + 2]
nop dword [rax + rax]
movss xmm0, dword [r8]
movss xmm1, dword [rax - 8]
lea rax, [rax + 0x10]
mulss xmm0, xmm2
minss xmm1, xmm0
maxss xmm1, xmm3
movss dword [rax - 0x18], xmm1
movss xmm0, dword [r8]
movss xmm1, dword [rax - 0x14]
mulss xmm0, xmm2
minss xmm1, xmm0
maxss xmm1, xmm3
movss dword [rax - 0x14], xmm1
movss xmm0, dword [r8]
movss xmm1, dword [rax - 0x10]
mulss xmm0, xmm2
minss xmm1, xmm0
maxss xmm1, xmm3
movss dword [rax - 0x10], xmm1
movss xmm1, dword [rax - 0xc]
movss xmm0, dword [r8]
mulss xmm0, xmm2
minss xmm1, xmm0
maxss xmm1, xmm3
movss dword [rax - 0xc], xmm1
sub rdx, 1
jne 0x180041dc0
cmp rcx, r9
jge 0x180041e60
movss xmm1, dword [r8 + rcx*4]
movss xmm0, dword [r8]
mulss xmm0, xmm2
minss xmm1, xmm0
maxss xmm1, xmm3
movss dword [r8 + rcx*4], xmm1
inc rcx
cmp rcx, r9
jl 0x180041e3b
mov eax, dword [rbp]
mov r9, r8
mov r8d, dword [rbp + 8]
mov edx, r15d
mov rcx, qword [rbp + 0x18]
mov dword [rsp + 0x28], eax
mov rax, qword [rbp + 0x38]
mov qword [rsp + 0x20], rax
call fcn.180047940
mov eax, dword [rbp + 4]
imul eax, dword [rbp]
movsxd rcx, eax
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x180041ea4
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800a40c0
movsxd r8, dword [rbp + 8]
sub rsp, rax
xor edx, edx
lea rax, [rsp + 0xc0]
mov rcx, rax
mov qword [rbp + 0xb8], rax
lea r8, [r8*4]
call sub.VCRUNTIME140.dll_memset
movsxd rax, dword [rbp + 4]
mov rcx, rsi
mov rdx, qword [rbp + 0x38]
mov qword [rbp + 0xf0], rax
imul eax, dword [rbp]
movsxd r8, eax
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
movss xmm8, dword [0x1800c1dac]
test r13d, r13d
jle 0x180042146
bsr eax, dword [r14 + 0x20]
mov ecx, dword [r14 + 0x18]
sub ecx, eax
add ecx, 2
cmp ecx, r12d
jg 0x1800420ce
mov rax, qword [rbp + 0x1e0]
cmp dword [rax + 0x1c], 5
jl 0x1800420ce
cmp dword [rax + 0x44], 0
jne 0x1800420ce
mov ecx, dword [rbp + 0xc]
test ecx, ecx
jne 0x1800420ce
mov eax, dword [rbp]
mov r9d, ecx
mov r8d, dword [rbp + 4]
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x38]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 8]
mov dword [rsp + 0x20], eax
call fcn.18003ca40
test eax, eax
je 0x1800420ce
mov rax, qword [rbp + 0x1e0]
mov r9, rdi
mov edx, dword [rbp + 0x6c]
mov r8, rbx
mov rcx, qword [rbp + 0x18]
mov dword [rbp + 0x200], 1
mov eax, dword [rax + 0x20]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x2c]
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], eax
mov eax, dword [rbp]
mov dword [rsp + 0x20], eax
mov dword [rbp + 0x54], edx
call fcn.18003d000
mov eax, dword [rbp]
mov r9d, r15d
mov r8, qword [rbp + 0x98]
mov rdx, rdi
mov rcx, qword [rbp + 0x18]
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], eax
call fcn.180038490
mov eax, dword [rbp]
mov edx, r15d
mov r9, qword [rbp + 0x98]
mov r8d, dword [rbp + 8]
mov rcx, qword [rbp + 0x18]
mov dword [rsp + 0x28], eax
mov rax, qword [rbp + 0x38]
mov qword [rsp + 0x20], rax
call fcn.180047940
mov eax, dword [rbp]
test eax, eax
jle 0x1800420c5
movsxd rcx, dword [rbp + 4]
lea r8, [rsi + 8]
mov rbx, qword [rbp + 0x60]
xor r15d, r15d
mov r10, rcx
mov edi, r15d
shl r10, 2
mov r11, rcx
mov r9d, eax
mov rdx, r15
cmp rbx, 4
jl 0x18004207c
movd xmm2, r13d
lea rcx, [rbx - 4]
cvtdq2ps xmm2, xmm2
shr rcx, 2
mov rax, r8
inc rcx
mulss xmm2, xmm8
lea rdx, [rcx*4]
shufps xmm2, xmm2, 0
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rax - 8]
addps xmm0, xmm2
movups xmmword [rax - 8], xmm0
add rax, 0x10
sub rcx, 1
jne 0x180042060
cmp rdx, rbx
jl 0x180042081
jmp 0x1800420b1
test rbx, rbx
jle 0x1800420b1
lea rax, [rdx + rdi]
movd xmm1, r13d
lea rcx, [rsi + rax*4]
mov rax, rbx
cvtdq2ps xmm1, xmm1
sub rax, rdx
mulss xmm1, xmm8
movaps xmm0, xmm1
addss xmm0, dword [rcx]
movss dword [rcx], xmm0
add rcx, 4
sub rax, 1
jne 0x18004209c
add rdi, r11
add r8, r10
sub r9, 1
jne 0x180042023
mov r15d, dword [rbp + 0x34]
movss xmm9, dword [0x1800c1d84]
mov edx, dword [r14 + 0x20]
mov eax, dword [r14 + 0x18]
bsr ecx, edx
sub eax, ecx
add eax, 2
cmp eax, r12d
jg 0x180042157
mov edi, dword [rbp + 0x200]
mov eax, edx
shr eax, 3
sub edx, eax
test edi, edi
je 0x1800420fa
add dword [r14 + 0x24], edx
test edi, edi
cmovne edx, eax
mov dword [r14 + 0x20], edx
cmp edx, 0x800000
ja 0x180042157
nop dword [rax]
mov edx, dword [r14 + 0x24]
mov rcx, r14
shr edx, 0x17
call fcn.180044520
mov ecx, dword [r14 + 0x24]
shl dword [r14 + 0x20], 8
and ecx, 0x7fffff
add dword [r14 + 0x18], 8
shl ecx, 8
cmp dword [r14 + 0x20], 0x800000
mov dword [r14 + 0x24], ecx
jbe 0x180042110
jmp 0x180042157
mov edi, dword [rbp + 0x200]
xor eax, eax
mov dword [rbp + 0x54], eax
mov dword [rbp + 0x200], edi
mov eax, dword [rbp + 0x20]
imul eax, dword [rbp]
movsxd rcx, eax
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x180042178
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800a40c0
mov rdx, qword [rbp + 0x18]
sub rsp, rax
mov ebx, dword [rbp + 0x6c]
mov r12d, ebx
movss xmm2, dword [0x1800c1d10]
mov r14, qword [rbp + 0xa8]
imul r12d, dword [rdx + 0x30]
lea rax, [rsp + 0xc0]
mov r13, qword [rdx + 0x20]
xor ecx, ecx
movsxd r15, r15d
mov r11d, ecx
mov esi, ecx
mov qword [rbp + 0x88], rax
mov qword [rbp + 0xc8], r15
nop word [rax + rax]
mov r9d, ecx
test r15, r15
jle 0x180042293
mov rcx, qword [rbp + 0x98]
lea r8, [r13 + 2]
mov r10, r15
mov r15, qword [rbp + 0x88]
nop dword [rax]
nop word [rax + rax]
movsx edi, word [r8 - 2]
mov eax, r11d
imul eax, dword [rdx + 8]
movaps xmm1, xmm10
imul edi, ebx
add eax, r9d
cdqe
movss xmm0, dword [rcx + rax*4]
movsx eax, word [r8]
addss xmm0, xmm2
imul eax, ebx
divss xmm1, xmm0
cmp edi, eax
jge 0x180042279
movsxd rcx, edi
movsxd rax, esi
add rcx, rax
lea rdx, [r15 + rcx*4]
mov rcx, r14
sub rcx, r15
nop dword [rax]
nop word [rax + rax]
movaps xmm0, xmm1
inc edi
mulss xmm0, dword [rdx + rcx]
lea rdx, [rdx + 4]
movss dword [rdx - 4], xmm0
movsx eax, word [r8]
imul eax, ebx
cmp edi, eax
jl 0x180042250
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rbp + 0x18]
inc r9d
add r8, 2
sub r10, 1
jne 0x180042200
mov r15, qword [rbp + 0xc8]
xor ecx, ecx
mov r9d, dword [rbp]
inc r11d
add esi, r12d
cmp r11d, r9d
jl 0x1800421d0
mov r12d, dword [rbp + 0x48]
mov r8, qword [rbp + 0x1e0]
imul eax, r9d, 0xf
cmp r12d, eax
jl 0x1800422d3
cmp dword [rbp + 0xc], 0
jne 0x1800422d3
cmp dword [r8 + 0x1c], 2
jl 0x1800422d3
cmp dword [r8 + 0x44], 0
mov esi, 1
je 0x1800422d5
mov esi, ecx
movsxd r13, dword [rbp + 4]
movabs rcx, 0xffffffffffffff0
mov rdi, r13
shl rdi, 2
lea rax, [rdi + 0xf]
cmp rax, rdi
ja 0x1800422f6
mov rax, rcx
and rax, 0xfffffffffffffff0
call fcn.1800a40c0
sub rsp, rax
lea rax, [rdi + 0xf]
lea rdx, [rsp + 0xc0]
mov qword [rbp + 0xd8], rdx
cmp rax, rdi
ja 0x18004231d
mov rax, rcx
and rax, 0xfffffffffffffff0
call fcn.1800a40c0
sub rsp, rax
lea rax, [rdi + 0xf]
lea rbx, [rsp + 0xc0]
cmp rax, rdi
ja 0x18004233d
mov rax, rcx
and rax, 0xfffffffffffffff0
call fcn.1800a40c0
sub rsp, rax
lea rcx, [r8 + 0x7c]
lea rax, [rsp + 0xc0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rbp + 0xb8]
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x90], rcx
mov rcx, qword [rbp + 0x38]
mov qword [rsp + 0x88], rax
mov eax, dword [r8 + 0x44]
mov dword [rsp + 0x80], eax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x78], rax
mov eax, dword [rbp + 0x14]
mov dword [rsp + 0x70], r12d
mov dword [rsp + 0x68], eax
mov rax, qword [rbp + 0xe0]
mov qword [rsp + 0x60], rax
mov eax, dword [r8 + 0x38]
mov dword [rsp + 0x58], eax
mov eax, dword [r8 + 0x30]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 0x200]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x40], rax
mov eax, dword [r8 + 0x40]
mov r8d, r13d
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 8]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp + 0xc0]
mov dword [rsp + 0x28], r9d
mov r9d, dword [rbp + 0xc]
mov dword [rsp + 0x20], eax
call fcn.18003ea20
lea rax, [rdi + 0xf]
movaps xmm7, xmm0
cmp rax, rdi
ja 0x180042418
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800a40c0
sub rsp, rax
lea r13, [rsp + 0xc0]
mov qword [rbp + 0xa8], r13
test esi, esi
je 0x180042b13
movsxd rdi, dword [rbp + 0x34]
mov ecx, 0x50
mov r8d, dword [rbp + 0x200]
mov eax, 0x5000
cdq
mov qword [rsp + 0x50], rbx
idiv r12d
movss dword [rsp + 0x40], xmm9
mov r9, r13
add eax, 2
mov edx, edi
cmp eax, ecx
cmovl eax, ecx
mov ecx, dword [rbp + 0x14]
mov dword [rsp + 0x38], ecx
mov rcx, qword [rbp + 0x88]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0x18]
mov dword [rsp + 0x20], eax
call fcn.18003d8e0
mov rdx, qword [rbp + 0x60]
mov r12d, eax
mov rcx, rdi
cmp rdi, rdx
jge 0x1800424b2
nop dword [rax]
mov eax, dword [r13 + r15*4 - 4]
mov dword [r13 + rcx*4], eax
inc rcx
cmp rcx, rdx
jl 0x1800424a0
mov ebx, dword [rbp + 0xc]
xor edi, edi
mov eax, dword [rbp + 4]
mov r9d, dword [rbp]
imul eax, r9d
movsxd rcx, eax
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x1800424dc
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800a40c0
movdqa xmm2, xmmword [0x1800c23e0]
sub rsp, rax
movss xmm3, dword [0x1800c1e50]
mov esi, edi
movss xmm6, dword [0x1800c1d88]
mov r14, qword [rbp + 0x38]
mov r13, qword [rbp + 0x58]
lea r15, [rsp + 0xc0]
mov eax, dword [rbp + 4]
mov qword [rbp + 0xb8], r15
mov r15, qword [rbp + 0xe8]
movsxd r11, ebx
mov ebx, edi
nop dword [rax + rax]
mov r10, r11
cmp r11, rdx
jge 0x180042690
mov rax, rdx
sub rax, r11
cmp rax, 4
jl 0x18004263e
sub rdx, r11
movsxd rax, ebx
inc rax
sub rdx, 4
add rax, r11
shr rdx, 2
mov r9, r13
mov rdi, r13
mov r8, r15
sub r9, r15
sub rdi, r14
sub r8, r14
inc rdx
lea rax, [r14 + rax*4]
lea r10, [r11 + rdx*4]
nop dword [rax]
movss xmm1, dword [rax - 4]
movaps xmm0, xmm1
subss xmm0, dword [rdi + rax - 4]
andps xmm0, xmm2
comiss xmm3, xmm0
jbe 0x1800425aa
movss xmm0, dword [r8 + rax - 4]
mulss xmm0, xmm6
subss xmm1, xmm0
movss dword [rax - 4], xmm1
movss xmm1, dword [rax]
lea rcx, [rax + r8]
movaps xmm0, xmm1
subss xmm0, dword [r9 + rcx]
andps xmm0, xmm2
comiss xmm3, xmm0
jbe 0x1800425d3
movss xmm0, dword [rcx]
mulss xmm0, xmm6
subss xmm1, xmm0
movss dword [rax], xmm1
movss xmm1, dword [rax + 4]
movaps xmm0, xmm1
subss xmm0, dword [rdi + rax + 4]
andps xmm0, xmm2
comiss xmm3, xmm0
jbe 0x1800425fb
movss xmm0, dword [rcx + 4]
mulss xmm0, xmm6
subss xmm1, xmm0
movss dword [rax + 4], xmm1
movss xmm1, dword [rax + 8]
movaps xmm0, xmm1
subss xmm0, dword [rdi + rax + 8]
andps xmm0, xmm2
comiss xmm3, xmm0
jbe 0x180042623
movss xmm0, dword [rcx + 8]
mulss xmm0, xmm6
subss xmm1, xmm0
movss dword [rax + 8], xmm1
add rax, 0x10
sub rdx, 1
jne 0x180042580
mov rdx, qword [rbp + 0x60]
mov r9d, dword [rbp]
cmp r10, rdx
jge 0x18004268d
movsxd rcx, ebx
mov rdi, r13
add rcx, r10
mov r8, r15
sub rdi, r15
sub r8, r14
sub rdx, r10
lea rax, [r14 + rcx*4]
movss xmm1, dword [rax]
lea rcx, [rax + r8]
movaps xmm0, xmm1
subss xmm0, dword [rdi + rcx]
andps xmm0, xmm2
comiss xmm3, xmm0
jbe 0x18004267f
movss xmm0, dword [rcx]
mulss xmm0, xmm6
subss xmm1, xmm0
movss dword [rax], xmm1
add rax, 4
sub rdx, 1
jne 0x180042657
mov rdx, qword [rbp + 0x60]
mov eax, dword [rbp + 4]
inc esi
add ebx, eax
cmp esi, r9d
jl 0x180042530
mov rdi, qword [rbp + 0x1e0]
xor eax, eax
mov ebx, dword [rbp + 0x14]
mov edx, eax
mov r14, qword [rbp + 0x208]
mov r15, qword [rbp + 0xb8]
mov eax, dword [rdi + 0x44]
lea rcx, [rdi + 0x58]
cmp dword [rdi + 0x1c], 4
mov rsi, qword [rbp + 0x18]
mov r8d, dword [rbp + 8]
setge dl
mov dword [rsp + 0x80], eax
mov eax, dword [rdi + 0x3c]
mov dword [rsp + 0x78], eax
mov eax, dword [rdi + 0x10]
mov edi, dword [rbp + 0x80]
mov dword [rsp + 0x70], edx
mov edx, dword [rbp + 0xc]
mov qword [rsp + 0x68], rcx
mov rcx, rsi
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0x58], eax
mov rax, qword [rbp + 0x38]
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], r9d
mov r9d, dword [rbp + 0x34]
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
call fcn.180046c80
mov r9, qword [rbp + 0xa8]
mov r8d, dword [rbp + 0x200]
mov edx, dword [rbp + 8]
mov ecx, dword [rbp + 0xc]
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], ebx
call fcn.18003e050
mov edx, dword [r14 + 0x20]
mov eax, dword [r14 + 0x18]
bsr ecx, edx
sub eax, ecx
add eax, 3
cmp eax, edi
jg 0x1800427c5
mov rax, qword [rbp + 0x1e0]
mov dword [rax + 0x54], 3
mov eax, edx
shr eax, 5
lea ecx, [rax + rax]
sub edx, ecx
mov dword [r14 + 0x20], ecx
add edx, dword [r14 + 0x24]
mov dword [r14 + 0x24], edx
cmp ecx, 0x800000
ja 0x1800427c5
shr edx, 0x17
mov rcx, r14
call fcn.180044520
mov edx, dword [r14 + 0x24]
shl dword [r14 + 0x20], 8
and edx, 0x7fffff
add dword [r14 + 0x18], 8
shl edx, 8
cmp dword [r14 + 0x20], 0x800000
mov dword [r14 + 0x24], edx
jbe 0x180042795
mov rax, qword [rbp + 0x1e0]
mov ecx, 8
mov r12, qword [rbp + 0xd8]
mov dword [rbp + 0x30], ecx
cmp dword [rax + 0x44], 0
je 0x1800427f9
mov eax, 0x55555556
imul dword [rbp + 0x48]
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, ecx
cmovg edx, ecx
mov dword [r12], edx
movsxd rax, dword [rbp + 4]
shl rax, 2
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x180042814
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1800a40c0
mov r9d, dword [rbp]
sub rsp, rcx
mov r8d, ebx
mov rcx, rsi
mov r13d, ebx
lea r15, [rsp + 0xc0]
mov rdx, r15
mov qword [rbp + 0xc0], r15
call fcn.18003c8e0
mov edx, dword [r14 + 0x20]
lea esi, [rdi*8]
mov ebx, dword [r14 + 0x18]
xor r9d, r9d
bsr eax, edx
mov r10d, r9d
mov dword [rbp + 0x34], r9d
mov dword [rbp + 0x6c], esi
lea ecx, [rax - 0xf]
shr edx, cl
lea eax, [rax*8 + 8]
mov ecx, r9d
mov edi, edx
shr edi, 0xc
lea r9, [0x180000000]
sub edi, 8
cmp edx, dword [r9 + rdi*4 + 0xb96b0]
seta cl
shl ebx, 3
sub ebx, ecx
movsxd rcx, dword [rbp + 0xc]
sub ebx, eax
mov qword [rbp + 0x48], rcx
sub ebx, edi
mov r9, rcx
cmp rcx, qword [rbp + 0x60]
jge 0x180042a69
mov r8, r15
lea rdi, [r12 + rcx*4]
sub r8, r12
mov qword [rbp + 0x80], rdi
mov qword [rbp + 0xc8], r8
mov r11d, Ordinal_50
nop dword [rax + rax]
mov rax, qword [rbp + 0xe0]
mov ecx, r13d
movsx edx, word [rax + r9*2 + 2]
movsx eax, word [rax + r9*2]
sub edx, eax
imul edx, dword [rbp]
shl edx, cl
cmp edx, 0x30
mov r13d, edx
cmovl r13d, r11d
lea eax, [rdx*8]
mov edx, dword [rbp + 0x50]
cmp eax, r13d
mov ecx, edx
cmovl r13d, eax
xor eax, eax
mov r12d, eax
mov r11d, eax
lea eax, [rbx + rdx*8]
sub esi, r10d
cmp eax, esi
jge 0x180042a3a
lea r9, [0x180000000]
nop word [rax + rax]
cmp r12d, dword [r8 + rdi]
jge 0x180042a1c
mov r8d, dword [r14 + 0x20]
mov eax, r8d
mov r15d, dword [rdi]
shr eax, cl
sub r8d, eax
cmp r11d, r15d
jge 0x180042955
add dword [r14 + 0x24], r8d
cmp r11d, r15d
cmovl r8d, eax
mov dword [r14 + 0x20], r8d
cmp r8d, 0x800000
ja 0x1800429b5
nop word [rax + rax]
mov edx, dword [r14 + 0x24]
mov rcx, r14
shr edx, 0x17
call fcn.180044520
mov ecx, dword [r14 + 0x24]
mov r8d, dword [r14 + 0x20]
and ecx, 0x7fffff
add dword [r14 + 0x18], 8
shl ecx, 8
shl r8d, 8
mov dword [r14 + 0x24], ecx
mov dword [r14 + 0x20], r8d
cmp r8d, 0x800000
jbe 0x180042970
mov r10d, dword [rbp + 0x34]
lea r9, [0x180000000]
mov ebx, dword [r14 + 0x18]
mov rdi, qword [rbp + 0x80]
bsr eax, r8d
lea ecx, [rax - 0xf]
shr r8d, cl
lea eax, [rax*8 + 8]
xor ecx, ecx
mov edx, r8d
shr edx, 0xc
sub edx, 8
cmp r8d, dword [r9 + rdx*4 + 0xb96b0]
mov r8, qword [rbp + 0xc8]
seta cl
shl ebx, 3
sub ebx, ecx
sub ebx, eax
sub ebx, edx
cmp r11d, r15d
jge 0x180042a1c
add r10d, r13d
lea eax, [rbx + 8]
add r12d, r13d
mov dword [rbp + 0x34], r10d
sub esi, r13d
inc r11d
mov ecx, 1
cmp eax, esi
jl 0x180042930
mov r9, qword [rbp + 0x48]
test r11d, r11d
je 0x180042a3a
mov eax, dword [rbp + 0x50]
dec eax
mov edx, eax
cmp eax, 2
mov eax, 2
cmovl edx, eax
mov dword [rbp + 0x50], edx
mov esi, dword [rbp + 0x6c]
inc r9
mov r13d, dword [rbp + 0x14]
mov r11d, Ordinal_50
mov dword [rdi], r12d
add rdi, 4
mov qword [rbp + 0x48], r9
mov qword [rbp + 0x80], rdi
cmp r9, qword [rbp + 0x60]
jl 0x1800428d0
mov ecx, dword [rbp + 0xc]
mov r10d, dword [rbp]
cmp r10d, 2
jne 0x180042bfb
test r13d, r13d
je 0x180042a9d
mov r9d, dword [rbp + 0x20]
mov r8d, r13d
mov rdx, qword [rbp + 0x88]
mov rcx, qword [rbp + 0x18]
call fcn.18003e780
mov r10d, dword [rbp]
mov dword [rbp + 0xa0], eax
mov r8d, dword [rbp + 0x68]
lea r9, str.wmW_
mov rdi, qword [rbp + 0x1e0]
mov eax, 0x10624dd3
imul r8d
movsxd rcx, dword [rdi + 0xec]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
lea rax, [0x1800b81e4]
xor r15d, r15d
movd xmm1, edx
mov edx, r15d
cvtdq2ps xmm1, xmm1
nop dword [rax]
movss xmm0, dword [rax - 4]
comiss xmm0, xmm1
ja 0x180042b85
movss xmm0, dword [rax]
comiss xmm0, xmm1
ja 0x180042b83
movss xmm0, dword [rax + 4]
comiss xmm0, xmm1
ja 0x180042b7e
add rax, 0xc
add edx, 3
cmp rax, r9
jl 0x180042ae0
jmp 0x180042b85
mov ebx, dword [rbp + 0xc]
test ebx, ebx
je 0x180042b59
cmp r12d, 0xf
jge 0x180042b59
mov rax, qword [rbp + 0x1e0]
cmp dword [rax + 0xbc], 2
je 0x180042b59
movsxd rdi, dword [rbp + 8]
test edi, edi
jle 0x180042b49
mov r8, rdi
xor edx, edx
shl r8, 2
mov rcx, r13
call sub.VCRUNTIME140.dll_memset
mov r12d, dword [rbp + 0x200]
mov rdx, qword [rbp + 0x60]
jmp 0x1800424b5
movsxd rdi, dword [rbp + 8]
test edi, edi
jle 0x180042b70
movsxd rax, dword [rbp + 0x200]
mov rcx, rdi
mov rdi, r13
rep stosd dword [rdi], eax
mov rdx, qword [rbp + 0x60]
xor edi, edi
mov r12d, edi
jmp 0x1800424b7
add edx, 2
jmp 0x180042b85
inc edx
cmp edx, ecx
jle 0x180042bad
lea r9, [0x180000000]
movss xmm0, dword [r9 + rcx*4 + 0xb81e0]
addss xmm0, dword [r9 + rcx*4 + 0xb8180]
comiss xmm0, xmm1
jbe 0x180042bd0
mov edx, ecx
jmp 0x180042bd0
jge 0x180042bd0
lea r9, [0x180000000]
movss xmm0, dword [r9 + rcx*4 + 0xb81dc]
subss xmm0, dword [r9 + rcx*4 + 0xb817c]
comiss xmm1, xmm0
cmova edx, ecx
mov ecx, dword [rbp + 0xc]
mov eax, edx
mov r11d, dword [rbp + 8]
cmp ecx, edx
cmovg eax, ecx
cmp r11d, eax
jge 0x180042bee
mov edx, r11d
mov dword [rdi + 0xec], edx
jmp 0x180042c13
cmp ecx, edx
cmovg edx, ecx
mov dword [rdi + 0xec], edx
jmp 0x180042c13
mov rdi, qword [rbp + 0x1e0]
xor r15d, r15d
mov r8d, dword [rbp + 0x68]
mov r11d, dword [rbp + 8]
mov edx, dword [rdi + 0xec]
mov r12d, dword [rbp + 0x34]
lea eax, [rbx + 0x30]
sub esi, r12d
mov r9d, 5
mov dword [rbp + 0x48], r9d
cmp eax, esi
jg 0x180042d86
test ecx, ecx
jg 0x180042cc7
cmp dword [rdi + 0x44], 0
jne 0x180042cc7
mov dword [rsp + 0x60], r8d
lea rax, [rdi + 0xe8]
mov r8, qword [rbp + 0x38]
lea rcx, [rdi + 0x7c]
movss dword [rsp + 0x58], xmm11
mov r9d, r11d
mov dword [rsp + 0x50], edx
mov rdx, qword [rbp + 0x88]
movss dword [rsp + 0x48], xmm9
mov qword [rsp + 0x40], rax
mov eax, dword [rbp + 0x20]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rbp + 0x18]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r13d
call fcn.18003e2c0
mov r8d, dword [r14 + 0x20]
lea rdx, str.wmW_
movsxd r9, eax
lea rdi, [r14 + 0x20]
mov ecx, r8d
mov dword [rbp + 0x48], r9d
shr ecx, 7
add rdx, r9
test eax, eax
jg 0x180042ce7
movzx eax, byte [rdx]
imul eax, ecx
mov dword [rbp + 0x48], r9d
sub r8d, eax
jmp 0x180042d04
mov r8d, dword [r14 + 0x20]
lea rdx, [0x1800b823d]
mov ecx, r8d
mov dword [rdi + 0xe8], r15d
shr ecx, 7
lea rdi, [r14 + 0x20]
mov dword [rbp + 0x48], r9d
movzx eax, byte [rdx - 1]
imul eax, ecx
sub r8d, eax
add dword [r14 + 0x24], r8d
movzx eax, byte [rdx]
movzx r8d, byte [rdx - 1]
sub r8d, eax
imul r8d, ecx
mov dword [rdi], r8d
cmp r8d, 0x800000
ja 0x180042d4a
mov edx, dword [r14 + 0x24]
mov rcx, r14
shr edx, 0x17
call fcn.180044520
mov ecx, dword [r14 + 0x24]
mov r8d, dword [r14 + 0x20]
and ecx, 0x7fffff
add dword [r14 + 0x18], 8
shl ecx, 8
shl r8d, 8
mov dword [r14 + 0x24], ecx
mov dword [r14 + 0x20], r8d
cmp r8d, 0x800000
jbe 0x180042d10
mov ebx, dword [r14 + 0x18]
lea r9, [0x180000000]
bsr eax, r8d
lea ecx, [rax - 0xf]
shr r8d, cl
lea eax, [rax*8 + 8]
mov edx, r8d
mov ecx, r15d
shr edx, 0xc
sub edx, 8
cmp r8d, dword [r9 + rdx*4 + 0xb96b0]
seta cl
shl ebx, 3
sub ebx, ecx
sub ebx, eax
sub ebx, edx
mov edx, dword [rbp + 0x90]
test edx, edx
jle 0x180043059
mov r10, qword [rbp + 0x18]
mov r11d, 3
mov ecx, r11d
mov eax, 0x4fb
sub ecx, r13d
mov edi, edx
sar eax, cl
mov ecx, dword [rbp + 0x10]
mov r15d, dword [r10 + 0x28]
sub r15d, r13d
cmp ecx, eax
cmovge ecx, eax
cmp dword [rbp + 0xc], 0
mov eax, dword [rbp]
mov esi, ecx
jne 0x180042dd9
lea eax, [rax + rax*4]
shl eax, 6
sub edi, eax
sub edi, 0xa0
xor edx, edx
jmp 0x180042dec
lea ecx, [rax + rax*8]
mov edx, 0
shl ecx, 3
sub edi, ecx
add edi, 0xffffffe0
cmovs edi, edx
mov r9, qword [rbp + 0x1e0]
mov r8d, dword [r9 + 0x38]
test r8d, r8d
je 0x180042e0a
mov eax, dword [r9 + 0xdc]
mov ecx, r15d
sar eax, cl
add edi, eax
cmp dword [rbp + 0xc], 0
jne 0x180042ec6
cmp qword [r9 + 0xf0], 0
mov eax, edx
movss xmm0, dword [r9 + 0xe8]
lea rdx, [r9 + 0x7c]
movss dword [rsp + 0x88], xmm11
setne al
movss dword [rsp + 0x80], xmm11
mov rcx, r10
mov dword [rsp + 0x78], eax
mov eax, dword [r9 + 0x44]
mov dword [rsp + 0x70], eax
mov eax, dword [rbp + 0xb4]
movss dword [rsp + 0x68], xmm7
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0xd0]
movss dword [rsp + 0x58], xmm9
mov dword [rsp + 0x50], eax
mov eax, dword [r9 + 0xec]
movss dword [rsp + 0x48], xmm0
mov dword [rsp + 0x40], r8d
mov r8d, edi
mov dword [rsp + 0x38], eax
mov eax, dword [rbp]
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0x60]
mov r9d, r13d
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x68]
mov dword [rsp + 0x20], eax
call fcn.180040f20
mov r9, qword [rbp + 0x1e0]
lea ecx, [r12 + 0x3f]
add ecx, ebx
sar ecx, 6
add ecx, 2
lea r8d, [rbx + rax]
jmp 0x180042f4c
cmp dword [r9 + 0xc0], 0x64
jge 0x180042ee2
sub r11d, r13d
mov edx, 0x60
movzx ecx, r11b
sar edx, cl
add edx, edi
jmp 0x180042ef6
mov edx, edi
jle 0x180042ef6
sub r11d, r13d
mov eax, 0x90
movzx ecx, r11b
sar eax, cl
sub edx, eax
movaps xmm0, xmm9
lea ecx, [r12 + 0x3f]
subss xmm0, xmm6
mulss xmm0, dword [0x1800c1ec8]
cvttss2si eax, xmm0
add edx, eax
comiss xmm9, dword [0x1800c1dc4]
jbe 0x180042f2d
mov r8d, 0x190
cmp edx, r8d
cmovg r8d, edx
add r8d, ebx
jmp 0x180042f31
lea r8d, [rdx + rbx]
mov eax, dword [rbp + 0x70]
add ecx, ebx
add eax, 0x167
sar ecx, 6
add eax, r12d
add ecx, 2
sar eax, 6
cmp ecx, eax
cmovle ecx, eax
mov edx, dword [rbp + 0x90]
lea ebx, [r8 + 0x20]
mov r10d, dword [rbp + 0x28]
sar ebx, 6
cmp ecx, ebx
cmovg ebx, ecx
cmp esi, ebx
cmovl ebx, esi
sub r8d, edx
mov ecx, ebx
shl ecx, 6
test r10d, r10d
je 0x180042f7e
mov ebx, 2
mov ecx, 0x80
mov eax, dword [r9 + 0xe0]
xor r11d, r11d
test r10d, r10d
mov edi, r11d
cmove edi, r8d
cmp eax, 0x3ca
jge 0x180042fb3
inc eax
mov dword [r9 + 0xe0], eax
add eax, 0x14
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm10, xmm0
jmp 0x180042fbc
movss xmm10, dword [0x1800c1d40]
cmp dword [r9 + 0x38], r11d
je 0x180043030
mov r8d, dword [r9 + 0xd4]
sub r8d, edx
mov edx, dword [r9 + 0xd8]
add r8d, ecx
mov ecx, r15d
shl edi, cl
sub edi, edx
mov dword [r9 + 0xd4], r8d
sub edi, dword [r9 + 0xdc]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm10
cvttss2si ecx, xmm0
add ecx, edx
mov dword [r9 + 0xd8], ecx
neg ecx
mov dword [r9 + 0xdc], ecx
test r8d, r8d
jns 0x180043030
mov eax, r8d
mov dword [r9 + 0xd4], r11d
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
neg eax
test r10d, r10d
cmovne eax, r11d
add ebx, eax
mov r8d, dword [r14 + 0xc]
cmp esi, ebx
mov edx, dword [r14 + 8]
cmovl ebx, esi
sub rdx, r8
add rdx, qword [r14]
mov ecx, ebx
sub rcx, r8
mov dword [rbp + 0x10], ebx
add rcx, qword [r14]
call sub.VCRUNTIME140.dll_memmove
mov dword [r14 + 8], ebx
jmp 0x18004305c
mov ebx, dword [rbp + 0x10]
movsxd rcx, dword [rbp + 4]
movabs rdx, 0xffffffffffffff0
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x18004307a
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.1800a40c0
sub rsp, rax
lea rax, [rcx + 0xf]
lea r12, [rsp + 0xc0]
cmp rax, rcx
ja 0x18004309a
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.1800a40c0
sub rsp, rax
lea rax, [rcx + 0xf]
lea r15, [rsp + 0xc0]
cmp rax, rcx
ja 0x1800430ba
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.1800a40c0
mov r8d, dword [r14 + 0x20]
lea r9, [0x180000000]
sub rsp, rax
xor r11d, r11d
bsr edx, r8d
lea r13, [rsp + 0xc0]
inc edx
lea ecx, [rdx - 0x10]
shr r8d, cl
lea eax, [rdx + rbx*8]
mov edi, r8d
mov ecx, r11d
shr edi, 0xc
sub edi, 8
cmp r8d, dword [r9 + rdi*4 + 0xb96b0]
seta cl
lea edx, [rcx + rax*8]
mov eax, dword [r14 + 0x18]
shl eax, 3
sub edx, eax
dec edx
add edx, edi
mov edi, dword [rbp + 0x14]
cmp dword [rbp + 0x200], r11d
je 0x180043135
cmp edi, 2
jl 0x180043135
lea eax, [rdi*8 + 0x10]
cmp edx, eax
jl 0x180043135
mov eax, 8
jmp 0x18004313b
mov eax, r11d
mov dword [rbp + 0x30], eax
mov r8, qword [rbp + 0x1e0]
sub edx, eax
mov r10d, dword [rbp + 8]
lea ecx, [r10 - 1]
cmp dword [r8 + 0x7c], r11d
je 0x1800431ad
mov ecx, dword [rbp]
mov r9d, dword [rbp + 0x68]
imul eax, ecx, 0x7d00
cmp r9d, eax
jge 0x18004316b
mov ecx, reloc.WS2_32.dll_listen
jmp 0x1800431a1
imul eax, ecx, 0xbb80
cmp r9d, eax
jge 0x18004317d
mov ecx, reloc.WS2_32.dll_recv
jmp 0x1800431a1
imul eax, ecx, 0xea60
cmp r9d, eax
jge 0x18004318f
mov ecx, reloc.WS2_32.dll_select
jmp 0x1800431a1
imul eax, ecx, 0x13880
mov ecx, r11d
cmp r9d, eax
setge cl
add ecx, 0x13
mov eax, dword [r8 + 0x9c]
cmp eax, ecx
cmovg ecx, eax
cmp dword [r8 + 0x44], r11d
lea rbx, [r8 + 0x60]
mov r9, qword [rbp + 0xd8]
lea rsi, [r8 + 0xec]
mov eax, 1
mov r8d, r10d
cmovne ecx, eax
mov eax, dword [rbx]
mov dword [rsp + 0x90], ecx
mov rcx, qword [rbp + 0x18]
mov dword [rsp + 0x88], eax
mov eax, dword [rbp]
mov qword [rsp + 0x78], r14
mov dword [rsp + 0x70], edi
mov dword [rsp + 0x68], eax
lea rax, [rbp + 0x38]
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0xa0]
mov dword [rsp + 0x40], edx
mov edx, dword [rbp + 0xc]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x48]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], eax
mov rax, qword [rbp + 0xc0]
mov qword [rsp + 0x20], rax
call fcn.1800485d0
mov edx, dword [rbx]
mov edi, eax
test edx, edx
je 0x180043269
lea eax, [rdx - 1]
mov ecx, edi
cmp eax, edi
cmovg ecx, eax
inc edx
cmp edx, ecx
jl 0x180043259
cmp eax, edi
mov edx, edi
cmovg edx, eax
mov rsi, qword [rbp + 0x1e0]
add rsi, 0xec
jmp 0x18004326b
mov edx, edi
mov rax, qword [rbp + 0xb8]
mov r9, qword [rbp + 0x58]
mov r8d, dword [rbp + 8]
mov rcx, qword [rbp + 0x18]
mov dword [rbx], edx
mov ebx, dword [rbp]
mov edx, dword [rbp + 0xc]
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
call fcn.180047390
mov eax, dword [rbp + 4]
imul eax, ebx
movsxd rcx, eax
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x1800432ba
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800a40c0
sub rsp, rax
lea r9, [rsp + 0xc0]
cmp ebx, 2
jne 0x1800432e4
movsxd rax, dword [rbp + 0x20]
mov rcx, qword [rbp + 0x88]
lea r8, [rcx + rax*4]
jmp 0x1800432e9
xor eax, eax
mov r8d, eax
mov r10, qword [rbp + 0x1e0]
mov edx, dword [rbp + 0x10]
mov ebx, dword [rbp + 0x30]
shl edx, 6
mov eax, dword [r10 + 0x48]
lea rcx, [r10 + 0x50]
mov dword [rsp + 0xb0], eax
sub edx, ebx
mov eax, dword [r10 + 0x4c]
mov dword [rsp + 0xa8], eax
mov eax, dword [r10 + 0x1c]
mov dword [rsp + 0xa0], eax
mov eax, dword [rbp + 0x14]
mov qword [rsp + 0x98], rcx
mov ecx, 1
mov dword [rsp + 0x90], edi
mov dword [rsp + 0x88], eax
mov eax, dword [rbp + 0x38]
mov qword [rsp + 0x80], r14
mov dword [rsp + 0x78], eax
mov rax, qword [rbp + 0xa8]
mov dword [rsp + 0x70], edx
mov qword [rsp + 0x68], rax
mov eax, dword [rsi]
mov rsi, qword [rbp + 0x18]
mov dword [rsp + 0x60], eax
mov rdx, rsi
mov eax, dword [rbp + 0xa0]
mov dword [rsp + 0x58], eax
mov eax, dword [r10 + 0x54]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 0x54]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x98]
mov qword [rsp + 0x40], r15
movsxd r15, dword [rbp + 0xc]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x88]
mov qword [rsp + 0x30], r9
mov r9d, dword [rbp + 8]
mov qword [rsp + 0x28], r8
mov r8d, r15d
mov qword [rsp + 0x20], rax
call fcn.18003b860
test ebx, ebx
je 0x180043446
mov rax, qword [rbp + 0x1e0]
xor ebx, ebx
mov edi, dword [r14 + 0x14]
mov r10d, ebx
mov r8d, dword [r14 + 0x10]
cmp dword [rax + 0x78], 2
lea eax, [rdi + 1]
setl r10b
cmp eax, 0x20
jbe 0x18004342d
nop word [rax + rax]
mov ecx, dword [r14 + 0x1c]
mov r9d, dword [r14 + 0xc]
add ecx, r9d
mov edx, dword [r14 + 8]
cmp ecx, edx
jb 0x18004340a
mov eax, 0xffffffff
jmp 0x18004341d
lea eax, [r9 + 1]
mov dword [r14 + 0xc], eax
sub edx, eax
mov rax, qword [r14]
mov byte [rdx + rax], r8b
mov eax, ebx
or dword [r14 + 0x30], eax
sub edi, 8
shr r8d, 8
cmp edi, 8
jge 0x1800433f0
mov ecx, edi
lea eax, [rdi + 1]
shl r10d, cl
or r10d, r8d
mov dword [r14 + 0x14], eax
inc dword [r14 + 0x18]
mov dword [r14 + 0x10], r10d
jmp 0x180043448
xor ebx, ebx
bsr edx, dword [r14 + 0x20]
mov eax, dword [rbp + 0x10]
mov rcx, rsi
mov r9, qword [rbp + 0x58]
inc edx
lea eax, [rax*8]
sub eax, dword [r14 + 0x18]
add edx, eax
mov eax, dword [rbp]
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], edx
mov edx, r15d
mov qword [rsp + 0x30], r13
mov r13d, dword [rbp + 8]
mov r8d, r13d
mov qword [rsp + 0x28], r12
mov r12, qword [rbp + 0xb8]
mov qword [rsp + 0x20], r12
call fcn.180047590
mov eax, dword [rbp + 4]
xor edx, edx
imul eax, dword [rbp + 0x2c]
mov r14, qword [rbp + 0xe8]
mov rcx, r14
movsxd r8, eax
lea r8, [r8*4]
call sub.VCRUNTIME140.dll_memset
movdqa xmm4, xmmword [0x1800c2430]
mov r11d, ebx
movdqa xmm5, xmmword [0x1800c21a0]
mov r10d, ebx
movss xmm3, dword [0x1800c1f04]
mov ebx, r13d
mov r8, qword [rbp + 0x60]
sub ebx, r15d
mov rax, r15
mov rsi, r15
lea r15d, [rbx - 1]
jmp 0x180043504
mov r13d, dword [rbp + 8]
mov edi, eax
cmp eax, r13d
jge 0x1800435e8
cmp ebx, 0x10
jb 0x1800435e8
add eax, r10d
movsxd rdx, eax
add eax, r15d
movsxd rcx, eax
lea rax, [r14 + rdx*4]
lea r8, [r14 + rcx*4]
lea rcx, [r12 + rcx*4]
lea r9, [r12 + rdx*4]
cmp rax, rcx
ja 0x180043542
cmp r8, r9
jae 0x1800435e4
mov ecx, ebx
mov rdx, rsi
and ecx, 0x8000000f
jge 0x180043556
dec ecx
or ecx, 0xfffffff0
inc ecx
mov eax, r13d
sub eax, ecx
movsxd rcx, r10d
add rcx, 4
movsxd r8, eax
add rcx, rsi
lea rax, [r14 + rcx*4]
mov rcx, r12
sub rcx, r14
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rax + rcx - 0x10]
lea rax, [rax + 0x40]
add edi, 0x10
movaps xmm1, xmm5
movaps xmm2, xmm4
minps xmm1, xmm0
add rdx, 0x10
movups xmm0, xmmword [rax + rcx - 0x40]
maxps xmm2, xmm1
movaps xmm1, xmm5
movups xmmword [rax - 0x50], xmm2
movaps xmm2, xmm4
minps xmm1, xmm0
movups xmm0, xmmword [rax + rcx - 0x30]
maxps xmm2, xmm1
movaps xmm1, xmm5
movups xmmword [rax - 0x40], xmm2
movaps xmm2, xmm4
minps xmm1, xmm0
movups xmm0, xmmword [rax + rcx - 0x20]
maxps xmm2, xmm1
movaps xmm1, xmm5
movups xmmword [rax - 0x30], xmm2
movaps xmm2, xmm4
minps xmm1, xmm0
maxps xmm2, xmm1
movups xmmword [rax - 0x20], xmm2
cmp rdx, r8
jl 0x180043580
mov r8, qword [rbp + 0x60]
movsxd rdi, edi
cmp rdi, r8
jge 0x1800436e4
mov rax, r8
sub rax, rdi
cmp rax, 4
jl 0x180043699
movsxd rcx, r10d
mov rdx, r8
inc rcx
sub rdx, rdi
add rcx, rdi
sub rdx, 4
shr rdx, 2
lea rax, [r14 + rcx*4]
mov rcx, r12
sub rcx, r14
inc rdx
lea rdi, [rdi + rdx*4]
nop dword [rax]
movaps xmm0, xmm8
minss xmm0, dword [rax + rcx - 4]
comiss xmm3, xmm0
jbe 0x180043642
movaps xmm0, xmm3
movaps xmm1, xmm8
movss dword [rax - 4], xmm0
minss xmm1, dword [rax + rcx]
comiss xmm3, xmm1
jbe 0x180043658
movaps xmm1, xmm3
movaps xmm0, xmm8
movss dword [rax], xmm1
minss xmm0, dword [rax + rcx + 4]
comiss xmm3, xmm0
jbe 0x18004366e
movaps xmm0, xmm3
movss dword [rax + 4], xmm0
movaps xmm0, xmm8
minss xmm0, dword [rax + rcx + 8]
comiss xmm3, xmm0
jbe 0x180043685
movaps xmm0, xmm3
movss dword [rax + 8], xmm0
add rax, 0x10
sub rdx, 1
jne 0x180043630
cmp rdi, r8
jge 0x1800436e4
mov r13d, dword [rbp + 0x200]
mov rdx, r12
movsxd rcx, r10d
sub rdx, r14
add rcx, rdi
lea rax, [r14 + rcx*4]
mov rcx, r8
sub rcx, rdi
mov edi, dword [rbp + 0x28]
movaps xmm0, xmm8
minss xmm0, dword [rax + rdx]
comiss xmm3, xmm0
jbe 0x1800436ca
movaps xmm0, xmm3
movss dword [rax], xmm0
add rax, 4
sub rcx, 1
jne 0x1800436b9
mov dword [rbp + 0x200], r13d
mov dword [rbp + 0x28], edi
jmp 0x1800436ee
mov edi, dword [rbp + 0x28]
mov r13d, dword [rbp + 0x200]
add r10d, dword [rbp + 4]
inc r11d
mov ecx, dword [rbp]
mov eax, dword [rbp + 0xc]
cmp r11d, ecx
jl 0x180043500
mov esi, dword [rbp + 4]
mov rbx, qword [rbp + 0x58]
test edi, edi
je 0x18004372a
mov eax, esi
imul eax, ecx
test eax, eax
jle 0x18004372a
movsxd rcx, eax
mov rdi, rbx
mov rax, 0xffffffffc1e00000
rep stosd dword [rdi], eax
mov ecx, dword [rbp]
mov rax, qword [rbp + 0x1e0]
mov edx, dword [rbp + 0x24]
mov r12d, dword [rbp + 0x2c]
mov dword [rax + 0x6c], edx
mov edx, dword [rbp + 0xa4]
mov dword [rax + 0x74], edx
movss dword [rax + 0x70], xmm12
cmp r12d, 2
jne 0x18004376b
cmp ecx, 1
jne 0x18004376b
movsxd rax, esi
mov rdx, rbx
movsxd r8, esi
shl r8, 2
lea rcx, [rbx + rax*4]
call sub.VCRUNTIME140.dll_memcpy
mov edx, esi
imul edx, r12d
test r13d, r13d
jne 0x1800437b0
mov rcx, qword [rbp + 0x78]
movsxd r8, edx
mov rdx, qword [rbp + 0x40]
lea r8, [r8*4]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp + 0x40]
mov eax, esi
imul eax, r12d
mov rdx, rbx
movsxd r8, eax
lea r8, [r8*4]
call sub.VCRUNTIME140.dll_memcpy
jmp 0x180043913
mov r10, qword [rbp + 0x40]
xor r11d, r11d
mov r8d, r11d
test edx, edx
jle 0x180043861
cmp edx, 0x10
jb 0x180043861
lea eax, [rdx - 1]
movsxd rcx, eax
lea rax, [rbx + rcx*4]
lea rdi, [r10 + rcx*4]
cmp r10, rax
ja 0x1800437e3
cmp rdi, rbx
jae 0x180043861
mov ecx, edx
and ecx, 0x8000000f
jge 0x1800437f4
dec ecx
or ecx, 0xfffffff0
inc ecx
mov eax, edx
mov rdi, r11
sub eax, ecx
mov rcx, rbx
movsxd r9, eax
sub rcx, r10
lea rax, [r10 + 0x10]
nop dword [rax + rax]
movups xmm1, xmmword [rax - 0x10]
add r8d, 0x10
add rdi, 0x10
movups xmm0, xmmword [rcx + rax - 0x10]
lea rax, [rax + 0x40]
minps xmm1, xmm0
movups xmm0, xmmword [rcx + rax - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm1, xmmword [rax - 0x40]
minps xmm1, xmm0
movups xmm0, xmmword [rcx + rax - 0x30]
movups xmmword [rax - 0x40], xmm1
movups xmm1, xmmword [rax - 0x30]
minps xmm1, xmm0
movups xmm0, xmmword [rcx + rax - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rax - 0x20]
minps xmm1, xmm0
movups xmmword [rax - 0x20], xmm1
cmp rdi, r9
jl 0x180043810
movsxd r8, r8d
movsxd rdi, edx
cmp r8, rdi
jge 0x180043913
mov rax, rdi
sub rax, r8
cmp rax, 4
jl 0x1800438ee
lea rax, [r8 + 1]
mov rdx, rdi
sub rdx, r8
lea rax, [r10 + rax*4]
sub rdx, 4
mov rcx, rbx
shr rdx, 2
sub rcx, r10
inc rdx
lea r8, [r8 + rdx*4]
nop
movss xmm0, dword [rax - 4]
movss xmm1, dword [rax]
minss xmm0, dword [rcx + rax - 4]
lea rax, [rax + 0x10]
movss dword [rax - 0x14], xmm0
movss xmm0, dword [rax - 0xc]
minss xmm1, dword [rcx + rax - 0x10]
movss dword [rax - 0x10], xmm1
movss xmm1, dword [rax - 8]
minss xmm0, dword [rcx + rax - 0xc]
movss dword [rax - 0xc], xmm0
minss xmm1, dword [rcx + rax - 8]
movss dword [rax - 8], xmm1
sub rdx, 1
jne 0x1800438a0
cmp r8, rdi
jge 0x180043913
mov rcx, rbx
lea rax, [r10 + r8*4]
sub rcx, r10
sub rdi, r8
movss xmm0, dword [rax]
minss xmm0, dword [rax + rcx]
lea rax, [rax + 4]
movss dword [rax - 4], xmm0
sub rdi, 1
jne 0x1800438fb
movsxd rcx, dword [rbp + 0xc]
xor r8d, r8d
mov edi, dword [rbp + 8]
mov eax, ecx
mov r9d, dword [rbp + 4]
mov edx, edi
sub eax, r9d
mov qword [rbp + 0xc0], rcx
mov r11d, r9d
mov dword [rbp + 0x38], eax
sub r11d, edi
mov dword [rbp + 0x24], edx
mov r13d, r8d
mov dword [rbp + 0x70], r11d
mov r15, rcx
mov r12d, r8d
mov r14d, edi
lea r10d, [r11 - 1]
mov dword [rbp + 0xa4], r10d
nop word [rax + rax]
mov esi, r8d
test ecx, ecx
jle 0x180043a5e
cmp ecx, 4
jb 0x180043a5e
mov rdi, qword [rbp + 0x40]
add eax, r10d
add eax, edx
movsxd rcx, r12d
movsxd rdx, eax
mov rax, qword [rbp + 0x78]
lea r9, [rdi + rcx*4]
lea rdi, [rdi + rdx*4]
lea r10, [rax + rdx*4]
lea r8, [rax + rcx*4]
cmp r9, r10
ja 0x1800439a5
cmp rdi, r8
jae 0x180043a56
lea rax, [rbx + rcx*4]
lea rcx, [rbx + rdx*4]
cmp r9, rcx
ja 0x1800439bb
cmp rdi, rax
jae 0x180043a56
cmp r8, rcx
ja 0x1800439c9
cmp r10, rax
jae 0x180043a56
mov ecx, dword [rbp + 0xc]
mov eax, ecx
and eax, 0x80000003
jge 0x1800439dc
dec eax
or eax, 0xfffffffc
inc eax
sub ecx, eax
nop
add esi, 4
cmp esi, ecx
jl 0x1800439e0
lea eax, [rcx + 3]
mov rcx, qword [rbp + 0x58]
cdq
and edx, 3
add eax, edx
xor edx, edx
sar eax, 2
movsxd rbx, eax
movsxd rax, r12d
shl rbx, 4
mov r8, rbx
and r8, 0xfffffffffffffffc
lea rcx, [rcx + rax*4]
call sub.VCRUNTIME140.dll_memset
mov rdi, qword [rbp + 0x78]
mov rcx, rbx
shr rcx, 2
movsxd rax, r12d
shr rbx, 2
lea rdi, [rdi + rax*4]
mov rax, 0xffffffffc1e00000
rep stosd dword [rdi], eax
mov rcx, qword [rbp + 0x40]
movsxd rax, r12d
lea rdi, [rcx + rax*4]
mov rax, 0xffffffffc1e00000
mov rcx, rbx
rep stosd dword [rdi], eax
mov r11d, dword [rbp + 0x70]
mov r10d, dword [rbp + 0xa4]
jmp 0x180043a5a
lea r10d, [r11 - 1]
mov r9d, dword [rbp + 4]
mov rbx, qword [rbp + 0x58]
movsxd r8, esi
mov rsi, qword [rbp + 0x78]
cmp r8, r15
jge 0x180043aab
mov rdi, qword [rbp + 0x40]
mov rdx, rbx
movsxd rcx, r12d
sub rdx, rsi
add rcx, r8
sub rdi, rsi
lea rax, [rsi + rcx*4]
mov rcx, r15
sub rcx, r8
xor r8d, r8d
nop
mov dword [rax + rdx], r8d
mov dword [rax], 0xc1e00000
mov dword [rdi + rax], 0xc1e00000
lea rax, [rax + 4]
sub rcx, 1
jne 0x180043a90
mov edx, dword [rbp + 8]
mov r15d, edx
cmp edx, r9d
jge 0x180043b99
cmp r11d, 4
jb 0x180043b99
mov rdi, qword [rbp + 0x40]
lea eax, [r10 + r12]
add eax, edx
movsxd rcx, r14d
movsxd rdx, eax
lea r9, [rdi + rcx*4]
lea r10, [rsi + rdx*4]
lea rdi, [rdi + rdx*4]
lea r8, [rsi + rcx*4]
cmp r9, r10
ja 0x180043af2
cmp rdi, r8
jae 0x180043b99
lea rax, [rbx + rcx*4]
lea rcx, [rbx + rdx*4]
cmp r9, rcx
ja 0x180043b08
cmp rdi, rax
jae 0x180043b99
cmp r8, rcx
ja 0x180043b16
cmp r10, rax
jae 0x180043b99
mov ecx, r11d
and ecx, 0x80000003
jge 0x180043b28
dec ecx
or ecx, 0xfffffffc
inc ecx
mov eax, dword [rbp + 4]
sub eax, ecx
nop dword [rax]
add r15d, 4
cmp r15d, eax
jl 0x180043b30
mov ecx, dword [rbp + 8]
sub eax, ecx
add eax, 3
cdq
and edx, 3
add eax, edx
xor edx, edx
sar eax, 2
movsxd rsi, eax
lea eax, [r12 + rcx]
movsxd rbx, eax
mov rax, qword [rbp + 0x58]
shl rsi, 4
mov r8, rsi
and r8, 0xfffffffffffffffc
lea rcx, [rax + rbx*4]
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rbp + 0x78]
mov rcx, rsi
mov r10, qword [rbp + 0x40]
mov rax, 0xffffffffc1e00000
shr rcx, 2
shr rsi, 2
lea rdi, [r9 + rbx*4]
rep stosd dword [rdi], eax
lea rdi, [r10 + rbx*4]
mov rcx, rsi
rep stosd dword [rdi], eax
jmp 0x180043ba1
mov r9, qword [rbp + 0x78]
mov r10, qword [rbp + 0x40]
mov r11, qword [rbp + 0xf0]
mov rbx, qword [rbp + 0x58]
movsxd r8, r15d
cmp r8, r11
jge 0x180043bf0
movsxd rcx, r12d
mov rdx, rbx
add rcx, r8
mov rdi, r10
sub rdx, r9
sub rdi, r9
lea rax, [r9 + rcx*4]
mov rcx, r11
sub rcx, r8
xor r8d, r8d
mov dword [rax + rdx], r8d
mov dword [rax], 0xc1e00000
mov dword [rdi + rax], 0xc1e00000
lea rax, [rax + 4]
sub rcx, 1
jne 0x180043bd3
jmp 0x180043bf3
xor r8d, r8d
mov r9d, dword [rbp + 4]
inc r13d
mov edx, dword [rbp + 0x24]
add r12d, r9d
mov r11d, dword [rbp + 0x70]
add edx, r9d
mov r15, qword [rbp + 0xc0]
add r14d, r9d
mov eax, dword [rbp + 0x38]
mov ecx, dword [rbp + 0xc]
lea r10d, [r11 - 1]
mov dword [rbp + 0x24], edx
cmp r13d, dword [rbp + 0x2c]
jl 0x180043960
cmp dword [rbp + 0x200], 0
mov r14, qword [rbp + 0x208]
jne 0x180043c4e
cmp dword [rbp + 0xb0], 0
jne 0x180043c4e
mov rax, qword [rbp + 0x1e0]
mov dword [rax + 0x78], r8d
jmp 0x180043c58
mov rax, qword [rbp + 0x1e0]
inc dword [rax + 0x78]
mov ecx, dword [r14 + 0x20]
mov dword [rax + 0x50], ecx
mov rcx, r14
call fcn.180044790
cmp dword [r14 + 0x30], 0
mov ecx, 0xfffffffd
mov eax, dword [rbp + 0x10]
cmovne eax, ecx
jmp 0x180043c7e
mov eax, 0xffffffff
mov rbx, qword [rbp + 0x1f0]
movaps xmm6, xmmword [rbp + 0x190]
movaps xmm7, xmmword [rbp + 0x180]
movaps xmm8, xmmword [rbp + 0x170]
movaps xmm9, xmmword [rbp + 0x160]
movaps xmm10, xmmword [rbp + 0x150]
movaps xmm11, xmmword [rbp + 0x140]
movaps xmm12, xmmword [rbp + 0x130]
lea rsp, [rbp + 0x1a0]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret