Function at 0x180029a30
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
sub rsp, 0xa8
cmp byte [0x18023294c], 0
je 0x18002a39b
mov rax, qword [0x1802329a0]
mov rcx, qword [rax]
test rcx, rcx
je 0x18002a39b
mov qword [r11 - 8], rsi
mov rsi, qword [rcx + 8]
test rsi, rsi
je 0x18002a393
mov qword [r11 + 0x18], rbp
mov rbp, qword [rsi + 0x30]
test rbp, rbp
je 0x18002a38b
movsd xmm0, qword [rsi + 0x90]
mov eax, dword [rsi + 0x98]
movsd qword [rsp + 0x40], xmm0
movss xmm0, dword [0x18019ddc4]
comiss xmm0, dword [rsi + 0x280]
mov dword [rsp + 0x48], eax
ja 0x18002a38b
mov rax, qword gs:[0x60]
mov qword [r11 + 0x10], rbx
mov qword [r11 - 0x10], rdi
mov qword [r11 - 0x18], r14
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180029b47
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180029b47
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xbf6aed9e
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180029b42
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180029b20
cmp r8d, 0xef5ea766
je 0x180029b4c
test r9d, r9d
jne 0x180029b00
mov rax, qword [rax]
jmp 0x180029ad0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, dword [0x18022f43c]
add rax, r10
call rax
test ax, ax
setne byte [0x1802322b9]
test ax, ax
je 0x180029b87
movd xmm0, dword [reloc.WS2_32.dll_accept]
cvtdq2ps xmm0, xmm0
jmp 0x180029b8f
movss xmm0, dword [0x18019dd08]
mov rax, qword gs:[0x60]
movss dword [0x18022f3c0], xmm0
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180029c27
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180029c27
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x123cae0e
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180029c22
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180029c00
cmp r8d, 0x745a4f6
je 0x180029c2c
test r9d, r9d
jne 0x180029be0
mov rax, qword [rax]
jmp 0x180029bb0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, dword [0x18022f440]
add rax, r10
call rax
xor r14d, r14d
test ax, ax
je 0x180029c68
cmp dword [reloc.WS2_32.dll_accept], r14d
mov eax, r14d
sete al
mov dword [reloc.WS2_32.dll_accept], eax
jmp 0x180029c6e
mov eax, dword [reloc.WS2_32.dll_accept]
test eax, eax
je 0x18002a373
movaps xmmword [rsp + 0x80], xmm6
movabs rcx, 0xd80958fc74e988a6
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x60], xmm8
movaps xmmword [rsp + 0x50], xmm9
call fcn.18001d590
xor r8d, r8d
mov edx, eax
movabs rcx, 0x997abd671d25ca0b
mov ebx, eax
call fcn.18001d740
test eax, eax
je 0x180029cc9
mov edx, ebx
movabs rcx, 0x6094ad011a2ea87d
call fcn.18001d650
xorps xmm9, xmm9
xorps xmm3, xmm3
xorps xmm2, xmm2
movss dword [rsp + 0x20], xmm9
mov edx, ebx
movabs rcx, 0x1c99bb7b6e96d16f
call fcn.18001e830
mov dword [rsp + 0x30], r14d
xorps xmm3, xmm3
mov dword [rsp + 0x28], r14d
xorps xmm2, xmm2
mov edx, ebx
movss dword [rsp + 0x20], xmm9
movabs rcx, 0x8524a8b0171d5e07
call fcn.18001e980
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180029da7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180029da7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xd96730d6
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180029da2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180029d80
cmp r8d, 0x9dfc8d7e
je 0x180029dac
test r9d, r9d
jne 0x180029d60
mov rax, qword [rax]
jmp 0x180029d30
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, 0x57
add rax, r10
call rax
movss xmm7, dword [rsp + 0x48]
movss xmm8, dword [rsp + 0x44]
movss xmm6, dword [rsp + 0x40]
test ax, ax
jns 0x180029ebf
mov qword [rsi + 0x320], r14
mov dword [rsi + 0x328], r14d
mov rax, qword [0x1802329b8]
test rax, rax
je 0x180029e05
mov rcx, qword [rax]
jmp 0x180029e0d
mov rcx, qword [rsp + 0xb0]
movsd xmm1, qword [rcx + 0x3d0]
movss xmm4, dword [0x18022f3c0]
movaps xmm0, xmm1
movaps xmm3, xmm4
shufps xmm0, xmm0, 0x55
mulss xmm3, xmm1
movaps xmm2, xmm4
mulss xmm4, dword [rcx + 0x3d8]
addss xmm3, xmm6
mulss xmm2, xmm0
addss xmm4, xmm7
addss xmm2, xmm8
movss dword [rsi + 0x90], xmm3
movaps xmm1, xmm3
movss dword [rsi + 0x94], xmm2
movss dword [rsi + 0x98], xmm4
unpcklps xmm1, xmm2
movsd qword [rbp + 0x50], xmm1
movss dword [rbp + 0x58], xmm4
mov eax, dword [0x1802329d4]
mov rcx, qword [rax + rsi]
test rcx, rcx
je 0x180029ebf
movsd xmm0, qword [rcx + 0x90]
ucomiss xmm0, xmm9
jp 0x180029e8e
je 0x180029ebf
mov rax, qword [rcx + 0x30]
mov qword [rcx + 0x320], r14
mov dword [rcx + 0x328], r14d
movsd qword [rcx + 0x90], xmm1
movss dword [rcx + 0x98], xmm4
test rax, rax
je 0x180029ebf
movsd qword [rax + 0x50], xmm1
movss dword [rax + 0x58], xmm4
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180029f47
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180029f47
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x615fffda
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180029f42
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180029f20
cmp r8d, 0x40dfec32
je 0x180029f4c
test r9d, r9d
jne 0x180029f00
mov rax, qword [rax]
jmp 0x180029ed0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, 0x53
add rax, r10
call rax
test ax, ax
jns 0x18002a056
mov qword [rsi + 0x320], r14
mov dword [rsi + 0x328], r14d
mov rax, qword [0x1802329b8]
test rax, rax
je 0x180029f92
mov rcx, qword [rax]
jmp 0x180029f9a
mov rcx, qword [rsp + 0xb0]
movsd xmm1, qword [rcx + 0x3d0]
movaps xmm4, xmm6
movss xmm2, dword [0x18022f3c0]
movaps xmm0, xmm1
mulss xmm0, xmm2
movaps xmm3, xmm8
subss xmm4, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movaps xmm1, xmm7
mulss xmm0, xmm2
subss xmm3, xmm0
movss xmm0, dword [rcx + 0x3d8]
movss dword [rsi + 0x90], xmm4
mulss xmm0, xmm2
movaps xmm2, xmm4
movss dword [rsi + 0x94], xmm3
subss xmm1, xmm0
unpcklps xmm2, xmm3
movss dword [rsi + 0x98], xmm1
movsd qword [rbp + 0x50], xmm2
movss dword [rbp + 0x58], xmm1
mov eax, dword [0x1802329d4]
mov rcx, qword [rax + rsi]
test rcx, rcx
je 0x18002a056
movsd xmm0, qword [rcx + 0x90]
ucomiss xmm0, xmm9
jp 0x18002a025
je 0x18002a056
mov rax, qword [rcx + 0x30]
mov qword [rcx + 0x320], r14
mov dword [rcx + 0x328], r14d
movsd qword [rcx + 0x90], xmm2
movss dword [rcx + 0x98], xmm1
test rax, rax
je 0x18002a056
movsd qword [rax + 0x50], xmm2
movss dword [rax + 0x58], xmm1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x18002a0e7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x18002a0e7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x6f22a672
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x18002a0e2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x18002a0c0
cmp r8d, 0x22d0124a
je 0x18002a0ec
test r9d, r9d
jne 0x18002a0a0
mov rax, qword [rax]
jmp 0x18002a070
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, 0x44
add rax, r10
call rax
test ax, ax
jns 0x18002a1dd
mov qword [rsi + 0x320], r14
mov dword [rsi + 0x328], r14d
mov rax, qword [0x1802329b8]
test rax, rax
je 0x18002a132
mov rax, qword [rax]
jmp 0x18002a13a
mov rax, qword [rsp + 0xb0]
movsd xmm2, qword [rax + 0x3d0]
movaps xmm1, xmm8
movaps xmm3, xmm2
mulss xmm2, dword [0x18022f3c0]
shufps xmm3, xmm3, 0x55
mulss xmm3, dword [0x18022f3c0]
subss xmm1, xmm2
addss xmm3, xmm6
movss dword [rsi + 0x90], xmm3
movaps xmm2, xmm3
movss dword [rsi + 0x94], xmm1
movss dword [rsi + 0x98], xmm7
unpcklps xmm2, xmm1
movsd qword [rbp + 0x50], xmm2
movss dword [rbp + 0x58], xmm7
mov eax, dword [0x1802329d4]
mov rcx, qword [rax + rsi]
test rcx, rcx
je 0x18002a1dd
movsd xmm0, qword [rcx + 0x90]
ucomiss xmm0, xmm9
jp 0x18002a1ac
je 0x18002a1dd
mov rax, qword [rcx + 0x30]
mov qword [rcx + 0x320], r14
mov dword [rcx + 0x328], r14d
movsd qword [rcx + 0x90], xmm2
movss dword [rcx + 0x98], xmm7
test rax, rax
je 0x18002a1dd
movsd qword [rax + 0x50], xmm2
movss dword [rax + 0x58], xmm7
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x18002a267
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x18002a267
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x1a4dab7a
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x18002a262
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x18002a240
cmp r8d, 0x77b78a52
je 0x18002a26c
test r9d, r9d
jne 0x18002a220
mov rax, qword [rax]
jmp 0x18002a1f0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, 0x41
add rax, r10
call rax
test ax, ax
jns 0x18002a35a
mov qword [rsi + 0x320], r14
mov dword [rsi + 0x328], r14d
mov rax, qword [0x1802329b8]
test rax, rax
je 0x18002a2b2
mov rax, qword [rax]
jmp 0x18002a2ba
mov rax, qword [rsp + 0xb0]
movsd xmm2, qword [rax + 0x3d0]
movaps xmm0, xmm2
mulss xmm2, dword [0x18022f3c0]
shufps xmm0, xmm0, 0x55
mulss xmm0, dword [0x18022f3c0]
addss xmm2, xmm8
subss xmm6, xmm0
movss dword [rsi + 0x90], xmm6
movaps xmm1, xmm6
movss dword [rsi + 0x94], xmm2
movss dword [rsi + 0x98], xmm7
unpcklps xmm1, xmm2
movsd qword [rbp + 0x50], xmm1
movss dword [rbp + 0x58], xmm7
mov eax, dword [0x1802329d4]
mov rcx, qword [rax + rsi]
test rcx, rcx
je 0x18002a35a
movsd xmm0, qword [rcx + 0x90]
ucomiss xmm0, xmm9
jp 0x18002a329
je 0x18002a35a
mov rax, qword [rcx + 0x30]
mov qword [rcx + 0x320], r14
mov dword [rcx + 0x328], r14d
movsd qword [rcx + 0x90], xmm1
movss dword [rcx + 0x98], xmm7
test rax, rax
je 0x18002a35a
movsd qword [rax + 0x50], xmm1
movss dword [rax + 0x58], xmm7
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x50]
mov rdi, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xb8]
mov r14, qword [rsp + 0x90]
mov rbp, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xa0]
add rsp, 0xa8
ret