Function at 0x140093900
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov byte [rax + 0x20], r9b
mov byte [rax + 0x18], r8b
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x47]
sub rsp, 0x100
cmp byte [rcx + 0xd2], 0
movzx r14d, r9b
mov rsi, qword [0x1402ef918]
mov r13, rdx
mov r15d, dword [rcx + 0xc]
mov rdi, rcx
vmovaps xmmword [rax - 0x48], xmm6
vmovaps xmmword [rax - 0x58], xmm7
vmovaps xmmword [rax - 0x68], xmm8
vmovss xmm8, dword [rcx + 0x8c]
vmovaps xmmword [rax - 0x78], xmm9
vmovss xmm9, dword [rbp + 0x7f]
vmovaps xmmword [rax - 0xb8], xmm13
movzx eax, r8b
vmovss xmm13, dword [rcx + 0x88]
mov byte [rcx + 0xd4], 0
je 0x140093b2e
vmovss xmm7, dword [rsi + 0x167c]
vmovss dword [rsi + 0x167c], xmm8
test al, al
je 0x1400939a5
cmp byte [rsi + 0x1fa6], 0
mov eax, 0x174
je 0x1400939aa
mov eax, 0x184
mov rbx, qword [0x1402ef918]
lea rcx, [rsp + 0x60]
vmovsd xmm1, qword [rdx + 8]
vmovsd qword [rbp + 0x4f], xmm1
vmovups xmm0, xmmword [rax + rbx + 0x1638]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rbx + 0x1638]
vmovss dword [rsp + 0x6c], xmm0
vmovsd xmm0, qword [rdx]
vmovsd qword [rsp + 0x48], xmm0
mov rdi, qword [rbx + 0x1d18]
call fcn.14007ef50
mov rcx, qword [rdi + 0x2f8]
lea r8, [rbp + 0x4f]
xor r12d, r12d
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x28], r12d
mov r9d, eax
vmovss dword [rsp + 0x20], xmm13
call fcn.14009da60
vmovss xmm6, dword [rbx + 0x167c]
vxorps xmm0, xmm0, xmm0
vcomiss xmm6, xmm0
jbe 0x140093b21
vmovss xmm3, dword [0x1401b611c]
mov rax, qword [0x1402ef918]
lea rcx, [rsp + 0x60]
vaddss xmm1, xmm3, dword [rbp + 0x53]
vaddss xmm2, xmm3, dword [rsp + 0x48]
vmovups xmm0, xmmword [rax + 0x175c]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x1638]
vmovss dword [rsp + 0x6c], xmm0
vaddss xmm0, xmm3, dword [rbp + 0x4f]
vmovss dword [rsp + 0x50], xmm0
vaddss xmm0, xmm3, dword [rsp + 0x4c]
vmovss dword [rsp + 0x5c], xmm0
vmovss dword [rsp + 0x54], xmm1
vmovss dword [rsp + 0x58], xmm2
call fcn.14007ef50
mov rcx, qword [rdi + 0x2f8]
lea r8, [rsp + 0x50]
vmovss dword [rsp + 0x30], xmm6
mov r9d, eax
mov dword [rsp + 0x28], r12d
lea rdx, [rsp + 0x58]
vmovss dword [rsp + 0x20], xmm13
call fcn.14009d950
mov rax, qword [0x1402ef918]
lea rcx, [rsp + 0x60]
vmovups xmm0, xmmword [rax + 0x174c]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x1638]
vmovss dword [rsp + 0x6c], xmm0
call fcn.14007ef50
mov rcx, qword [rdi + 0x2f8]
lea r8, [rbp + 0x4f]
vmovss dword [rsp + 0x30], xmm6
mov r9d, eax
mov dword [rsp + 0x28], r12d
lea rdx, [rsp + 0x48]
vmovss dword [rsp + 0x20], xmm13
call fcn.14009d950
vmovss dword [rsi + 0x167c], xmm7
jmp 0x14009436d
xor r12d, r12d
vmovaps xmmword [rsp + 0xb0], xmm10
vxorps xmm10, xmm10, xmm10
test r15b, r15b
js 0x140093d03
xor bl, bl
cmp byte [rsi + 0x20d4], bl
je 0x140093ba0
mov eax, dword [rsi + 0x1c90]
sub eax, dword [rsi + 0x214c]
cmp eax, 1
jg 0x140093ba0
cmp byte [rsi + 0xca], bl
je 0x140093ba0
cmp dword [rsi + 0x20fc], 0xffffffff
je 0x140093ba0
lea rdx, [rsi + 0x2100]
lea rcx, str._IMWINDOW
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x140093ba0
mov rax, qword [rsi + 0x20e8]
movzx ebx, bl
cmp qword [rax], rdi
mov eax, 1
cmove ebx, eax
test r15d, 0x6000000
je 0x140093bb0
mov ecx, 0x104
jmp 0x140093bc4
mov rcx, r15
and ecx, 0x1000000
or rcx, 0xe400000
shr rcx, 0x14
mov rax, qword [0x1402ef918]
vmovups xmm0, xmmword [rax + rcx + 0x1638]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x1638]
lea rcx, [rsp + 0x60]
vmovss dword [rsp + 0x6c], xmm0
call fcn.14007ef50
mov r14d, eax
cmp byte [rdi + 0xce], r12b
je 0x140093c26
or r14d, 0xff000000
test bl, bl
je 0x140093c8c
mov rcx, qword [rdi + 0x38]
vmovss xmm0, dword [rcx + 0x78]
vmulss xmm0, xmm0, dword [0x1401b60ec]
vmovss dword [rcx + 0x78], xmm0
jmp 0x140093c8c
mov eax, dword [rsi + 0x1dc0]
vmovss xmm1, dword [0x1401b611c]
vmovaps xmm0, xmm1
and eax, 0x40
je 0x140093c45
vmovss xmm0, dword [rsi + 0x1e20]
vmovss xmm2, dword [0x1401b60ec]
test bl, bl
je 0x140093c57
vmulss xmm0, xmm0, xmm2
jmp 0x140093c5b
test eax, eax
je 0x140093c8c
vcomiss xmm10, xmm0
jbe 0x140093c67
vxorps xmm1, xmm1, xmm1
jmp 0x140093c6b
vminss xmm1, xmm1, xmm0
vmulss xmm0, xmm1, dword [0x1401b6180]
mov eax, r14d
vaddss xmm1, xmm0, xmm2
vcvttss2si ecx, xmm1
shl ecx, 0x18
and eax, 0xffffff
mov r14d, ecx
or r14d, eax
vmovss xmm7, dword [rdi + 0x50]
vaddss xmm0, xmm7, dword [rdi + 0x58]
vmovss xmm6, dword [rdi + 0x54]
vmovss dword [rbp + 0x4f], xmm0
vaddss xmm0, xmm6, dword [rdi + 0x5c]
mov rcx, rdi
vmovss dword [rbp + 0x53], xmm0
call fcn.1400967b0
mov rcx, qword [rdi + 0x2f8]
lea r8, [rbp + 0x4f]
mov eax, 0xc0
lea rdx, [rsp + 0x58]
vaddss xmm1, xmm7, xmm10
vaddss xmm0, xmm6, xmm0
mov ebx, r15d
mov r9d, r14d
and ebx, 1
vmovss dword [rsp + 0x58], xmm1
cmovne eax, r12d
mov dword [rsp + 0x28], eax
vmovss dword [rsp + 0x20], xmm13
vmovss dword [rsp + 0x5c], xmm0
call fcn.14009da60
movzx eax, byte [rbp + 0x5f]
movzx r14d, byte [rbp + 0x67]
jmp 0x140093d09
mov ebx, r15d
and ebx, 1
test ebx, ebx
jne 0x140093d73
test byte [rdi + 0x429], 1
jne 0x140093d73
mov rcx, qword [0x1402ef918]
movzx eax, al
add rax, rax
vmovups xmm0, xmmword [rcx + rax*8 + 0x179c]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rcx + 0x1638]
lea rcx, [rsp + 0x60]
vmovss dword [rsp + 0x6c], xmm0
call fcn.14007ef50
mov rcx, qword [rdi + 0x2f8]
lea r8, [r13 + 8]
mov r9d, eax
mov dword [rsp + 0x28], Ordinal_50
mov rdx, r13
vmovss dword [rsp + 0x20], xmm13
call fcn.14009da60
vmovaps xmmword [rsp + 0xa0], xmm11
vmovaps xmmword [rsp + 0x90], xmm12
bt r15d, 0xa
jae 0x140093f78
mov edx, dword [rdi + 0xc]
mov rax, qword [0x1402ef918]
test dl, 1
je 0x140093da5
vxorps xmm0, xmm0, xmm0
jmp 0x140093de1
vmovss xmm0, dword [rax + 0x1a84]
mov rcx, qword [rdi + 0x3c8]
vmulss xmm1, xmm0, dword [rdi + 0x2e8]
vmulss xmm2, xmm1, dword [rdi + 0x2ec]
test rcx, rcx
je 0x140093dd1
vmulss xmm2, xmm2, dword [rcx + 0x2e8]
vmovss xmm0, dword [rax + 0x1674]
vaddss xmm1, xmm0, xmm0
vaddss xmm0, xmm1, xmm2
vmovss xmm5, dword [rdi + 0x54]
vaddss xmm6, xmm5, xmm0
bt edx, 0xa
jae 0x140093e36
vmovss xmm0, dword [rax + 0x1a84]
mov rcx, qword [rdi + 0x3c8]
vmulss xmm1, xmm0, dword [rdi + 0x2e8]
vmulss xmm2, xmm1, dword [rdi + 0x2ec]
test rcx, rcx
je 0x140093e1c
vmulss xmm2, xmm2, dword [rcx + 0x2e8]
vmovss xmm0, dword [rax + 0x1674]
vaddss xmm1, xmm2, dword [rdi + 0x1a0]
vaddss xmm0, xmm0, xmm0
vaddss xmm4, xmm1, xmm0
jmp 0x140093e3a
vxorps xmm4, xmm4, xmm4
vmovss xmm3, dword [rdi + 0x50]
vaddss xmm0, xmm5, dword [rdi + 0x5c]
vaddss xmm2, xmm3, dword [rdi + 0x60]
vaddss xmm1, xmm4, xmm6
vminss xmm7, xmm1, xmm0
vaddss xmm0, xmm3, dword [rdi + 0x58]
vminss xmm12, xmm2, xmm0
vmovups xmm0, xmmword [rax + 0x17cc]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x1638]
vmovss dword [rsp + 0x6c], xmm0
vsubss xmm0, xmm7, xmm10
vmovss dword [rbp + 0x53], xmm0
vmaxss xmm0, xmm6, xmm5
vsubss xmm1, xmm12, xmm8
vmovss dword [rbp + 0x4f], xmm1
vaddss xmm0, xmm0, xmm10
vmaxss xmm11, xmm3, xmm3
vaddss xmm1, xmm11, xmm8
vmovss dword [rsp + 0x5c], xmm0
vmovss dword [rsp + 0x58], xmm1
vmovd xmm0, ebx
xor r13d, r13d
lea rcx, [rsp + 0x60]
vmovd xmm1, r13d
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm6, xmm13, xmm10, xmm2
call fcn.14007ef50
mov rcx, qword [rdi + 0x2f8]
lea r8, [rbp + 0x4f]
mov r9d, eax
mov dword [rsp + 0x28], Ordinal_50
lea rdx, [rsp + 0x58]
vmovss dword [rsp + 0x20], xmm6
call fcn.14009da60
vmovss xmm6, dword [rsi + 0x167c]
vcomiss xmm6, xmm10
jbe 0x140093f7b
vmovss xmm0, dword [rdi + 0x5c]
vaddss xmm1, xmm0, dword [rdi + 0x54]
vcomiss xmm1, xmm7
jbe 0x140093f7b
mov rax, qword [0x1402ef918]
lea rcx, [rsp + 0x60]
vunpcklps xmm1, xmm12, xmm7
vmovups xmm0, xmmword [rax + 0x174c]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x1638]
vmovss dword [rsp + 0x6c], xmm0
vmovss dword [rbp + 0x4f], xmm11
vmovss dword [rbp + 0x53], xmm7
vmovsd qword [rsp + 0x58], xmm1
call fcn.14007ef50
mov rcx, qword [rdi + 0x2f8]
lea r8, [rsp + 0x58]
mov r9d, eax
lea rdx, [rbp + 0x4f]
vmovss dword [rsp + 0x20], xmm6
call fcn.14009c870
jmp 0x140093f7b
xor r13d, r13d
test byte [rdi + 0x429], 1
mov rbx, qword [rdi + 0x448]
vmovaps xmm12, xmmword [rsp + 0x90]
vmovaps xmm11, xmmword [rsp + 0xa0]
je 0x1400941bd
mov ecx, dword [rbx + 8]
mov eax, ecx
shr eax, 0xd
test al, 1
je 0x1400941bd
shr ecx, 0xc
test cl, 1
jne 0x1400941bd
vmovss xmm1, dword [rsi + 0x1a80]
vmulss xmm0, xmm1, dword [0x1401b6100]
vmovss xmm3, dword [rbx + 0x40]
movsxd rcx, dword [rdi + 0x108]
lea r8, [0x1401b5bd1]
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [0x1401b60f0]
vmovss xmm1, dword [rbx + 0x44]
vxorps xmm6, xmm6, xmm6
vcvtsi2ss xmm6, xmm6, eax
vcvttss2si eax, xmm0
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, eax
mov rax, qword [rdi + 0x110]
lea r11, [0x1401b5520]
vaddss xmm5, xmm2, xmm1
vunpcklps xmm1, xmm3, xmm1
vaddss xmm4, xmm2, xmm3
vmovsd qword [rsp + 0x48], xmm1
vmovsd qword [rsp + 0x60], xmm1
vmovss dword [rsp + 0x68], xmm4
vmovss dword [rsp + 0x6c], xmm5
mov r10d, dword [rax + rcx*4 - 4]
mov r9b, reloc.WLDAP32.dll_Ordinal_35
not r10d
mov edx, r10d
cmp r9b, 0x23
jne 0x140094058
cmp byte [r8], r9b
jne 0x140094058
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [r11 + rcx*4]
test r9b, r9b
jne 0x140094045
mov rax, qword [0x1402ef918]
not edx
cmp dword [rax + 0x1d6c], edx
jne 0x14009408c
mov dword [rax + 0x1d70], edx
cmp dword [rax + 0x1da8], edx
jne 0x14009409b
mov byte [rax + 0x1dac], 1
lea r9, [rsp + 0x40]
mov dword [rsp + 0x20], 0x800
lea r8, [rbp + 0x4f]
lea rcx, [rsp + 0x60]
call fcn.1400b1600
test al, al
je 0x1400940c3
or byte [rbx + 0xbd], 1
jmp 0x140094104
cmp byte [rsp + 0x40], r12b
je 0x140094115
mov rax, qword [0x1402ef918]
cmp byte [rax + 0x128], r12b
je 0x140094104
vmovss xmm0, dword [rax + 0x38]
vmovss xmm1, dword [rax + 0x484]
vmulss xmm2, xmm0, xmm0
vcomiss xmm1, xmm2
setae al
test al, al
je 0x140094104
mov r8b, 1
mov rdx, rbx
mov rcx, rdi
call fcn.1400965c0
movzx eax, byte [rbp + 0x4f]
cmp byte [rsp + 0x40], r12b
je 0x140094119
test al, al
jne 0x140094126
jmp 0x140094119
movzx eax, byte [rbp + 0x4f]
test byte [rbx + 0xbc], 2
je 0x14009412d
test al, al
jne 0x14009412d
mov ecx, reloc.WS2_32.dll_socket
jmp 0x140094139
test al, al
mov rcx, r13
setne cl
add rcx, 0x15
mov rax, qword [0x1402ef918]
add rcx, rcx
vaddss xmm1, xmm6, dword [rsp + 0x4c]
vmovss dword [rsp + 0x5c], xmm1
vaddss xmm1, xmm10, dword [rsp + 0x4c]
vmovups xmm0, xmmword [rax + rcx*8 + 0x16fc]
vmovups xmmword [rsp + 0x70], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x1638]
vmovss dword [rbp - 0x75], xmm0
vaddss xmm0, xmm10, dword [rsp + 0x48]
vmovss dword [rsp + 0x58], xmm0
vaddss xmm0, xmm6, dword [rsp + 0x48]
lea rcx, [rsp + 0x70]
vmovss dword [rsp + 0x50], xmm0
vmovss dword [rsp + 0x54], xmm1
call fcn.14007ef50
mov rcx, qword [rdi + 0x2f8]
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x50]
mov dword [rsp + 0x20], eax
lea rdx, [rsp + 0x48]
call fcn.14009dd30
cmp byte [rdi + 0xcc], r12b
je 0x1400941cd
xor ecx, ecx
call fcn.1400b5cd0
cmp byte [rdi + 0xcd], r12b
je 0x1400941e0
mov ecx, 1
call fcn.1400b5cd0
test r14b, r14b
je 0x140094364
test r15b, 2
jne 0x140094352
mov r12d, dword [rbp + 0x6f]
mov r14d, r13d
test r12d, r12d
jle 0x140094352
mov r15, qword [rbp + 0x77]
lea rsi, [0x140206818]
vaddss xmm10, xmm8, xmm13
nop dword [rax]
nop word [rax + rax]
vmovss xmm3, dword [rdi + 0x50]
vmovss xmm4, dword [rdi + 0x54]
vaddss xmm0, xmm3, dword [rdi + 0x58]
vsubss xmm1, xmm0, xmm3
vmulss xmm2, xmm1, dword [rsi - 8]
vaddss xmm0, xmm4, dword [rdi + 0x5c]
vsubss xmm1, xmm0, xmm4
vaddss xmm6, xmm2, xmm3
vmulss xmm2, xmm1, dword [rsi - 4]
mov ebx, r14d
vaddss xmm7, xmm2, xmm4
and ebx, 1
je 0x140094262
vmovaps xmm0, xmm8
vmovaps xmm2, xmm9
jmp 0x14009426c
vmovaps xmm0, xmm9
vmovaps xmm2, xmm8
vmulss xmm0, xmm0, dword [rsi]
vmulss xmm2, xmm2, dword [rsi + 4]
mov rcx, qword [rdi + 0x2f8]
lea rdx, [rbp + 0x4f]
vaddss xmm1, xmm0, xmm6
vaddss xmm0, xmm2, xmm7
vmovss dword [rbp + 0x53], xmm0
vmovss dword [rbp + 0x4f], xmm1
call fcn.140090fc0
test ebx, ebx
je 0x1400942a7
vmovaps xmm0, xmm9
vmovaps xmm2, xmm8
jmp 0x1400942b1
vmovaps xmm0, xmm8
vmovaps xmm2, xmm9
vmulss xmm0, xmm0, dword [rsi]
vmulss xmm2, xmm2, dword [rsi + 4]
mov rcx, qword [rdi + 0x2f8]
lea rdx, [rsp + 0x58]
vaddss xmm1, xmm0, xmm6
vaddss xmm0, xmm2, xmm7
vmovss dword [rsp + 0x5c], xmm0
vmovss dword [rsp + 0x58], xmm1
call fcn.140090fc0
vmulss xmm0, xmm10, dword [rsi]
mov eax, dword [rsi + 0xc]
lea rdx, [rsp + 0x50]
mov r9d, dword [rsi + 8]
mov rcx, qword [rdi + 0x2f8]
vaddss xmm1, xmm0, xmm6
vmulss xmm0, xmm10, dword [rsi + 4]
vmovss dword [rsp + 0x50], xmm1
vaddss xmm1, xmm0, xmm7
vmovaps xmm2, xmm13
vmovss dword [rsp + 0x54], xmm1
mov dword [rsp + 0x20], eax
call fcn.1400a1aa0
mov rbx, qword [rdi + 0x2f8]
mov r9d, dword [r15]
mov rcx, rbx
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
call fcn.14009b550
inc r14d
mov dword [rbx + 0x78], r13d
add rsi, 0x18
add r15, 4
cmp r14d, r12d
jl 0x140094220
cmp qword [rdi + 0x450], 0
jne 0x140094364
mov rcx, rdi
call fcn.1400943b0
vmovaps xmm10, xmmword [rsp + 0xb0]
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x48]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret