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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1a8]
sub rsp, 0x270
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x140123080]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov qword [rbp - 0x68], r8
mov rdi, rcx
mov qword [rbp + 8], rcx
mov dword [rbp - 0x40], reloc.WS2_32.dll_sendto
xor r15d, r15d
mov r14, qword [0x140124080]
mov qword [rbp - 0x28], r14
mov rax, qword [r14 + 0x1b90]
lea r12d, [r15 + 1]
mov byte [rax + 0xc1], r12b
mov r13, qword [r14 + 0x1b90]
mov qword [rbp], r13
cmp byte [r13 + 0xc4], r15b
jne 0x140030eec
mov ecx, dword [rbp + 0x1d8]
mov dword [rsp + 0x64], ecx
mov ebx, ecx
shr ebx, 0x14
and bl, r12b
mov dword [rsp + 0x58], ebx
mov eax, ecx
shr eax, 0xe
and al, r12b
mov dword [rsp + 0x60], eax
mov eax, ecx
shr eax, 0xf
and al, r12b
mov dword [rbp - 0x78], eax
mov eax, ecx
shr eax, 0x10
not al
and al, r12b
mov dword [rsp + 0x78], eax
mov eax, ecx
shr eax, 0x12
and al, r12b
mov dword [rbp - 0x70], eax
test bl, bl
je 0x140030d8c
call fcn.14000edcc
mov rdx, rdi
mov rcx, r13
call fcn.140004a1c
mov esi, eax
mov dword [rbp - 0x60], eax
movss xmm0, dword [0x1401167e0]
movss dword [rbp - 0x38], xmm0
movss dword [rsp + 0x20], xmm0
mov r9b, r12b
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp + 0xa0]
call fcn.140008894
test bl, bl
je 0x140030ddb
movss xmm0, dword [r14 + 0x1a30]
mulss xmm0, dword [0x140116750]
jmp 0x140030de3
movss xmm0, dword [rbp + 0xa4]
movss xmm6, dword [r14 + 0x167c]
movaps xmm3, xmm6
addss xmm3, xmm6
addss xmm3, xmm0
call fcn.14000ec2c
movaps xmm2, xmm0
mov rdx, qword [rbp + 0x1d0]
mov rdx, qword [rdx]
lea rcx, [rbp - 0x80]
call fcn.14000ec9c
xorps xmm15, xmm15
movss xmm10, dword [rbp + 0xa0]
movss dword [rbp - 0x44], xmm10
comiss xmm10, xmm15
jbe 0x140030e3a
movaps xmm4, xmm10
addss xmm4, dword [r14 + 0x1690]
jmp 0x140030e3d
xorps xmm4, xmm4
movss xmm3, dword [r13 + 0x11c]
movaps xmm1, xmm3
movss xmm12, dword [rbp - 0x7c]
addss xmm1, xmm12
movss xmm2, dword [r13 + 0x118]
movaps xmm0, xmm2
movss xmm11, dword [rbp - 0x80]
addss xmm0, xmm11
movss dword [rbp + 0x10], xmm2
movss dword [rbp + 0x14], xmm3
movss dword [rbp + 0x18], xmm0
movss dword [rbp + 0x1c], xmm1
movaps xmm1, xmm3
addss xmm1, xmm12
addss xmm4, xmm11
addss xmm4, xmm2
movss dword [rbp + 0xa0], xmm2
movss dword [rbp + 0xa4], xmm3
movss dword [rbp + 0xa8], xmm4
movss dword [rbp + 0xac], xmm1
mov qword [rbp - 0x80], r13
lea rcx, [rbp + 0xa0]
test bl, bl
je 0x140031032
lea r8, [rbp + 0x10]
mov edx, esi
call fcn.14000e9c0
test al, al
jne 0x140030f50
movss xmm1, dword [r14 + 0x167c]
lea rcx, [rbp + 0xa0]
call fcn.14000e98c
call fcn.14000eed8
xor al, al
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.14009bc10
lea r11, [rsp + 0x270]
mov rbx, 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 rdi
pop rsi
pop rbp
ret
lea rdx, [r14 + 0x176c]
mov ecx, 3
call fcn.140003394
movss xmm1, dword [r14 + 0x1680]
mov ecx, 6
call fcn.140003430
movss xmm1, dword [r14 + 0x1684]
mov ecx, 7
call fcn.140003430
lea rdx, [r14 + 0x1678]
mov ecx, r12d
call fcn.1400034a8
movss xmm1, dword [rbp + 0x1c]
movss xmm9, dword [rbp + 0x14]
movss dword [rbp - 0x48], xmm9
subss xmm1, xmm9
movss xmm6, dword [rbp + 0x18]
movss dword [rbp - 0x30], xmm6
movaps xmm0, xmm6
movss xmm8, dword [rbp + 0x10]
subss xmm0, xmm8
movss dword [rbp + 0xa0], xmm0
movss dword [rbp + 0xa4], xmm1
lea r8, [rbp + 0xa0]
mov edx, esi
mov rcx, rdi
call fcn.140008f40
mov bl, al
mov ecx, 3
call fcn.140003534
mov ecx, r12d
call fcn.1400033f0
test bl, bl
jne 0x140031007
call fcn.140009114
jmp 0x140030ee7
mov rdi, qword [r14 + 0x1b90]
mov qword [rbp - 0x80], rdi
mov ecx, dword [rdi + 0x18c]
mov eax, dword [rdi + 0x184]
bts ecx, eax
mov dword [rdi + 0x18c], ecx
subss xmm11, dword [rdi + 0xb4]
jmp 0x140031070
movaps xmm1, xmm6
call fcn.14000e98c
lea r8, [rbp + 0x10]
mov edx, esi
lea rcx, [rbp + 0xa0]
call fcn.14000e9c0
test al, al
je 0x140030eec
movss xmm0, dword [rbp + 0x18]
movss dword [rbp - 0x30], xmm0
movss xmm9, dword [rbp + 0x14]
movss dword [rbp - 0x48], xmm9
movss xmm8, dword [rbp + 0x10]
mov edx, esi
lea rcx, [rbp + 0x10]
call fcn.140004da4
mov bl, al
mov byte [rsp + 0x68], al
test al, al
je 0x14003108c
mov dword [r14 + 0x1ef0], r12d
mov rcx, qword [0x140124080]
add rcx, 0x1ff0
mov rdi, r15
cmp dword [rcx], esi
cmove rdi, rcx
mov qword [rbp + 0xa0], rdi
mov edx, esi
mov rcx, r13
call fcn.140004fd4
mov r15b, al
xor r11d, r11d
test al, al
je 0x1400310d7
cmp qword [r14 + 0x1ec8], r13
jne 0x1400310d7
mov ecx, dword [r13 + 0x1f8]
cmp dword [r14 + 0x1ed8], ecx
je 0x1400310ea
mov r12b, r11b
test r15b, r15b
je 0x1400310ea
mov eax, 1
mov byte [rsp + 0x55], al
jmp 0x1400310f4
mov byte [rsp + 0x55], r11b
mov eax, 1
test bl, bl
je 0x140031104
cmp byte [r14 + 0x418], r11b
mov r13b, al
jne 0x140031107
mov r13b, r11b
mov byte [rsp + 0x54], r13b
mov ebx, dword [r14 + 0x1be8]
cmp ebx, esi
je 0x140031139
cmp dword [r14 + 0x1d8c], esi
je 0x140031133
cmp dword [r14 + 0x1d80], esi
jne 0x140031139
cmp dword [r14 + 0x1da4], 3
jne 0x140031139
mov byte [rsp + 0x50], al
jmp 0x14003113e
mov byte [rsp + 0x50], r11b
mov eax, dword [rsp + 0x58]
test al, al
je 0x140031189
test rdi, rdi
je 0x140031189
test ebx, ebx
jne 0x140031189
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 0x108]
mov rax, qword [rax + 0x110]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
lea rcx, str.SCROLLY
call fcn.140002920
cmp dword [r14 + 0x1c28], eax
jne 0x140031182
lea esi, [rbx + 1]
jmp 0x140031195
mov eax, dword [rsp + 0x58]
xor r11d, r11d
mov sil, r11b
test al, al
je 0x1400311ca
test rdi, rdi
je 0x1400311ca
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 0x108]
mov rax, qword [rax + 0x110]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
lea rcx, str.SCROLLY
call fcn.140002920
xor r11d, r11d
cmp ebx, eax
jne 0x1400311ca
lea r9d, [r11 + 1]
mov al, r9b
jmp 0x1400311d3
mov al, r11b
mov r9d, 1
mov byte [rsp + 0x51], al
mov byte [rsp + 0x5c], r11b
mov edx, dword [rbp - 0x60]
cmp ebx, edx
je 0x1400312f9
mov ecx, dword [rsp + 0x64]
test cl, 0x10
mov cl, byte [rsp + 0x50]
jne 0x1400311fc
test cl, cl
je 0x1400312fd
mov r8d, dword [rsp + 0x58]
test r8b, r8b
jne 0x140031302
mov byte [rsp + 0x70], r9b
movss xmm7, dword [0x1401167d4]
test r15b, r15b
jne 0x140031322
test r13b, r13b
jne 0x140031322
test sil, sil
jne 0x140031322
test cl, cl
jne 0x140031322
mov r15b, r11b
test al, al
jne 0x140031325
mov r13b, r11b
mov r12d, dword [rsp + 0x64]
mov ebx, edx
mov esi, dword [rsp + 0x70]
cmp dword [r14 + 0x1be8], ebx
je 0x140031506
test r15b, r15b
je 0x140031506
mov rdx, qword [rbp]
mov ecx, ebx
call fcn.140004bc0
call fcn.1400103f0
mov rcx, rdx
call fcn.14000e0d4
mov eax, dword [r14 + 0x1bfc]
or eax, 3
mov dword [r14 + 0x1bfc], eax
mov ecx, dword [rsp + 0x58]
xor r11d, r11d
test cl, cl
jne 0x1400312a2
test r12b, r12b
jns 0x1400312ac
or eax, 0xc
mov dword [r14 + 0x1bfc], eax
or dword [r14 + 0x1c00], 2
mov rax, qword [r14 + 0x1c08]
or rax, 0x180
mov qword [r14 + 0x1c08], rax
test cl, cl
je 0x1400312d7
or rax, 0x60
mov qword [r14 + 0x1c08], rax
test r12d, 0x440
mov r12d, 1
je 0x14003150c
or rax, r12
mov qword [r14 + 0x1c08], rax
jmp 0x14003150c
mov cl, byte [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
mov byte [rsp + 0x70], r11b
test r8b, r8b
je 0x14003120f
mov r8, qword [rbp - 0x80]
movss xmm7, dword [r8 + 0x90]
jmp 0x140031217
mov r15b, r9b
mov r13b, r9b
cmp ebx, edx
je 0x140031248
lea rdi, [r14 + 0x1ff0]
mov qword [rbp + 0xa0], rdi
mov dword [rdi + 0xe78], 0xbe99999a
or rax, 0xffffffffffffffff
mov rcx, qword [rbp - 0x68]
inc rax
cmp byte [rcx + rax], r11b
jne 0x140031350
lea ebx, [rax + 1]
mov ecx, dword [rdi + 0x34]
cmp ebx, ecx
jle 0x140031387
test ecx, ecx
je 0x140031372
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140031377
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
lea rcx, [rdi + 0x30]
call fcn.14001cae4
mov dword [rdi + 0x30], ebx
movsxd r8, ebx
mov rsi, qword [rbp - 0x68]
mov rdx, rsi
mov rcx, qword [rdi + 0x38]
call sub.VCRUNTIME140.dll_memcpy
xor r8d, r8d
mov qword [rbp - 0x58], r8
mov ecx, dword [rdi + 0x14]
cmp ecx, 0x15
jge 0x1400313d6
test ecx, ecx
je 0x1400313bb
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400313c0
mov eax, 8
mov edx, reloc.WS2_32.dll_setsockopt
cmp eax, edx
cmovg edx, eax
lea rcx, [rdi + 0x10]
call fcn.14001cb58
xor r8d, r8d
mov dword [rdi + 0x10], reloc.WS2_32.dll_setsockopt
mov ecx, dword [rdi + 0x24]
test ecx, ecx
jns 0x140031401
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, r8d
test eax, eax
cmovg edx, eax
lea rcx, [rdi + 0x20]
call fcn.14001cae4
xor r8d, r8d
mov dword [rdi + 0x20], r8d
mov byte [rdi + 0x40], r8b
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, rsi
lea edx, [r9 + 0x14]
mov rcx, qword [rdi + 0x18]
call fcn.140002d94
mov edx, eax
mov dword [rdi + 4], eax
mov ecx, dword [rbp - 0x58]
sub ecx, esi
mov dword [rdi + 8], ecx
mov ebx, dword [rbp - 0x60]
cmp dword [rdi], ebx
jne 0x140031462
mov ecx, eax
cmp dword [rdi + 0x4c], eax
cmovl ecx, dword [rdi + 0x4c]
mov dword [rdi + 0x4c], ecx
cmp dword [rdi + 0x50], eax
cmovl eax, dword [rdi + 0x50]
mov dword [rdi + 0x50], eax
cmp dword [rdi + 0x54], edx
cmovl edx, dword [rdi + 0x54]
mov dword [rdi + 0x54], edx
xor r11d, r11d
lea edx, [r11 + 1]
jmp 0x1400314c4
mov dword [rdi], ebx
xor r11d, r11d
mov qword [rdi + 0x48], r11
mov dword [rdi + 0xe6a], 0x630000
mov dword [rdi + 0xe70], r11d
mov dword [rdi + 0xe74], 0x3e7
mov qword [rdi + 0x50], r11
mov word [rdi + 0x61], 1
mov dword [rdi + 0x68], r11d
mov byte [rdi + 0x60], r11b
lea edx, [r11 + 1]
mov ecx, dword [rsp + 0x58]
mov al, cl
xor al, dl
mov byte [rdi + 0x63], al
mov byte [rdi + 0x58], r11b
mov dword [rdi + 0x5c], r11d
test cl, cl
jne 0x1400314c8
mov ecx, dword [rsp + 0x70]
movzx ecx, cl
test r12b, r12b
cmovne ecx, edx
mov dword [rsp + 0x70], ecx
mov ecx, dword [rsp + 0x58]
mov r12d, dword [rsp + 0x64]
bt r12d, 0xd
jae 0x1400314d7
mov byte [rdi + 0x58], dl
test cl, cl
jne 0x14003124f
cmp byte [rsp + 0x55], r11b
jne 0x1400314fe
cmp byte [rsp + 0x54], r11b
je 0x14003124f
cmp byte [r14 + 0x13c], r11b
je 0x14003124f
mov sil, dl
jmp 0x140031253
mov r12d, 1
mov eax, dword [r14 + 0x1be8]
cmp eax, ebx
jne 0x14003154a
test rdi, rdi
jne 0x140031530
xor edx, edx
xor ecx, ecx
call fcn.140004bc0
mov eax, dword [r14 + 0x1be8]
cmp eax, ebx
jne 0x14003154a
cmp byte [r14 + 0x418], r11b
je 0x140031556
test r13b, r13b
jne 0x140031556
test r15b, r15b
jne 0x140031556
mov byte [rsp + 0x5c], r12b
jmp 0x140031556
test rdi, rdi
je 0x14003155b
cmp byte [rsp + 0x51], r11b
je 0x14003155b
mov r15b, r12b
jmp 0x14003155e
mov r15b, r11b
mov byte [rsp + 0x51], r15b
test rdi, rdi
je 0x140031575
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
je 0x140031575
test r15b, r15b
jne 0x140031578
mov r12b, r11b
mov byte [rsp + 0x52], r12b
mov byte [rsp + 0x6a], r11b
mov byte [rsp + 0x53], r11b
mov eax, dword [rsp + 0x60]
test al, al
je 0x140031652
test rdi, rdi
je 0x140031652
test r15b, r15b
jne 0x1400315aa
test r12b, r12b
je 0x140031664
mov qword [rbp - 0x58], r11
mov ecx, dword [rdi + 0x14]
mov r13d, reloc.WS2_32.dll_setsockopt
cmp ecx, r13d
jge 0x1400315e2
test ecx, ecx
je 0x1400315cb
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400315d0
mov eax, 8
mov edx, r13d
cmp eax, r13d
cmovg edx, eax
lea rcx, [rdi + 0x10]
call fcn.14001cb58
mov dword [rdi + 0x10], r13d
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov rbx, qword [rbp - 0x68]
mov r8, rbx
mov edx, r13d
mov rcx, qword [rdi + 0x18]
call fcn.140002d94
mov r8d, eax
mov dword [rdi + 4], eax
mov ecx, dword [rbp - 0x58]
sub ecx, ebx
mov dword [rdi + 8], ecx
mov ecx, eax
cmp dword [rdi + 0x4c], eax
cmovl ecx, dword [rdi + 0x4c]
mov dword [rdi + 0x4c], ecx
mov edx, eax
cmp dword [rdi + 0x50], eax
cmovl edx, dword [rdi + 0x50]
mov dword [rdi + 0x50], edx
cmp dword [rdi + 0x54], eax
cmovl r8d, dword [rdi + 0x54]
mov dword [rdi + 0x54], r8d
xor r11d, r11d
mov ecx, r11d
movzx eax, r12b
cmp edx, r8d
cmovne ecx, eax
mov r12b, cl
mov byte [rsp + 0x52], cl
mov eax, dword [rsp + 0x60]
test r15b, r15b
jne 0x140031797
test r12b, r12b
jne 0x140031797
mov r13d, dword [rbp - 0x60]
cmp dword [r14 + 0x1be8], r13d
je 0x14003179b
mov byte [rsp + 0x69], r11b
mov r15d, 1
cmp byte [rbp - 0x78], r11b
je 0x1400316f4
mov rcx, qword [r14 + 0x1a28]
mov edx, Ordinal_45
call fcn.140027eac
lea r8, [r14 + 0x2e88]
mov ecx, dword [rcx + 0x14]
mov dword [r8 + 0x14], ecx
mov rcx, qword [r14 + 0x1a28]
mov edx, dword [rcx + 0x58]
mov dword [r8 + 0x58], edx
mov rcx, qword [r14 + 0x1a28]
mov edx, dword [rcx + 0x5c]
mov dword [r8 + 0x5c], edx
mov rcx, qword [r14 + 0x1a28]
mov edx, dword [rcx + 0x60]
mov dword [r8 + 0x60], edx
mov rcx, qword [r14 + 0x1a28]
mov rdx, qword [rcx + 0x40]
mov qword [r8 + 0x40], rdx
mov qword [r8 + 0x38], rax
mov eax, dword [rax + 4]
mov dword [r8 + 0x10], eax
mov rcx, r8
call fcn.14000e3f0
xor r11d, r11d
mov dword [rbp - 0x50], r11d
movss xmm13, dword [0x1401166c4]
cmp dword [r14 + 0x1be8], r13d
jne 0x140031aa2
mov eax, dword [rdi + 8]
mov dword [rbp - 0x50], eax
mov byte [rdi + 0xe7e], r11b
mov dword [rdi + 0x44], reloc.WS2_32.dll_sendto
mov r12d, dword [rsp + 0x64]
mov dword [rdi + 0xe80], r12d
mov qword [rdi + 0xe88], r11
mov qword [rdi + 0xe90], r11
cmp byte [r14 + 0x128], r11b
sete al
mov byte [r14 + 0x1bf5], al
mov dword [r14 + 0x323c], r15d
movss xmm6, dword [r14 + 0x120]
subss xmm6, xmm8
subss xmm6, dword [r14 + 0x1678]
addss xmm6, dword [rdi + 0x48]
cmp byte [rsp + 0x58], r11b
je 0x1400317c6
movss xmm2, dword [r14 + 0x124]
mov rax, qword [rbp - 0x80]
subss xmm2, dword [rax + 0x11c]
subss xmm2, dword [r14 + 0x167c]
jmp 0x1400317d4
mov r13d, dword [rbp - 0x60]
test al, al
jne 0x140031675
test rdi, rdi
je 0x140031675
cmp byte [rdi + 0x40], r11b
je 0x140031675
mov r15d, 1
mov byte [rsp + 0x69], r15b
jmp 0x140031680
movss xmm2, dword [r14 + 0x1a30]
mulss xmm2, xmm13
mov bl, byte [r14 + 0xd1]
test sil, sil
jne 0x14003190a
mov cl, byte [rsp + 0x68]
test cl, cl
je 0x1400317ff
mov al, byte [r14 + 0x41d]
test bl, bl
jne 0x14003185e
test al, al
jne 0x14003190a
mov al, byte [rdi + 0xe7d]
cmp byte [r14 + 0x418], r11b
je 0x140031884
test al, al
jne 0x140031884
test cl, cl
je 0x140031922
cmp byte [rdi + 0x63], r11b
je 0x140031834
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x18]
call fcn.14002f57c
movss xmm2, dword [rbp - 0xc]
movaps xmm1, xmm6
mov rcx, rdi
call fcn.14002f858
mov dword [rdi + 0x4c], eax
mov dword [rdi + 0x50], eax
mov dword [rdi + 0x54], eax
xor r11d, r11d
mov byte [rdi + 0x62], r11b
mov dword [rdi + 0xe78], 0xbe99999a
jmp 0x140031922
test al, al
je 0x1400317ff
mov edx, 0x20000c
mov rcx, rdi
call fcn.140030a9c
mov edx, 0x60000d
mov rcx, rdi
call fcn.140030a9c
xor r11d, r11d
jmp 0x140031922
cmp byte [r14 + 0x128], r11b
je 0x140031922
test al, al
jne 0x140031922
movss xmm0, dword [r14 + 0x3b4]
ucomiss xmm0, xmm15
jp 0x1400318bb
jne 0x1400318bb
movss xmm0, dword [r14 + 0x3b8]
ucomiss xmm0, xmm15
jp 0x1400318bb
je 0x140031922
cmp byte [rdi + 0x63], r11b
je 0x1400318d5
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x18]
call fcn.14002f57c
movss xmm2, dword [rbp - 0xc]
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
jne 0x1400318e3
mov eax, dword [rdi + 0x4c]
mov dword [rdi + 0x50], eax
movaps xmm1, xmm6
mov rcx, rdi
call fcn.14002f858
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x4c], eax
mov dword [rdi + 0xe78], 0xbe99999a
mov byte [rdi + 0xe7c], r15b
jmp 0x14003187c
mov dword [rdi + 0x50], r11d
mov eax, dword [rdi + 4]
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x4c], eax
mov byte [rdi + 0x62], r11b
mov byte [rdi + 0xe7d], r15b
cmp byte [rdi + 0xe7d], r11b
je 0x14003193b
cmp byte [r14 + 0x128], r11b
jne 0x14003193b
mov byte [rdi + 0xe7d], r11b
cmp byte [r14 + 0x13c], r11b
je 0x14003194d
cmp byte [r14 + 0x13e], r11b
je 0x14003195d
test bl, bl
je 0x14003195a
cmp byte [r14 + 0x13f], r11b
jne 0x14003195d
mov r15b, r11b
mov r8d, 9
bt r12d, 0xa
jae 0x1400319e5
mov rsi, qword [0x140124080]
mov ecx, dword [rsi + 0x3c]
test ecx, ecx
js 0x1400319ec
call fcn.140008d70
test al, al
mov eax, dword [rsp + 0x60]
je 0x1400319f0
test r15b, r15b
jne 0x1400319f0
cmp byte [r14 + 0x13d], r11b
jne 0x1400319f0
test al, al
jne 0x1400319f0
mov rcx, qword [r14 + 0x1550]
movsxd rax, dword [r14 + 0x1548]
lea rdx, [rcx + rax*2]
jmp 0x1400319b8
movzx eax, word [rcx]
add rcx, 2
cmp ax, r8w
je 0x1400319ec
cmp rcx, rdx
jb 0x1400319ab
mov dword [rsp + 0x70], r8d
mov edx, r12d
lea rcx, [rsp + 0x70]
call fcn.140030ac8
xor r11d, r11d
test al, al
je 0x1400319e5
mov edx, dword [rsp + 0x70]
mov rcx, rdi
call fcn.140030a9c
xor r11d, r11d
mov rsi, qword [0x140124080]
mov eax, dword [rsp + 0x60]
lea rbx, [r14 + 0x1548]
cmp dword [rbx], r11d
jle 0x140031aa9
test r15b, r15b
jne 0x140031a73
test al, al
jne 0x140031a73
cmp byte [rsp + 0x50], r11b
jne 0x140031a73
mov r15d, r11d
mov rsi, r11
mov r13d, 1
mov rax, qword [r14 + 0x1550]
movzx ecx, word [rax + rsi]
mov dword [rsp + 0x70], ecx
cmp ecx, 9
jne 0x140031a39
cmp byte [r14 + 0x13d], r11b
jne 0x140031a5c
mov edx, r12d
lea rcx, [rsp + 0x70]
call fcn.140030ac8
xor r11d, r11d
test al, al
je 0x140031a5c
mov edx, dword [rsp + 0x70]
mov rcx, rdi
call fcn.140030a9c
xor r11d, r11d
add r15d, r13d
add rsi, 2
cmp r15d, dword [rbx]
jl 0x140031a1c
mov rsi, qword [0x140124080]
mov r13d, dword [rbp - 0x60]
mov ecx, dword [rbx + 4]
test ecx, ecx
jns 0x140031a9d
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, r11d
test eax, eax
cmovg edx, eax
mov rcx, rbx
call fcn.14001cb58
mov rsi, qword [0x140124080]
xor r11d, r11d
mov dword [rbx], r11d
jmp 0x140031aa9
mov rsi, qword [0x140124080]
mov cl, r11b
mov byte [rsp + 0x50], cl
mov eax, dword [r14 + 0x1be8]
mov r8d, 0xa
mov dword [rbp - 0x58], r8d
cmp eax, r13d
jne 0x140032886
cmp byte [r14 + 0x1bf4], r11b
jne 0x140031dac
cmp byte [rsp + 0x5c], r11b
jne 0x140031dac
movaps xmm0, xmm12
subss xmm0, dword [r14 + 0x167c]
divss xmm0, dword [r14 + 0x1a30]
cvttss2si eax, xmm0
lea r9d, [r8 - 9]
mov ecx, r9d
cmp eax, r9d
cmovge ecx, eax
mov dword [rsp + 0x70], ecx
mov dword [rdi + 0x5c], ecx
mov al, byte [r14 + 0x13d]
neg al
sbb ebx, ebx
and ebx, 0x400000
mov dl, byte [r14 + 0xd1]
test dl, dl
je 0x140031b3d
cmp dword [r14 + 0x3bc], r8d
jne 0x140031b3d
mov cl, r9b
mov eax, r8d
jmp 0x140031b4b
mov eax, dword [r14 + 0x3bc]
mov cl, r11b
test dl, dl
je 0x140031b77
mov dl, byte [r14 + 0x13e]
mov r12b, dl
mov r10b, cl
mov r8d, eax
cmp byte [r14 + 0x13f], r11b
je 0x140031b84
cmp byte [r14 + 0x13c], r11b
jne 0x140031b84
cmp dl, r11b
jne 0x140031b84
mov r15b, r9b
jmp 0x140031b87
mov r12b, byte [r14 + 0x13c]
mov r10b, r11b
mov r8d, eax
mov r15b, r11b
cmp byte [r14 + 0xd1], r11b
je 0x140031b96
cmp r8d, 8
jmp 0x140031b99
cmp r8d, r9d
sete r9b
mov byte [rsp + 0x54], r9b
test r9b, r9b
je 0x140031bba
mov ecx, dword [rsi + 0x88]
test ecx, ecx
js 0x140031bba
call fcn.140008d70
test al, al
jne 0x140031bd0
cmp r8d, 2
jne 0x140031bfb
mov ecx, dword [rsi + 0x64]
test ecx, ecx
js 0x140031bfb
call fcn.140008d70
test al, al
je 0x140031bfb
mov r13d, dword [rbp - 0x78]
xor edx, edx
cmp byte [rsp + 0x60], r11b
mov r11d, dword [rsp + 0x58]
jne 0x140031c06
test r13b, r13b
jne 0x140031c06
test r11b, r11b
je 0x140031bf4
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
je 0x140031c06
mov byte [rsp + 0x55], 1
jmp 0x140031c0a
mov r11d, dword [rsp + 0x58]
mov r13d, dword [rbp - 0x78]
xor edx, edx
mov byte [rsp + 0x55], dl
test r9b, r9b
je 0x140031c24
mov ecx, dword [rsi + 0x80]
test ecx, ecx
js 0x140031c24
call fcn.140008d70
xor edx, edx
test al, al
jne 0x140031c40
mov eax, 1
cmp r8d, eax
jne 0x140031c5d
mov ecx, dword [rsi + 0x60]
test ecx, ecx
js 0x140031c5d
call fcn.140008d70
xor edx, edx
test al, al
je 0x140031c5d
test r13b, r13b
jne 0x140031c5d
test r11b, r11b
je 0x140031c52
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
je 0x140031c5d
mov r11d, 1
mov r13b, r11b
jmp 0x140031c66
mov r13b, dl
mov r11d, 1
test r9b, r9b
je 0x140031c80
mov ecx, dword [rsi + 0x84]
test ecx, ecx
js 0x140031c80
call fcn.140008d70
xor edx, edx
test al, al
jne 0x140031c98
cmp r8d, 2
jne 0x140031ca4
mov ecx, dword [rsi + 0x60]
test ecx, ecx
js 0x140031ca4
call fcn.140008d70
xor edx, edx
test al, al
je 0x140031ca4
mov r8d, dword [rsp + 0x60]
test r8b, r8b
jne 0x140031ca9
jmp 0x140031cac
mov r8d, dword [rsp + 0x60]
mov r11b, dl
test r9b, r9b
je 0x140031cdb
mov ecx, dword [rsi + 0x90]
test ecx, ecx
js 0x140031cdb
call fcn.140008d70
xor edx, edx
test al, al
je 0x140031cdb
test r8b, r8b
mov r8d, dword [rsp + 0x78]
jne 0x140031ce0
test r8b, r8b
je 0x140031ce0
lea r9d, [rdx + 1]
jmp 0x140031ce9
mov r8d, dword [rsp + 0x78]
mov r9b, dl
cmp byte [rsp + 0x54], dl
je 0x140031cfe
mov ecx, dword [rsi + 0x8c]
test ecx, ecx
js 0x140031cfe
call fcn.140008d70
xor edx, edx
test al, al
jne 0x140031d18
test r10b, r10b
je 0x140031d2b
mov ecx, dword [rsi + 0x90]
test ecx, ecx
js 0x140031d2b
call fcn.140008d70
xor edx, edx
test al, al
je 0x140031d2b
cmp byte [rsp + 0x60], dl
jne 0x140031d2b
test r8b, r8b
je 0x140031d2b
mov r8d, 1
jmp 0x140031d2e
mov r8b, dl
mov ecx, dword [rsi + 0x40]
test ecx, ecx
js 0x140031f76
call fcn.140008d70
xor edx, edx
test al, al
je 0x140031f76
neg r12b
sbb edx, edx
and edx, 0xc
add edx, 0x200000
mov eax, 0x200004
test r15b, r15b
cmovne edx, eax
or edx, ebx
mov rcx, rdi
call fcn.140030a9c
mov rsi, qword [0x140124080]
xor r11d, r11d
mov r8d, 1
mov cl, byte [rsp + 0x50]
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
je 0x140031d91
cmp byte [rsp + 0x51], r11b
mov al, r8b
jne 0x140031d94
mov al, r11b
or byte [rsp + 0x52], al
mov eax, dword [r14 + 0x1be8]
mov r13d, dword [rbp - 0x60]
cmp eax, r13d
jne 0x140032886
mov r12, r11
mov r13d, r11d
test cl, cl
je 0x140032572
cmp byte [rsp + 0x60], r11b
jne 0x140031ee1
mov rax, qword [rbp - 0x68]
mov r8, qword [rdi + 0x38]
sub r8, rax
mov r9d, 1
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140031de9
add rax, r9
test ecx, ecx
jne 0x140031dd6
test edx, edx
je 0x140031ee1
mov r12, qword [rdi + 0x38]
mov r13d, dword [rdi + 0x30]
sub r13d, r9d
mov dword [rbp + 0x94], r11d
mov ebx, r11d
mov dword [rbp + 0x90], ebx
mov rsi, r11
mov qword [rbp + 0x98], r11
test r13d, r13d
jle 0x140031e74
movsxd r15, r13d
add r15, r12
mov rdx, r15
mov rcx, r12
call fcn.140002e38
lea ebx, [rax + 1]
xor eax, eax
test ebx, ebx
jle 0x140031e56
mov edx, ebx
mov eax, 8
cmp ebx, eax
cmovl edx, eax
lea rcx, [rbp + 0x90]
call fcn.14001cb58
mov rsi, qword [rbp + 0x98]
xor eax, eax
mov dword [rbp + 0x90], ebx
mov qword [rsp + 0x20], rax
mov r9, r15
mov r8, r12
mov edx, ebx
mov rcx, rsi
call fcn.140002d94
xor r11d, r11d
lea eax, [rbx - 1]
mov ebx, r11d
test r13d, r13d
cmovg ebx, eax
mov dword [rsp + 0x20], ebx
mov r9d, dword [rdi + 4]
xor r8d, r8d
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call fcn.140030a30
mov r8d, dword [rdi + 4]
xor edx, edx
mov rcx, rdi
call fcn.14002f684
xor r11d, r11d
test ebx, ebx
jle 0x140031eca
mov r9d, ebx
mov r8, rsi
xor edx, edx
mov rcx, rdi
call fcn.14002f710
xor r11d, r11d
test al, al
je 0x140031eca
mov dword [rdi + 0x4c], ebx
mov byte [rdi + 0x62], r11b
test rsi, rsi
je 0x140031eda
mov rcx, rsi
call fcn.1400050ac
xor r11d, r11d
mov rsi, qword [0x140124080]
mov r10d, dword [rsp + 0x64]
cmp byte [rsp + 0x53], r11b
je 0x140031ef7
test r10b, 0x20
jne 0x140032577
mov r9, qword [rbp - 0x68]
mov r15d, dword [rbp - 0x70]
test r12, r12
je 0x14003286d
test r15b, r15b
je 0x140032827
mov qword [rbp + 0x68], r11
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x80], xmm0
mov dword [rbp + 0x58], 0x40000
mov dword [rbp + 0x5c], r10d
mov qword [rbp + 0x70], r9
mov dword [rbp + 0x78], r13d
lea eax, [r13 + 1]
mov ecx, reloc.WS2_32.dll_sendto
cmp eax, ecx
cmovle eax, ecx
mov dword [rbp + 0x7c], eax
mov qword [rbp + 0x60], r11
lea rcx, [rbp + 0x58]
call r11
mov r9, qword [rbp + 0x70]
mov qword [rbp - 0x68], r9
mov ecx, dword [rbp + 0x7c]
lea r13d, [rcx - 1]
cmp dword [rbp + 0x78], r13d
cmovl r13d, dword [rbp + 0x78]
mov rsi, qword [0x140124080]
xor r11d, r11d
jmp 0x14003282a
mov ecx, dword [rsi + 0x44]
test ecx, ecx
js 0x140031fa0
call fcn.140008d70
xor edx, edx
test al, al
je 0x140031fa0
neg r12b
sbb edx, edx
and edx, 0xc
add edx, 0x200001
mov eax, 0x200005
jmp 0x140031d5b
mov ecx, dword [rsi + 0x48]
test ecx, ecx
js 0x14003200d
call fcn.140008d70
xor edx, edx
mov r10d, dword [rsp + 0x58]
test al, al
je 0x140032012
test r10b, r10b
je 0x140032012
xor r11d, r11d
cmp byte [r14 + 0x13c], r11b
je 0x140031ffd
mov rdx, qword [rbp - 0x80]
movss xmm0, dword [rdx + 0x90]
subss xmm0, dword [r14 + 0x1a30]
maxss xmm0, xmm15
movss dword [rdx + 0xa0], xmm0
mov dword [rdx + 0xa8], r11d
mov dword [rdx + 0xb0], r11d
jmp 0x140031d75
movzx eax, r15b
lea edx, [rax*4 + 0x200002]
jmp 0x140031d61
mov r10d, dword [rsp + 0x58]
mov ecx, dword [rsi + 0x4c]
test ecx, ecx
js 0x140032084
call fcn.140008d70
xor edx, edx
test al, al
je 0x140032084
test r10b, r10b
je 0x140032084
xor r11d, r11d
cmp byte [r14 + 0x13c], r11b
je 0x140032074
mov rax, qword [rsi + 0x1b90]
mov rcx, qword [rbp - 0x80]
movss xmm0, dword [rcx + 0x90]
addss xmm0, dword [r14 + 0x1a30]
minss xmm0, dword [rax + 0x98]
movss dword [rcx + 0xa0], xmm0
mov dword [rcx + 0xa8], r11d
mov dword [rcx + 0xb0], r11d
jmp 0x140031d75
movzx eax, r15b
lea edx, [rax*4 + 0x200003]
jmp 0x140031d61
mov ecx, dword [rsi + 0x50]
test ecx, ecx
js 0x1400320c6
call fcn.140008d70
xor edx, edx
test al, al
je 0x1400320c6
test r10b, r10b
je 0x1400320c6
or ebx, 0x20000e
mov edx, ebx
mov rcx, rdi
call fcn.140030a9c
movd xmm0, dword [rsp + 0x70]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r14 + 0x1a30]
subss xmm7, xmm0
jmp 0x140031d6b
mov ecx, dword [rsi + 0x54]
test ecx, ecx
js 0x140032108
call fcn.140008d70
xor edx, edx
test al, al
je 0x140032108
test r10b, r10b
je 0x140032108
or ebx, 0x20000f
mov edx, ebx
mov rcx, rdi
call fcn.140030a9c
movd xmm0, dword [rsp + 0x70]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r14 + 0x1a30]
addss xmm7, xmm0
jmp 0x140031d6b
mov ecx, dword [rsi + 0x58]
test ecx, ecx
js 0x140032134
call fcn.140008d70
xor edx, edx
test al, al
je 0x140032134
mov al, byte [r14 + 0x13c]
neg al
mov eax, 0x200004
sbb edx, edx
and edx, 2
add edx, eax
jmp 0x140031d61
mov ecx, dword [rsi + 0x5c]
test ecx, ecx
js 0x140032156
call fcn.140008d70
xor edx, edx
test al, al
je 0x140032156
mov al, byte [r14 + 0x13c]
neg al
mov eax, 0x200005
jmp 0x140032128
mov ecx, dword [rsi + 0x64]
test ecx, ecx
js 0x14003217f
call fcn.140008d70
xor edx, edx
mov r15d, dword [rsp + 0x60]
test al, al
je 0x140032184
test r15b, r15b
jne 0x140032184
or ebx, 0x200008
mov edx, ebx
jmp 0x140031d63
mov r15d, dword [rsp + 0x60]
mov ecx, dword [rsi + 0x68]
test ecx, ecx
js 0x1400321e8
call fcn.140008d70
xor edx, edx
test al, al
je 0x1400321e8
test r15b, r15b
jne 0x1400321e8
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
jne 0x1400321e0
test r12b, r12b
je 0x1400321af
mov edx, 0x60000c
jmp 0x1400321d8
cmp byte [r14 + 0xd1], dl
je 0x1400321e0
cmp byte [r14 + 0x13f], dl
je 0x1400321e0
cmp byte [r14 + 0x13e], dl
jne 0x1400321e0
cmp byte [r14 + 0x13c], dl
jne 0x1400321e0
mov edx, 0x600004
mov rcx, rdi
call fcn.140030a9c
or ebx, 0x200009
jmp 0x140032178
mov ecx, dword [rsi + 0x70]
test ecx, ecx
js 0x1400321fa
call fcn.140008d70
xor edx, edx
test al, al
jne 0x14003220c
mov ecx, dword [rsi + 0x78]
test ecx, ecx
js 0x140032278
call fcn.140008d70
xor edx, edx
test al, al
je 0x140032278
mov edx, dword [rsp + 0x64]
mov eax, edx
shr eax, 0xb
mov r8d, 1
and al, r8b
xor r11d, r11d
test r10b, r10b
je 0x140032235
mov cl, byte [r14 + 0x13c]
test al, al
je 0x140032244
test cl, cl
jne 0x140032248
mov byte [rsp + 0x5c], r8b
mov byte [rsp + 0x53], r8b
jmp 0x140031d7b
test cl, cl
jne 0x140032235
test r15b, r15b
jne 0x140031d7b
mov eax, 0xa
mov dword [rsp + 0x78], eax
lea rcx, [rsp + 0x78]
call fcn.140030ac8
xor r11d, r11d
test al, al
je 0x140032543
mov edx, dword [rsp + 0x78]
jmp 0x140031d63
mov ecx, dword [rsi + 0x74]
test ecx, ecx
js 0x14003229e
call fcn.140008d70
xor edx, edx
test al, al
je 0x14003229e
lea r8d, [rdx + 1]
mov cl, r8b
mov byte [rsp + 0x5c], r8b
xor r11d, r11d
jmp 0x140031d7f
test r9b, r9b
jne 0x14003254f
test r8b, r8b
jne 0x14003254f
cmp byte [rsp + 0x54], dl
je 0x1400322ea
mov ecx, dword [rsi + 0x7c]
test ecx, ecx
js 0x1400322ea
call fcn.140008d70
test al, al
je 0x1400322ea
xor r11d, r11d
mov dword [rdi + 0x50], r11d
mov eax, dword [rdi + 4]
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x4c], eax
mov byte [rdi + 0x62], r11b
lea r8d, [r11 + 1]
mov byte [rdi + 0xe7c], r8b
jmp 0x140031d7b
mov al, byte [rsp + 0x55]
test al, al
jne 0x140032458
test r13b, r13b
jne 0x140032458
test r11b, r11b
je 0x140031d72
mov rax, qword [rsi + 0x108]
xor r11d, r11d
test rax, rax
je 0x140032338
mov rcx, qword [rsi + 0x118]
call rax
mov rbx, rax
xor r11d, r11d
test rax, rax
je 0x140032543
mov rsi, qword [0x140124080]
jmp 0x14003233f
lea rbx, [0x1400ae296]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r11b
jne 0x140032343
test rsi, rsi
je 0x14003235c
mov ecx, 1
add dword [rsi + 0x3b0], ecx
movsxd rcx, eax
lea rcx, [rcx*2 + 2]
mov rdx, qword [0x140124070]
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov r12, rax
xor r13d, r13d
mov esi, r13d
cmp byte [rbx], r13b
je 0x1400323da
mov r15, rax
mov r14d, dword [rsp + 0x64]
lea edi, [r13 + 1]
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.140002bf4
movsxd rcx, eax
add rbx, rcx
cmp dword [rsp + 0x78], r13d
je 0x1400323cf
mov edx, r14d
lea rcx, [rsp + 0x78]
call fcn.140030ac8
test al, al
je 0x1400323ca
movzx eax, word [rsp + 0x78]
mov word [r15], ax
add esi, edi
add r15, 2
cmp byte [rbx], r13b
jne 0x14003238d
mov rdi, qword [rbp + 0xa0]
mov r14, qword [rbp - 0x28]
movsxd rax, esi
mov word [r12 + rax*2], r13w
test esi, esi
jle 0x14003244b
lea rbx, [rdi + 0x4c]
mov rdx, rbx
mov rcx, rdi
call fcn.14002faf0
mov rcx, rdi
call fcn.14002fbac
mov r9d, esi
mov r8, r12
mov edx, dword [rbx]
mov rcx, rdi
call fcn.14002f710
test al, al
je 0x14003242a
lea rcx, [rbx + 0x20]
mov r9d, esi
xor r8d, r8d
mov edx, dword [rbx]
call fcn.1400306cc
add dword [rbx], esi
mov byte [rbx + 0x16], r13b
jmp 0x140032440
movzx eax, word [rbx + 0xe1e]
test ax, ax
je 0x140032440
dec ax
mov word [rbx + 0xe1e], ax
mov eax, 1
mov byte [rdi + 0xe7c], al
mov rcx, r12
call fcn.1400050ac
jmp 0x140031d6b
xor r11d, r11d
cmp qword [r14 + 0x110], r11
je 0x1400324f6
mov eax, dword [rdi + 0x50]
mov ecx, dword [rdi + 0x54]
cmp eax, ecx
je 0x14003247c
mov edx, ecx
cmovge edx, eax
cmovl ecx, eax
jmp 0x140032482
mov edx, dword [rdi + 4]
mov ecx, r11d
movsxd r12, edx
mov rax, qword [rdi + 0x18]
movsxd r13, ecx
lea rdx, [rax + r12*2]
lea rcx, [rax + r13*2]
call fcn.140002f6c
mov r15d, eax
mov eax, 1
add r15d, eax
test rsi, rsi
je 0x1400324af
add dword [rsi + 0x3b0], eax
movsxd rcx, r15d
mov rdx, qword [0x140124070]
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov rbx, rax
mov rcx, qword [rdi + 0x18]
lea r9, [rcx + r12*2]
lea r8, [rcx + r13*2]
mov edx, r15d
mov rcx, rax
call fcn.140002e94
mov rcx, rbx
call fcn.1400050d0
mov rcx, rbx
call fcn.1400050ac
mov rsi, qword [0x140124080]
mov al, byte [rsp + 0x55]
xor r11d, r11d
test al, al
je 0x140031d75
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
jne 0x140032517
mov dword [rdi + 0x50], r11d
mov eax, dword [rdi + 4]
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x4c], eax
mov byte [rdi + 0x62], r11b
mov r8d, 1
mov byte [rdi + 0xe7c], r8b
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
je 0x140031d7b
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call fcn.14002fbac
xor r11d, r11d
mov byte [rdi + 0x62], r11b
mov rsi, qword [0x140124080]
jmp 0x140031d75
movzx edx, r9b
xor edx, 1
add edx, 0x20000a
mov rcx, rdi
call fcn.140030a9c
mov eax, dword [rdi + 0x4c]
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x50], eax
jmp 0x140031d6b
mov r10d, dword [rsp + 0x64]
cmp byte [rsp + 0x60], r11b
jne 0x1400325df
mov eax, 1
mov byte [rdi + 0x40], al
mov eax, dword [rdi + 0x10]
lea ebx, [rax*4 + 1]
mov ecx, dword [rdi + 0x24]
cmp ebx, ecx
jle 0x1400325c2
test ecx, ecx
je 0x1400325a6
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400325ab
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
lea rcx, [rdi + 0x20]
call fcn.14001cae4
mov rsi, qword [0x140124080]
mov dword [rdi + 0x20], ebx
xor r9d, r9d
mov r8, qword [rdi + 0x18]
mov edx, ebx
mov rcx, qword [rdi + 0x28]
call fcn.140002e94
mov r10d, dword [rsp + 0x64]
xor r11d, r11d
test r10d, 0x801c0
je 0x1400327e2
mov r9d, reloc.WLDAP32.dll_Ordinal_22
lea r8d, [r9 + 0x2a]
test r8b, r10b
je 0x140032610
mov ecx, dword [rsi + 0x3c]
test ecx, ecx
js 0x140032610
call fcn.140008d70
test al, al
je 0x140032610
mov r9d, r11d
jmp 0x14003266c
mov r8d, 0x80
test r8b, r10b
je 0x140032649
mov ecx, dword [rsi + 0x48]
test ecx, ecx
js 0x140032631
call fcn.140008d70
test al, al
je 0x140032631
lea r9d, [r8 - 0x7d]
jmp 0x14003266c
mov ecx, dword [rsi + 0x4c]
test ecx, ecx
js 0x140032649
call fcn.140008d70
test al, al
je 0x140032649
mov r9d, 4
jmp 0x14003266c
mov r8d, 0x80000
test r8d, r10d
je 0x14003265d
cmp byte [rdi + 0xe7e], r11b
jne 0x14003266c
mov r8d, 0x100
test r8d, r10d
je 0x1400327e2
mov dword [rbp + 0x30], r11d
mov word [rbp + 0x49], r11w
mov byte [rbp + 0x4b], r11b
mov dword [rbp + 0x20], r8d
mov dword [rbp + 0x24], r10d
mov qword [rbp + 0x28], r11
mov dword [rbp + 0x34], r9d
mov rax, qword [rdi + 0x28]
mov qword [rbp + 0x38], rax
mov eax, dword [rdi + 8]
mov dword [rbp + 0x40], eax
mov eax, dword [rdi + 0x44]
mov dword [rbp + 0x44], eax
mov byte [rbp + 0x48], r11b
mov r11, qword [rdi + 0x18]
movsxd rax, dword [rdi + 0x4c]
lea rdx, [r11 + rax*2]
mov rcx, r11
call fcn.140002f6c
mov ebx, eax
mov dword [rbp + 0x4c], eax
movsxd rcx, dword [rdi + 0x50]
lea rdx, [r11 + rcx*2]
mov rcx, r11
call fcn.140002f6c
mov esi, eax
mov dword [rbp + 0x50], eax
movsxd rcx, dword [rdi + 0x54]
lea rdx, [r11 + rcx*2]
mov rcx, r11
call fcn.140002f6c
mov r15d, eax
mov dword [rbp + 0x54], eax
lea rcx, [rbp + 0x20]
xor eax, eax
call rax
cmp dword [rbp + 0x4c], ebx
je 0x140032710
movsxd rdx, dword [rbp + 0x4c]
mov rcx, qword [rbp + 0x38]
add rdx, rcx
call fcn.140002e38
mov dword [rdi + 0x4c], eax
mov eax, 1
mov byte [rdi + 0xe7c], al
cmp dword [rbp + 0x50], esi
je 0x140032728
movsxd rdx, dword [rbp + 0x50]
mov rcx, qword [rbp + 0x38]
add rdx, rcx
call fcn.140002e38
mov dword [rdi + 0x50], eax
cmp dword [rbp + 0x54], r15d
je 0x140032741
movsxd rdx, dword [rbp + 0x54]
mov rcx, qword [rbp + 0x38]
add rdx, rcx
call fcn.140002e38
mov dword [rdi + 0x54], eax
xor r11d, r11d
mov r15d, dword [rbp - 0x70]
cmp byte [rbp + 0x48], r11b
je 0x1400327d4
mov ebx, dword [rbp + 0x40]
mov eax, dword [rbp - 0x50]
cmp ebx, eax
jle 0x140032798
test r15b, r15b
je 0x140032798
lea rsi, [rdi + 0x10]
sub ebx, eax
add ebx, dword [rsi]
mov ecx, dword [rsi + 4]
cmp ebx, ecx
jle 0x140032796
test ecx, ecx
je 0x14003277f
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140032784
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
mov rcx, rsi
call fcn.14001cb58
xor r11d, r11d
mov dword [rsi], ebx
mov qword [rsp + 0x20], r11
xor r9d, r9d
mov r8, qword [rbp + 0x38]
mov edx, dword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
call fcn.140002d94
mov dword [rdi + 4], eax
mov eax, dword [rbp + 0x40]
mov dword [rdi + 8], eax
mov dword [rdi + 0xe78], 0xbe99999a
mov rsi, qword [0x140124080]
mov r10d, dword [rsp + 0x64]
xor r11d, r11d
jmp 0x1400327e6
mov rsi, qword [0x140124080]
mov r10d, dword [rsp + 0x64]
jmp 0x1400327e6
mov r15d, dword [rbp - 0x70]
mov r9, qword [rbp - 0x68]
cmp byte [rsp + 0x60], r11b
jne 0x140031eff
mov rax, qword [rdi + 0x28]
mov r8, r9
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140032812
inc rax
test ecx, ecx
jne 0x1400327ff
test edx, edx
je 0x140031eff
mov r12, qword [rdi + 0x28]
mov r13d, dword [rdi + 8]
jmp 0x140031eff
mov ecx, dword [rbp - 0x40]
lea eax, [r13 + 1]
cmp eax, ecx
cmovl ecx, eax
movsxd rbx, ecx
mov eax, 1
cmp rbx, rax
jb 0x140032869
jbe 0x140032864
lea r8, [rbx - 1]
mov rdx, r12
mov rcx, r9
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov rsi, qword [0x140124080]
mov r9, qword [rbp - 0x68]
xor r11d, r11d
lea eax, [r11 + 1]
mov byte [rbx + r9 - 1], r11b
mov byte [rsp + 0x6a], al
mov dword [rdi + 0xe80], r11d
mov qword [rdi + 0xe88], r11
mov qword [rdi + 0xe90], r11
mov r13d, dword [rbp - 0x60]
cmp byte [rsp + 0x5c], r11b
je 0x14003289f
cmp dword [r14 + 0x1be8], r13d
jne 0x14003289f
xor edx, edx
xor ecx, ecx
call fcn.140004bc0
movzx r12d, r11b
cmp byte [rsp + 0x68], r11b
mov ebx, 1
cmovne r12d, ebx
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1401244cc], eax
jle 0x140032935
lea rcx, [0x1401244cc]
call fcn.14009bf00
cmp dword [0x1401244cc], 0xffffffff
jne 0x14003292b
xor eax, eax
mov qword [0x1401244f8], rax
mov qword [0x140124500], rax
lea ecx, [rbx + 0x2f]
call fcn.14009c4fc
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x1401244f8], rax
lea rcx, [0x14009e468]
call fcn.14009c4e4
nop
lea rcx, [0x1401244cc]
call fcn.14009bea0
xor r11d, r11d
mov rsi, qword [0x140124080]
mov r15, qword [0x1401244f8]
mov rax, qword [r15 + 8]
mov rbx, r15
mov dl, byte [rax + 0x19]
test dl, dl
jne 0x140032965
mov rcx, rax
cmp dword [rcx + 0x1c], r13d
jae 0x140032959
mov rcx, qword [rcx + 0x10]
jmp 0x14003295f
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], r11b
je 0x14003294d
cmp byte [rbx + 0x19], r11b
jne 0x140032971
cmp r13d, dword [rbx + 0x1c]
jae 0x140032974
mov rbx, r15
cmp rbx, r15
jne 0x140032a8a
mov dword [rbp + 0x90], r13d
and qword [rbp + 0x94], 0
mov dword [rbp + 0x9c], r11d
mov qword [rbp - 0x18], rax
mov dword [rbp - 0x10], r11d
mov rcx, r15
test dl, dl
jne 0x1400329d1
mov edi, 1
mov qword [rbp - 0x18], rax
cmp dword [rax + 0x1c], r13d
jae 0x1400329bb
mov dword [rbp - 0x10], r11d
mov rax, qword [rax + 0x10]
jmp 0x1400329c4
mov dword [rbp - 0x10], edi
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r11b
je 0x1400329a7
mov rdi, qword [rbp + 0xa0]
cmp byte [rcx + 0x19], r11b
jne 0x1400329dd
cmp r13d, dword [rcx + 0x1c]
jae 0x140032a5a
movabs rax, 0x555555555555555
cmp qword [0x140124500], rax
je 0x1400337a4
lea rbx, [0x1401244f8]
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], r11
mov ecx, Ordinal_50
call fcn.14009c4fc
nop
movups xmm0, xmmword [rbp + 0x90]
movdqu xmmword [rax + 0x1c], xmm0
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
xor ecx, ecx
mov word [rax + 0x18], cx
movups xmm0, xmmword [rbp - 0x18]
movdqu xmmword [rbp + 0x90], xmm0
mov r8, rax
lea rdx, [rbp + 0x90]
mov rcx, rbx
call fcn.140036fc0
mov rsi, qword [0x140124080]
mov r15, qword [0x1401244f8]
xor r11d, r11d
mov rax, qword [r15 + 8]
mov rbx, r15
jmp 0x140032a75
cmp dword [rax + 0x1c], r13d
jae 0x140032a6f
mov rax, qword [rax + 0x10]
jmp 0x140032a75
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r11b
je 0x140032a63
cmp byte [rbx + 0x19], r11b
jne 0x140032a87
cmp r13d, dword [rbx + 0x1c]
jae 0x140032a8a
mov rbx, r15
movss xmm14, dword [0x140116704]
test r12b, r12b
je 0x140032ab3
movaps xmm1, xmm14
subss xmm1, dword [rsi + 0x18]
addss xmm1, xmm1
movd xmm0, dword [rbx + 0x20]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
jmp 0x140032acc
movaps xmm0, xmm14
subss xmm0, dword [rsi + 0x18]
movd xmm1, dword [rbx + 0x20]
cvtdq2ps xmm1, xmm1
addss xmm0, xmm0
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [rbx + 0x20], eax
mov ecx, reloc.WS2_32.dll_sendto
cmp eax, ecx
jle 0x140032ae1
mov dword [rbx + 0x20], ecx
jmp 0x140032ae9
test eax, eax
jns 0x140032ae9
mov dword [rbx + 0x20], r11d
movss xmm6, dword [0x140116744]
test r12b, r12b
je 0x140032b11
movaps xmm1, xmm14
subss xmm1, dword [rsi + 0x18]
mulss xmm1, xmm6
movd xmm0, dword [rbx + 0x24]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
jmp 0x140032b2a
movd xmm1, dword [rbx + 0x24]
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm14
subss xmm0, dword [rsi + 0x18]
mulss xmm0, xmm6
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [rbx + 0x24], eax
cmp eax, 0x64
jle 0x140032b3f
mov dword [rbx + 0x24], 0x64
jmp 0x140032b47
test eax, eax
jns 0x140032b47
mov dword [rbx + 0x24], r11d
test r12b, r12b
je 0x140032b6b
movaps xmm1, xmm13
subss xmm1, dword [rsi + 0x18]
mulss xmm1, dword [0x140116764]
movd xmm0, dword [rbx + 0x28]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
jmp 0x140032b88
movd xmm1, dword [rbx + 0x28]
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm13
subss xmm0, dword [rsi + 0x18]
mulss xmm0, dword [0x140116764]
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [rbx + 0x28], eax
mov ecx, 0xff
cmp eax, ecx
jle 0x140032b9d
mov dword [rbx + 0x28], ecx
jmp 0x140032ba5
test eax, eax
jns 0x140032ba5
mov dword [rbx + 0x28], r11d
mov r15d, reloc.WS2_32.dll_ntohs
mov r11d, dword [rsp + 0x58]
xor ecx, ecx
test r11b, r11b
jne 0x140032cf7
lea esi, [rcx + 1]
mov r8d, esi
mov edx, r13d
lea rcx, [rbp + 0x10]
call fcn.1400040d4
mov rax, qword [0x140124080]
movdqu xmm0, xmmword [rax + 0x176c]
movups xmmword [rbp + 0x90], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1640]
movss dword [rbp + 0x9c], xmm0
lea rcx, [rbp + 0x90]
call fcn.140002fb4
mov r8d, eax
movss xmm5, dword [r14 + 0x1680]
movss dword [rsp + 0x20], xmm5
mov r9b, sil
mov rdx, qword [rbp + 0x18]
movaps xmm0, xmm8
unpcklps xmm0, xmm9
movsd qword [rbp + 0x10], xmm0
movq rcx, xmm0
call fcn.140003df8
movaps xmm0, xmmword [0x140116840]
movups xmmword [rbp + 0x90], xmm0
lea rcx, [rbp + 0x90]
call fcn.140002fb4
mov r9d, eax
movss dword [rsp + 0x30], xmm14
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm6
lea r8, [rbp + 0x18]
lea rdx, [rbp + 0x10]
mov r12, qword [rbp - 0x80]
mov rcx, qword [r12 + 0x318]
call fcn.140024afc
mov dword [rbp + 0x90], 0x3f70f0f2
mov dword [rbp + 0x94], 0x3f70f0f2
mov dword [rbp + 0x98], 0x3f70f0f2
movd xmm0, dword [rbx + 0x28]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x14011668c]
movss dword [rbp + 0x9c], xmm0
lea rcx, [rbp + 0x90]
call fcn.140002fb4
mov r9d, eax
movss dword [rsp + 0x30], xmm14
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm6
lea r8, [rbp + 0x18]
lea rdx, [rbp + 0x10]
mov rcx, qword [r12 + 0x318]
call fcn.140024afc
mov rsi, qword [0x140124080]
mov r11d, dword [rsp + 0x58]
xor ecx, ecx
jmp 0x140032cfb
mov r12, qword [rbp - 0x80]
movss dword [rbp + 0xb0], xmm8
movss dword [rbp + 0xb4], xmm9
movaps xmm0, xmm11
addss xmm0, xmm8
movss dword [rbp + 0xb8], xmm0
movaps xmm1, xmm9
addss xmm1, xmm12
movss dword [rbp + 0xbc], xmm1
test r11b, r11b
je 0x140032d49
movsd xmm0, qword [r12 + 0x118]
movsd qword [rbp - 0x28], xmm0
lea rax, [rbp - 0x28]
jmp 0x140032d6e
addss xmm8, dword [r14 + 0x1678]
movss dword [rbp - 0x40], xmm8
movaps xmm0, xmm9
addss xmm0, dword [r14 + 0x167c]
movss dword [rbp - 0x3c], xmm0
lea rax, [rbp - 0x40]
movsd xmm0, qword [rax]
movsd qword [rbp - 0x50], xmm0
and dword [rsp + 0x78], 0
movaps xmm5, xmm15
movss dword [rsp + 0x7c], xmm5
cmp byte [rsp + 0x69], cl
je 0x140032d96
mov r9, qword [rdi + 0x28]
mov qword [rbp - 0x68], r9
jmp 0x140032d9a
mov r9, qword [rbp - 0x68]
mov r15b, byte [rsp + 0x51]
mov r8b, byte [rsp + 0x52]
test r15b, r15b
jne 0x140032edf
test r8b, r8b
jne 0x140032edf
test r11b, r11b
je 0x140032e21
xor r13d, r13d
mov ecx, r13d
mov dl, byte [r9]
lea rbx, [r9 + 1]
test dl, dl
je 0x140032dec
lea r12d, [r13 + 1]
lea r8d, [r13 + 0xa]
lea eax, [rcx + 1]
cmp dl, r8b
cmovne eax, ecx
mov ecx, eax
mov dl, byte [rbx]
add rbx, r12
test dl, dl
jne 0x140032dd4
mov r12, qword [rbp - 0x80]
mov eax, 1
sub rbx, rax
lea edx, [rax + 9]
cmp byte [rbx], dl
je 0x140032e02
cmp byte [rbx], 0xd
je 0x140032e02
add ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r14 + 0x1a30]
movss dword [rsp + 0x78], xmm11
movss dword [rsp + 0x7c], xmm0
jmp 0x140032e5b
cmp dword [r14 + 0x1be8], r13d
jne 0x140032e36
movsxd rbx, dword [rdi + 8]
add rbx, r9
xor r13d, r13d
jmp 0x140032e49
or rbx, 0xffffffffffffffff
xor r13d, r13d
inc rbx
cmp byte [r9 + rbx], r13b
jne 0x140032e3d
add rbx, r9
mov rax, rbx
sub rax, r9
cmp rax, 0x200000
jge 0x1400336ce
movdqu xmm0, xmmword [rsi + 0x16fc]
movups xmmword [rbp + 0x90], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rsi + 0x1640]
movss dword [rbp + 0x9c], xmm0
lea r8, [rbp + 0xb0]
test r11b, r11b
cmovne r8, r13
lea rcx, [rbp + 0x90]
call fcn.140002fb4
mov qword [rsp + 0x40], r8
movss dword [rsp + 0x38], xmm15
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], r9
mov dword [rsp + 0x20], eax
lea r9, [rbp - 0x50]
movss xmm2, dword [r14 + 0x1a30]
mov rdx, qword [r14 + 0x1a28]
mov rcx, qword [r12 + 0x318]
call fcn.140024e10
mov rsi, qword [0x140124080]
jmp 0x1400336ce
movsxd rax, dword [rdi + 8]
mov qword [rbp - 0x28], rax
lea rbx, [r9 + rax]
mov qword [rsp + 0x70], rbx
mov r9, qword [rdi + 0x18]
mov qword [rbp - 0x70], r9
movaps xmm10, xmm15
movaps xmm9, xmm15
mov r10, rcx
mov r13, rcx
mov edx, 0xfffffc18
mov r12d, edx
test r15b, r15b
mov r15d, 1
je 0x140032f27
movsxd rax, dword [rdi + 0x4c]
lea r10, [r9 + rax*2]
or edx, 0xffffffff
mov ecx, r15d
test r8b, r8b
je 0x140032f43
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
cmovl eax, dword [rdi + 0x50]
cdqe
lea r13, [r9 + rax*2]
or r12d, 0xffffffff
add ecx, r15d
movzx eax, r11b
add ecx, eax
xor r11d, r11d
mov r15d, r11d
mov rax, r9
movzx r8d, word [r9]
test r8w, r8w
je 0x140032fa4
lea ebx, [r11 + 1]
cmp r8w, word [rbp - 0x58]
jne 0x140032f91
add r15d, ebx
cmp edx, 0xffffffff
jne 0x140032f7d
cmp rax, r10
jb 0x140032f7d
mov edx, r15d
sub ecx, ebx
test ecx, ecx
jle 0x140032f9f
cmp r12d, 0xffffffff
jne 0x140032f91
cmp rax, r13
jb 0x140032f91
mov r12d, r15d
sub ecx, ebx
test ecx, ecx
jle 0x140032f9f
add rax, 2
movzx r8d, word [rax]
test r8w, r8w
jne 0x140032f60
mov rbx, qword [rsp + 0x70]
inc r15d
mov eax, r15d
cmp edx, 0xffffffff
cmovne eax, edx
mov dword [rbp - 0x58], eax
cmp r12d, 0xffffffff
cmove r12d, r15d
mov rdx, r10
cmp r10, r9
jbe 0x140032fd9
mov ecx, 0xa
lea rax, [rdx - 2]
cmp word [rax], cx
je 0x140032fd9
mov rdx, rax
cmp rax, r9
ja 0x140032fc8
mov byte [rsp + 0x28], r11b
xor r9d, r9d
mov r8, r10
lea rcx, [rbp - 0x60]
call fcn.14002f45c
movss xmm6, dword [rax]
movss dword [rbp - 0x40], xmm6
movss xmm0, dword [r14 + 0x1a30]
movd xmm8, dword [rbp - 0x58]
cvtdq2ps xmm8, xmm8
mulss xmm8, xmm0
movss dword [rbp - 0x58], xmm8
xor r8d, r8d
test r12d, r12d
js 0x14003306e
mov rdx, r13
mov rcx, qword [rbp - 0x70]
cmp r13, rcx
jbe 0x14003303e
lea r9d, [r8 + 0xa]
lea rax, [rdx - 2]
cmp word [rax], r9w
je 0x14003303e
mov rdx, rax
cmp rax, rcx
ja 0x14003302c
mov byte [rsp + 0x28], r8b
xor r9d, r9d
mov r8, r13
lea rcx, [rbp + 0x10]
call fcn.14002f45c
movss xmm9, dword [rax]
movss xmm0, dword [r14 + 0x1a30]
movd xmm10, r12d
cvtdq2ps xmm10, xmm10
mulss xmm10, xmm0
mov r11d, dword [rsp + 0x58]
xor r13d, r13d
test r11b, r11b
je 0x140033094
movss dword [rsp + 0x78], xmm11
movd xmm5, r15d
cvtdq2ps xmm5, xmm5
mulss xmm5, xmm0
movss dword [rsp + 0x7c], xmm5
mov r12b, byte [rsp + 0x51]
test r12b, r12b
je 0x1400331ac
cmp byte [rdi + 0xe7c], r13b
je 0x1400331ac
test dword [rsp + 0x64], 0x1000
jne 0x140033103
movaps xmm2, xmm11
mulss xmm2, dword [0x1401166b0]
movss xmm1, dword [rdi + 0x48]
comiss xmm1, xmm6
jbe 0x1400330e0
movaps xmm1, xmm6
subss xmm1, xmm2
movaps xmm0, xmm15
maxss xmm0, xmm1
jmp 0x1400330f1
movaps xmm0, xmm6
subss xmm0, xmm11
comiss xmm0, xmm1
jb 0x140033107
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x48], xmm0
jmp 0x140033107
mov dword [rdi + 0x48], r13d
test r11b, r11b
je 0x14003319e
movaps xmm0, xmm8
subss xmm0, dword [r14 + 0x1a30]
comiss xmm7, xmm0
jbe 0x14003312c
movaps xmm7, xmm15
maxss xmm7, xmm0
jmp 0x14003314b
movaps xmm0, xmm8
subss xmm0, xmm12
comiss xmm0, xmm7
jb 0x14003314b
movss xmm7, dword [r14 + 0x167c]
addss xmm7, xmm7
addss xmm7, xmm0
movss xmm1, dword [r14 + 0x167c]
comiss xmm15, xmm7
jbe 0x140033160
movaps xmm1, xmm15
jmp 0x140033176
addss xmm1, xmm1
addss xmm1, xmm5
subss xmm1, xmm12
maxss xmm1, xmm15
minss xmm1, xmm7
mov rax, qword [rbp - 0x80]
movss xmm0, dword [rax + 0x90]
subss xmm0, xmm1
movss xmm7, dword [rbp - 0x4c]
addss xmm7, xmm0
movss dword [rbp - 0x4c], xmm7
movss dword [rax + 0x90], xmm1
jmp 0x1400331a3
movss xmm7, dword [rbp - 0x4c]
mov byte [rdi + 0xe7c], r13b
jmp 0x1400331b1
movss xmm7, dword [rbp - 0x4c]
movss xmm11, dword [rdi + 0x48]
movss xmm12, dword [rbp - 0x50]
cmp byte [rsp + 0x52], r13b
je 0x140033476
mov edx, dword [rdi + 0x54]
mov ecx, dword [rdi + 0x50]
mov eax, edx
cmp ecx, edx
cmovl eax, ecx
cdqe
mov r8, qword [rbp - 0x70]
lea r10, [r8 + rax*2]
cmovge edx, ecx
movsxd rax, edx
lea r15, [r8 + rax*2]
test r12b, r12b
je 0x1400331f4
movaps xmm1, xmm14
jmp 0x1400331fc
movss xmm1, dword [0x1401166cc]
movdqu xmm0, xmmword [rsi + 0x19bc]
movups xmmword [rbp + 0x90], xmm0
mulss xmm1, dword [rsi + 0x1640]
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm1
movss dword [rbp + 0x9c], xmm0
lea rcx, [rbp + 0x90]
call fcn.140002fb4
mov r12d, eax
mov al, byte [rsp + 0x53]
mov byte [rsp + 0x53], al
test r11b, r11b
je 0x14003324b
movaps xmm13, xmm15
movss dword [rbp - 0x38], xmm15
jmp 0x140033254
movss xmm13, dword [0x140116724]
addss xmm9, xmm12
subss xmm9, xmm11
addss xmm10, xmm7
subss xmm10, xmm15
mov qword [rbp - 0x70], r10
cmp r10, r15
jae 0x140033468
movss xmm0, dword [r14 + 0x1a30]
movss xmm6, dword [0x1401166c4]
movss xmm8, dword [rbp - 0x38]
mov rbx, qword [rbp - 0x80]
mov esi, reloc.WS2_32.dll_ntohs
lea edi, [rsi - 0xe]
addss xmm0, dword [rbp + 0xbc]
comiss xmm10, xmm0
ja 0x140033445
movss xmm0, dword [rbp + 0xb4]
comiss xmm0, xmm10
jbe 0x1400332e5
cmp r10, r15
jae 0x140033425
mov ecx, 0xa
movzx eax, word [r10]
add r10, 2
mov qword [rbp - 0x70], r10
cmp ax, cx
je 0x140033425
cmp r10, r15
jb 0x1400332c6
jmp 0x140033425
mov byte [rsp + 0x28], dil
lea r9, [rbp - 0x70]
mov r8, r15
mov rdx, r10
lea rcx, [rbp - 0x38]
call fcn.14002f45c
movss xmm5, dword [rbp - 0x38]
comiss xmm15, xmm5
jb 0x14003333b
mov rax, qword [r14 + 0x1a28]
cmp dword [rax], 0x20
jle 0x140033322
mov rax, qword [rax + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x140033327
movss xmm0, dword [rax + 0x10]
mulss xmm0, xmm6
cvttss2si eax, xmm0
movd xmm5, eax
cvtdq2ps xmm5, xmm5
movss dword [rbp - 0x38], xmm5
movaps xmm2, xmm9
addss xmm2, xmm5
movaps xmm0, xmm10
addss xmm0, xmm13
addss xmm9, xmm15
movaps xmm1, xmm8
subss xmm1, dword [r14 + 0x1a30]
addss xmm1, xmm10
maxss xmm9, dword [rbp + 0xb0]
maxss xmm1, dword [rbp + 0xb4]
movss dword [rbp + 0x90], xmm9
movss dword [rbp + 0x94], xmm1
movss xmm4, dword [rbp + 0xb8]
minss xmm2, xmm4
movss xmm3, dword [rbp + 0xbc]
minss xmm0, xmm3
movss dword [rbp + 0x98], xmm2
movss dword [rbp + 0x9c], xmm0
comiss xmm0, dword [rbp + 0xb4]
jbe 0x1400333f9
comiss xmm3, xmm1
jbe 0x1400333f9
comiss xmm2, dword [rbp + 0xb0]
jbe 0x1400333f9
comiss xmm4, xmm9
jbe 0x1400333f9
movss dword [rsp + 0x30], xmm14
mov dword [rsp + 0x28], esi
movss dword [rsp + 0x20], xmm15
mov r9d, r12d
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0x90]
mov rcx, qword [rbx + 0x318]
call fcn.140024afc
mov dword [rsp + 0x28], esi
movss dword [rsp + 0x20], xmm15
mov r9d, r12d
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0x90]
mov rcx, qword [rbx + 0x318]
call fcn.140024be8
mov r10, qword [rbp - 0x70]
movaps xmm9, xmm12
subss xmm9, xmm11
movss xmm0, dword [r14 + 0x1a30]
addss xmm10, xmm0
cmp r10, r15
jb 0x140033298
mov rsi, qword [0x140124080]
movss xmm6, dword [rbp - 0x40]
movss xmm8, dword [rbp - 0x58]
mov rdi, qword [rbp + 0xa0]
mov rbx, qword [rsp + 0x70]
mov r11d, dword [rsp + 0x58]
mov r12b, byte [rsp + 0x51]
movss xmm13, dword [0x1401166c4]
test r11b, r11b
jne 0x140033489
cmp qword [rbp - 0x28], 0x200000
jge 0x140033535
movdqu xmm0, xmmword [rsi + 0x16fc]
movups xmmword [rbp + 0x90], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rsi + 0x1640]
movss dword [rbp + 0x9c], xmm0
movaps xmm0, xmm12
subss xmm0, xmm11
movss dword [rbp + 0xa0], xmm0
movaps xmm1, xmm7
subss xmm1, xmm15
movss dword [rbp + 0xa4], xmm1
lea r8, [rbp + 0xb0]
test r11b, r11b
cmovne r8, r13
lea rcx, [rbp + 0x90]
call fcn.140002fb4
mov qword [rsp + 0x40], r8
movss dword [rsp + 0x38], xmm15
mov qword [rsp + 0x30], rbx
mov rcx, qword [rbp - 0x68]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0xa0]
movss xmm2, dword [r14 + 0x1a30]
mov rdx, qword [r14 + 0x1a28]
mov r15, qword [rbp - 0x80]
mov rcx, qword [r15 + 0x318]
call fcn.140024e10
mov rsi, qword [0x140124080]
jmp 0x140033539
mov r15, qword [rbp - 0x80]
test r12b, r12b
je 0x1400336c2
movss xmm0, dword [r14 + 0x18]
addss xmm0, dword [rdi + 0xe78]
movss dword [rdi + 0xe78], xmm0
cmp byte [r14 + 0xd2], r13b
je 0x140033586
comiss xmm15, xmm0
jae 0x140033586
movss xmm1, dword [0x14011670c]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movss xmm1, dword [0x1401166ec]
comiss xmm1, xmm0
jae 0x140033586
mov al, r13b
jmp 0x14003358b
mov eax, 1
addss xmm6, xmm12
subss xmm6, xmm11
addss xmm8, xmm7
subss xmm8, xmm15
movss dword [rbp + 0x90], xmm6
movaps xmm1, xmm8
subss xmm1, dword [r14 + 0x1a30]
addss xmm1, xmm13
movss dword [rbp + 0x94], xmm1
movaps xmm3, xmm6
addss xmm3, xmm14
movss dword [rbp + 0x98], xmm3
movaps xmm2, xmm8
subss xmm2, dword [0x14011671c]
movss dword [rbp + 0x9c], xmm2
test al, al
je 0x14003367e
comiss xmm2, dword [rbp + 0xb4]
jbe 0x14003367e
movss xmm0, dword [rbp + 0xbc]
comiss xmm0, xmm1
jbe 0x14003367e
comiss xmm3, dword [rbp + 0xb0]
jbe 0x14003367e
movss xmm0, dword [rbp + 0xb8]
comiss xmm0, xmm6
jbe 0x14003367e
movdqu xmm0, xmmword [rsi + 0x16fc]
movups xmmword [rbp - 0x28], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rsi + 0x1640]
movss dword [rbp - 0x1c], xmm0
movss dword [rbp + 0xa0], xmm6
movss dword [rbp + 0xa4], xmm2
lea rcx, [rbp - 0x28]
call fcn.140002fb4
mov r9d, eax
movss dword [rsp + 0x20], xmm14
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x90]
mov rcx, qword [r15 + 0x318]
call fcn.1400249ac
mov rsi, qword [0x140124080]
movss xmm9, dword [rbp - 0x48]
movss xmm10, dword [rbp - 0x44]
cmp byte [rsp + 0x60], r13b
jne 0x1400336ce
subss xmm6, xmm14
subss xmm8, dword [r14 + 0x1a30]
movss dword [r14 + 0x2f60], xmm6
movss dword [r14 + 0x2f64], xmm8
mov rax, qword [rbp]
mov rax, qword [rax + 0x30]
mov qword [r14 + 0x2f70], rax
jmp 0x1400336ce
movss xmm9, dword [rbp - 0x48]
movss xmm10, dword [rbp - 0x44]
mov edi, dword [rbp - 0x78]
test dil, dil
je 0x1400336e2
call fcn.14000e488
mov rsi, qword [0x140124080]
cmp byte [rsp + 0x58], r13b
je 0x140033704
lea rcx, [rsp + 0x78]
call fcn.14002ea24
call fcn.140009114
call fcn.14000eed8
mov rsi, qword [0x140124080]
cmp byte [r14 + 0x3000], r13b
je 0x140033729
test dil, dil
jne 0x140033729
mov r8, rbx
mov rdx, qword [rbp - 0x68]
lea rcx, [rbp - 0x50]
call fcn.14001362c
mov rsi, qword [0x140124080]
comiss xmm10, xmm15
jbe 0x140033768
movss xmm0, dword [rbp - 0x30]
addss xmm0, dword [r14 + 0x1690]
addss xmm9, dword [r14 + 0x167c]
mov r9d, 1
xor r8d, r8d
mov rdx, qword [rbp + 8]
unpcklps xmm0, xmm9
movq rcx, xmm0
call fcn.1400035b0
mov rsi, qword [0x140124080]
movzx edx, byte [rsp + 0x6a]
mov ecx, dword [rsp + 0x64]
test dl, dl
je 0x140033792
bt ecx, 0x15
jb 0x140033792
mov word [rsi + 0x1bf8], 0x101
mov rax, qword [rsi + 0x1b90]
or dword [rax + 0x160], 4
test cl, 0x20
mov eax, edx
movzx ecx, byte [rsp + 0x53]
cmovne eax, ecx
jmp 0x140030eee
call fcn.14002c59c
int3