Function at 0x14015a8dc
Capabilities:
Access peb ldr_data
Authenticate hmac
Contain obfuscated stackstrings
Hash data using fnv
Parse pe header
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x1403192e0]
mov r13d, 0x811c9dc5
mov qword [rbp + 0x48], rax
test rax, rax
jne 0x14015aa60
mov rax, qword gs:[0x60]
xor ebx, ebx
mov edi, 0xf8f45725
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r8, r14
movups xmm0, xmmword [r8 + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x14015a976
psrldq xmm0, 8
mov edx, r13d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14015a969
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14015a95a
cmp edx, ebx
jne 0x14015aa3d
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x14015aa3d
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14015aa3d
mov r12d, dword [r10 + 0x20]
dec r11d
mov esi, r13d
lea rcx, [r12 + r11*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x14015a9c8
movsx ecx, cl
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14015a9bd
cmp esi, edi
je 0x14015a9dc
test r11d, r11d
jne 0x14015a9aa
jmp 0x14015aa3d
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov edx, dword [rdx + r8*4]
add rdx, r9
mov qword [rbp + 0x48], rdx
cmp rdx, r10
jbe 0x14015aa59
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x14015aa59
mov ebx, r13d
mov edi, r13d
jmp 0x14015aa1e
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14015aa10
jmp 0x14015aa31
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14015aa26
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x14015aa53
cmp qword [rax + 0x30], 0
jne 0x14015a930
xor edx, edx
mov qword [rbp + 0x48], rdx
mov qword [0x1403192e0], rdx
mov bl, byte [rbp + 0x48]
xor eax, eax
mov qword [rbp - 0x19], rax
mov r13b, 0x40
mov dword [rbp - 0x11], eax
mov r12b, Ordinal_50
mov word [rbp - 0xd], ax
mov r15b, 0x66
mov byte [rbp - 0xb], al
mov sil, 0x36
mov dword [rbp - 0x30], 0x5645193e
mov r14b, WSAGetLastError
mov dword [rbp - 0x2c], 0x5d64b864
mov dword [rbp - 0x28], 0x5a576367
mov dword [rbp - 0x24], 0x6d6d506c
mov dword [rbp - 0x20], 0x46745548
mov word [rbp - 0x1c], 0x4541
mov byte [rbp - 0x1a], 0xe6
call fcn.1400a1a30
mov rdi, qword [rax]
call fcn.1400a1a40
mov r11, qword [rax]
xor r9d, r9d
cmp r9, 0x26
jae 0x14015b454
movzx r8d, byte [rbp + r9 - 0x30]
mov r10d, r8d
cmp rdi, r9
ja 0x14015b44b
lea rax, [r11 + 1]
cmp rdi, rax
jae 0x14015ab09
movabs rcx, 0x2db7e5cc3d2fc03e
mov al, r10b
add rcx, r9
mov ebx, Ordinal_41
and al, cl
sub bl, al
add bl, bl
add bl, cl
add bl, r8b
jmp 0x14015ab36
je 0x14015b3dc
lea rax, [r11 + 2]
cmp rdi, rax
je 0x14015b395
lea rax, [r11 + 3]
cmp rdi, rax
je 0x14015b369
lea rax, [r11 + 5]
cmp rdi, rax
je 0x14015b327
cmp r11, r9
ja 0x14015b442
lea rax, [r11 + 0x40]
cmp rdi, rax
jae 0x14015ab6b
mov edx, 0x33
movabs rcx, 0xc015d9c104eac516
add rcx, r9
mov al, r10b
and al, cl
sub dl, al
lea ebx, [rdx + rdx]
add bl, cl
jmp 0x14015ad42
lea rax, [r11 + 1]
cmp rdi, rax
je 0x14015b30a
lea rax, [r11 + 3]
cmp rdi, rax
je 0x14015b2ed
lea rax, [r11 + 5]
cmp rdi, rax
je 0x14015b2d0
lea rax, [r11 + 4]
cmp rdi, rax
je 0x14015b28b
lea rax, [r11 + 2]
cmp rdi, rax
je 0x14015b26e
lea rax, [r11 + rdi]
cmp rax, r9
jbe 0x14015afdc
lea rax, [r11 + 0x42]
cmp rdi, rax
je 0x14015afc2
lea rax, [r11 + 0x64]
cmp rdi, rax
je 0x14015afa5
lea rax, [r11 + 0x2a]
cmp rdi, rax
je 0x14015af8b
lea rax, [r11 + 1]
cmp rdi, rax
je 0x14015af70
lea rax, [r11 + 2]
cmp rdi, rax
je 0x14015af56
lea rax, [r11 + 0x28]
cmp rdi, rax
je 0x14015af3c
lea rcx, [r11 + 0x40]
cmp rdi, rcx
je 0x14015af1e
lea rax, [r11 + 0x5a]
cmp rdi, rax
je 0x14015af10
lea r11, [rcx + 0x10]
mov rdi, rcx
lea rax, [r11 + 0x41]
cmp rcx, rax
jb 0x14015b427
lea rax, [r11 + 0x5a]
cmp rcx, rax
jb 0x14015b40d
lea rax, [r11 + 0x2a]
cmp rcx, rax
jb 0x14015ad63
lea rax, [r11 + 0x10]
cmp rcx, rax
jb 0x14015ad4a
lea rax, [r11 + 0x20]
cmp rcx, rax
jb 0x14015ad2d
lea rax, [r11 + 0x61]
cmp rcx, rax
jb 0x14015aec7
lea rcx, [r11 + 0x7a]
cmp rdi, rcx
jb 0x14015ae5c
lea rax, [r11 + 9]
cmp rdi, rax
jb 0x14015ae3c
lea rax, [r11 + 0xa]
cmp rdi, rax
jb 0x14015abb9
lea r11, [rcx + 0x10]
mov rdi, rcx
lea rax, [r11 + 0x41]
cmp rcx, rax
ja 0x14015ae2c
lea rax, [r11 + 9]
cmp rcx, rax
ja 0x14015ae14
lea rax, [r11 + 0xa]
cmp rcx, rax
ja 0x14015adf9
lea rax, [r11 + 0x400]
cmp rcx, rax
ja 0x14015adeb
lea rax, [r11 + 0x1000]
cmp rcx, rax
ja 0x14015adcf
lea rax, [r11 + 0x61]
cmp rcx, rax
ja 0x14015adb4
lea rcx, [r11 + 6]
cmp rdi, rcx
ja 0x14015ad9a
lea rax, [r11 + 8]
cmp rdi, rax
ja 0x14015ad80
lea rax, [r11 + 0x3e8]
cmp rdi, rax
ja 0x14015abb9
mov rdi, rcx
lea r11, [rcx + 0x400]
jmp 0x14015abb9
lea edx, [r9 - 0x56]
mov ecx, reloc.WLDAP32.dll_Ordinal_45
mov al, dl
and al, r8b
sub cl, al
lea ebx, [rcx + rcx]
add bl, dl
add bl, r8b
jmp 0x14015abac
lea ecx, [r9 + 0x2e]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 0x42
jmp 0x14015ab36
lea edx, [r9 - 0x4e]
mov ecx, reloc.WS2_32.dll_recvfrom
mov al, dl
and al, r8b
sub cl, al
lea ebx, [rcx + rcx]
add bl, dl
add bl, r8b
jmp 0x14015aad5
lea ecx, [r9 + 0x34]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea ebx, [rcx + r8]
sub bl, 0x6c
jmp 0x14015b35e
lea ecx, [r9 - 0x48]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea ebx, [rcx + r8]
sub bl, 8
jmp 0x14015b361
mov ecx, reloc.WLDAP32.dll_Ordinal_46
lea edx, [r9 + 0x3c]
mov al, r8b
mov r10b, r9b
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
jmp 0x14015b22f
mov cl, r9b
mov al, r8b
sub cl, r13b
and al, cl
add al, al
sub r8b, al
lea ebx, [rcx + r8]
sub bl, r13b
jmp 0x14015b305
lea edx, [r9 + 0x44]
mov ecx, reloc.WS2_32.dll_select
jmp 0x14015b2d9
lea edx, [r9 - 0x38]
mov al, r8b
and al, dl
mov bl, r8b
add al, al
mov r10b, r9b
sub bl, al
sub bl, 0x78
jmp 0x14015b2a1
lea edx, [r9 + 0x4c]
mov al, r8b
and al, dl
mov bl, r8b
add al, al
sub bl, al
sub bl, 0x14
jmp 0x14015b284
mov dl, r9b
mov ecx, Ordinal_41
sub dl, r12b
jmp 0x14015b16b
mov cl, r9b
sub cl, r15b
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, sil
mov byte [rbp + r9 - 0x30], bl
jmp 0x14015b405
lea ecx, [r9 - 0x5e]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, r14b
cmp rdi, 0x200
jae 0x14015b217
lea rcx, [r11 + 5]
cmp rdi, rcx
jbe 0x14015b17f
lea edx, [r9 - 0x24]
mov al, r8b
and al, dl
mov bl, r8b
add al, al
sub bl, al
sub bl, 4
add bl, dl
cmp r11, 1
jb 0x14015ae52
mov ecx, 0xa
mov r10b, r9b
mov al, r8b
lea edx, [r10 - 0x4c]
and al, dl
sub cl, al
add cl, cl
add cl, r8b
add cl, dl
lea ebx, [rcx + rcx]
jmp 0x14015b340
lea ecx, [r9 + 0x26]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 0xa
lea rax, [r11 + rdi]
cmp rax, 9
je 0x14015b256
lea rax, [r11 + 0x61]
cmp rdi, rax
jbe 0x14015b0d3
lea edx, [r9 - 0x3a]
mov al, r8b
and al, dl
mov bl, r8b
add al, al
sub bl, al
sub bl, 0x6a
add bl, dl
jmp 0x14015ae70
lea edx, [r9 - 0x7c]
mov ecx, reloc.WLDAP32.dll_Ordinal_50
jmp 0x14015b16b
mov ecx, reloc.WLDAP32.dll_Ordinal_22
mov r10b, r9b
mov al, r8b
lea edx, [r10 - 0x74]
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, r8b
jmp 0x14015b2a1
lea ecx, [r9 + 0x10]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea ebx, [rcx + r8]
sub bl, 0x70
jmp 0x14015b386
lea ecx, [r9 - 0x6c]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea ebx, [rcx + r8]
sub bl, 0xc
jmp 0x14015b305
mov ecx, Ordinal_46
mov r10b, r9b
mov al, r8b
lea edx, [r10 + 0x18]
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
jmp 0x14015b22f
lea ecx, [r9 - 0x64]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea ebx, [rcx + r8]
sub bl, 0x44
jmp 0x14015b361
lea edx, [r9 + 0x20]
mov ecx, reloc.WS2_32.dll_recv
mov al, r8b
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, r8b
add bl, dl
jmp 0x14015b35e
lea edx, [r9 - 0x5c]
mov al, r8b
and al, dl
mov bl, r8b
add al, al
sub bl, al
sub bl, 0x7c
add bl, dl
jmp 0x14015b33d
lea rax, [r11 + 0xa]
cmp rdi, rax
jae 0x14015b002
lea edx, [r9 + 0x3e]
mov ecx, Ordinal_41
mov al, r8b
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, r8b
add bl, dl
jmp 0x14015aedb
lea rax, [r11 + 1]
cmp rdi, rax
jne 0x14015b025
lea ecx, [r9 + 0x2c]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea ebx, [rcx + r8]
sub bl, 0x34
jmp 0x14015b3f9
lea rax, [r11 + 2]
cmp rdi, rax
jne 0x14015b03c
lea edx, [r9 - 0x58]
mov ecx, 0x34
jmp 0x14015b277
lea rax, [r11 + 3]
cmp rdi, rax
jne 0x14015b05f
lea ecx, [r9 - 0x60]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea ebx, [rcx + r8]
sub bl, 0x60
jmp 0x14015b386
lea rax, [r11 + 5]
cmp rdi, rax
jne 0x14015b083
mov r10b, r9b
mov al, r8b
mov bl, r8b
lea edx, [r10 - 0x68]
and al, dl
add al, al
sub bl, al
sub bl, 0x28
jmp 0x14015b232
lea rax, [r11 + 7]
cmp rdi, rax
jne 0x14015b0a9
lea edx, [r9 + 0x14]
mov ecx, Ordinal_60
mov al, r8b
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, r8b
add bl, dl
jmp 0x14015b361
lea rax, [r11 + 9]
cmp rdi, rax
jne 0x14015aedb
mov r10b, r9b
mov al, r8b
mov bl, r8b
lea edx, [r10 + 0xc]
and al, dl
add al, al
sub bl, al
sub bl, 0x54
add bl, dl
jmp 0x14015b340
lea rax, [r11 + 1]
cmp rdi, rax
jne 0x14015b0f7
mov ecx, Ordinal_27
mov r10b, r9b
mov al, r8b
lea edx, [r10 + 0x42]
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, r8b
jmp 0x14015b0cc
lea rax, [r11 + 5]
cmp rdi, rax
jne 0x14015b11a
lea ecx, [r9 + 0x32]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea ebx, [rcx + r8]
sub bl, 0x5e
jmp 0x14015b305
lea rax, [r11 + 6]
cmp rdi, rax
jne 0x14015b13e
mov r10b, r9b
mov al, r8b
mov bl, r8b
lea edx, [r10 + 0x2a]
and al, dl
add al, al
sub bl, al
sub bl, 0x26
jmp 0x14015b2a1
lea rax, [r11 + 7]
cmp rdi, rax
jne 0x14015b155
lea edx, [r9 - 0x5a]
mov ecx, Ordinal_60
jmp 0x14015b277
lea rax, [r11 + 9]
cmp rdi, rax
jne 0x14015ae70
lea edx, [r9 + 0x22]
mov ecx, 9
mov al, r8b
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, r8b
add bl, dl
jmp 0x14015b3f9
lea rax, [r11 + 1]
cmp rdi, rax
jne 0x14015b1a2
lea ecx, [r9 + 0x58]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea ebx, [rcx + r8]
sub bl, 0x68
jmp 0x14015b3f9
lea rax, [r11 + 3]
cmp rdi, rax
jne 0x14015b1c8
mov r10b, r9b
mov al, r8b
mov bl, r8b
lea edx, [r10 + 0x50]
and al, dl
add al, al
sub bl, al
add bl, dl
sub bl, r12b
jmp 0x14015b2a3
lea rax, [r11 + 4]
cmp rdi, rax
jne 0x14015b1df
lea edx, [r9 + 0x48]
mov ecx, 4
jmp 0x14015b2f6
cmp rdi, rcx
jne 0x14015b1fc
mov r10b, r9b
mov al, r8b
mov bl, r8b
lea edx, [r10 - 0x3c]
and al, dl
add al, al
sub bl, al
sub bl, 0x5c
jmp 0x14015b232
lea rax, [r11 + 6]
cmp rdi, rax
jne 0x14015ae9f
lea edx, [r9 + r13]
mov ecx, reloc.WLDAP32.dll_Ordinal_32
jmp 0x14015b095
mov bl, byte [rbp + r9 - 0x30]
mov r10b, r9b
mov al, r8b
lea edx, [r12 + r10]
and al, dl
add al, al
sub bl, al
sub bl, 0x50
add bl, r8b
add bl, dl
mov al, r8b
add r10b, r14b
and al, r10b
add al, al
sub r8b, al
sub r8b, 2
add r8b, r10b
add r8b, bl
mov byte [rbp + r9 - 0x30], r8b
jmp 0x14015b305
mov ecx, Ordinal_41
mov r10b, r9b
mov al, r8b
lea edx, [r10 - 0x54]
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
jmp 0x14015b2a1
lea edx, [r9 - 0xa]
mov ecx, reloc.WLDAP32.dll_Ordinal_35
mov al, r8b
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, r8b
add bl, dl
jmp 0x14015b3b3
mov r10b, r9b
mov al, r8b
mov bl, r8b
lea edx, [r10 + 0x7a]
and al, dl
add al, al
sub bl, al
sub bl, 0x56
add bl, dl
sub r10b, 0x16
mov al, r8b
and al, r10b
inc r11
add al, al
mov cl, r8b
sub cl, al
add cl, r10b
sub cl, r15b
movzx eax, cl
mov byte [rbp + r9 - 0x30], al
add rax, r11
sub r9, rax
jmp 0x14015b3b3
lea edx, [r9 - 2]
mov ecx, 7
mov al, r8b
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, r8b
add bl, dl
jmp 0x14015b386
lea edx, [r9 - 0x7e]
mov ecx, reloc.WS2_32.dll_gethostname
mov al, r8b
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, r8b
add bl, dl
add rdi, r11
jmp 0x14015b386
mov ecx, 1
mov dl, r9b
sub dl, r14b
mov al, r8b
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, r8b
jmp 0x14015afd5
mov cl, r9b
sub cl, r15b
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, sil
mov r10b, r9b
sub r10b, 0xe
mov al, r8b
and al, r10b
mov ecx, Ordinal_50
sub cl, al
add cl, cl
add cl, r8b
add cl, r10b
mov byte [rbp + r9 - 0x30], cl
inc r11
dec r9
jmp 0x14015b405
movabs rax, 0x9b77142e26adc22e
add rax, r9
and r10b, al
add r10b, r10b
sub r8b, r10b
lea ebx, [rax + r8]
sub bl, 0x42
or rcx, 0xffffffffffffffff
movzx eax, bl
sub rcx, rax
add r9, rcx
jmp 0x14015b405
movabs rcx, 0xe4977cfd31eec136
mov bl, r8b
add rcx, r9
and r10b, cl
add r10b, r10b
sub bl, r10b
sub bl, 0x7a
add bl, cl
mov al, r8b
lea ecx, [r9 + 0x28]
and al, cl
inc rdi
add al, al
sub r8b, al
or rax, 0xffffffffffffffff
sub r8b, 0x18
sub rax, rdi
add r8b, cl
mov byte [rbp + r9 - 0x30], r8b
add r9, rax
jmp 0x14015b3f9
movabs rax, 0x8927b164b78f40ba
add rax, r9
and r10b, al
add r10b, r10b
sub r8b, r10b
lea ebx, [rax + r8]
sub bl, 0x16
movzx eax, byte [rbp + r9 - 0x30]
add rax, r11
add r9, rax
inc r9
jmp 0x14015aac2
add r9b, sil
mov al, r8b
and al, r9b
add al, al
sub r8b, al
lea ebx, [r9 + r8]
sub bl, 0x7a
jmp 0x14015aabf
sub r9b, 0x46
mov al, r8b
and al, r9b
add al, al
sub r8b, al
lea ebx, [r9 + r8]
sub bl, 0x16
jmp 0x14015aaaf
lea r13, [rbp + 0x1552978]
jmp 0x14015b458
lea r13, [rbp + 0x104e9b6]
jmp 0x14015b458
lea r13, [rbp - 0x30]
mov r12, qword [0x1403192d8]
test r12, r12
jne 0x14015b5bf
mov rax, qword gs:[0x60]
xor esi, esi
mov r14d, 0xe463da3c
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r15, qword [rax]
mov rbx, r15
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test esi, esi
je 0x14015b4ce
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14015b4c1
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14015b4b2
cmp edx, esi
jne 0x14015b59f
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x14015b59f
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14015b59f
mov edi, dword [r10 + 0x20]
dec r11d
lea rdx, [rdi + r11*4]
mov r8d, dword [rdx + r9]
mov edx, 0x811c9dc5
add r8, r9
jmp 0x14015b522
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14015b517
cmp edx, r14d
je 0x14015b538
test r11d, r11d
jne 0x14015b502
jmp 0x14015b59f
mov ecx, dword [r10 + 0x24]
mov edx, dword [r10 + 0x1c]
add rcx, r9
add rdx, r9
movzx r8d, word [rcx + r11*2]
mov r12d, dword [rdx + r8*4]
add r12, r9
cmp r12, r10
jbe 0x14015b5b8
lea rcx, [rax + r10]
cmp r12, rcx
jae 0x14015b5b8
mov eax, 0x811c9dc5
mov esi, eax
mov r14d, eax
jmp 0x14015b57a
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc r12
mov al, byte [r12]
cmp al, 0x2e
jne 0x14015b56c
jmp 0x14015b591
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
inc r12
mov al, byte [r12]
test al, al
jne 0x14015b584
mov rbx, qword [r15]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
je 0x14015b5b5
cmp qword [rax + 0x30], 0
jne 0x14015b487
xor r12d, r12d
mov qword [0x1403192d8], r12
mov bl, byte [rbp + 0x48]
xor eax, eax
mov dword [rbp - 0x46], eax
mov word [rbp - 0x42], ax
mov byte [rbp - 0x40], al
mov dword [rbp - 0x50], 0xa7a8b9a4
mov dword [rbp - 0x4c], 0xbbac63a6
mov word [rbp - 0x48], 0x2dba
call fcn.1400a1a30
mov rdi, qword [rax]
call fcn.1400a1a40
mov r11, qword [rax]
xor r9d, r9d
cmp r9, 0x11
jae 0x14015bf77
movzx r8d, byte [rbp + r9 - 0x50]
mov r10d, r8d
mov edx, r8d
cmp rdi, r9
ja 0x14015bf6e
lea rax, [r11 + 1]
cmp rdi, rax
jae 0x14015b63d
movabs rcx, 0x1f24a2b5c6097229
mov al, r10b
add rcx, r9
mov bl, r8b
and al, cl
add al, al
sub bl, al
sub bl, 0x1f
add bl, cl
jmp 0x14015b677
je 0x14015bf00
lea rax, [r11 + 3]
cmp rdi, rax
je 0x14015be94
lea rax, [r11 + 5]
cmp rdi, rax
je 0x14015be4a
lea rax, [r11 + 4]
cmp rdi, rax
je 0x14015be2e
lea rax, [r11 + 8]
cmp rdi, rax
je 0x14015bdf7
cmp r11, r9
ja 0x14015bf65
lea rax, [r11 + 0xa]
cmp rdi, rax
jae 0x14015b69e
lea ebx, [r9 + 0x5d]
mov al, bl
and al, r8b
add al, al
sub bl, al
add bl, 0x75
jmp 0x14015b889
lea rax, [r11 + 1]
cmp rdi, rax
je 0x14015bdde
lea rax, [r11 + 2]
cmp rdi, rax
je 0x14015bdc8
lea rax, [r11 + 3]
cmp rdi, rax
je 0x14015bdac
lea rax, [r11 + 5]
cmp rdi, rax
je 0x14015bd93
lea rax, [r11 + rdi]
cmp rax, r9
jbe 0x14015bb74
lea rax, [r11 + 1]
cmp rdi, rax
je 0x14015bb58
lea rax, [r11 + 0x2a]
cmp rdi, rax
je 0x14015bb4a
lea rax, [r11 + 0x5a]
cmp rdi, rax
je 0x14015bb2d
lea rax, [r11 + 0x41]
cmp rdi, rax
je 0x14015bb11
lea rax, [r11 + 6]
cmp rdi, rax
je 0x14015baf8
lea rax, [r11 + 5]
cmp rdi, rax
je 0x14015badb
lea rax, [r11 + 4]
cmp rdi, rax
je 0x14015bacd
lea rax, [r11 + 3]
cmp rdi, rax
je 0x14015bab4
lea rax, [r11 + 0x20]
cmp rdi, rax
je 0x14015ba9b
lea rax, [r11 + 0x10]
cmp rdi, rax
je 0x14015b6df
lea rdi, [r11 + 0x7a]
lea r11, [rdi + 0xa]
lea rax, [r11 + 0x61]
cmp rdi, rax
jb 0x14015bf4a
lea rax, [r11 + 4]
cmp rdi, rax
jb 0x14015bf2f
lea rax, [r11 + 3]
cmp rdi, rax
jb 0x14015b8a9
lea rax, [r11 + 2]
cmp rdi, rax
jb 0x14015b891
lea rcx, [r11 + 1]
cmp rdi, rcx
jb 0x14015b879
lea rax, [r11 + 0xa]
cmp rdi, rax
jb 0x14015ba53
lea rax, [r11 + 9]
cmp rdi, rax
jb 0x14015b9e4
lea rax, [r11 + 8]
cmp rdi, rax
jb 0x14015b9cf
lea rax, [r11 + 6]
cmp rdi, rax
jb 0x14015b9b0
lea rax, [r11 + 0x42]
cmp rdi, rax
jb 0x14015b6df
lea r11, [rcx + 0x40]
mov rdi, rcx
lea rax, [r11 + 0x2a]
cmp rcx, rax
ja 0x14015b996
lea rax, [r11 + 0x5a]
cmp rcx, rax
ja 0x14015b979
lea rax, [r11 + 0x41]
cmp rcx, rax
ja 0x14015b96b
lea rax, [r11 + 6]
cmp rcx, rax
ja 0x14015b951
lea rax, [r11 + 5]
cmp rcx, rax
ja 0x14015b937
lea rax, [r11 + 4]
cmp rcx, rax
ja 0x14015b917
lea rax, [r11 + 3]
cmp rcx, rax
ja 0x14015b8fb
lea rax, [r11 + 0x20]
cmp rcx, rax
ja 0x14015b8e1
lea rax, [r11 + 0x10]
cmp rcx, rax
ja 0x14015b8c4
lea rax, [r11 + 0xa]
cmp rcx, rax
ja 0x14015b6df
lea rdi, [r11 + 0x61]
lea r11, [rdi + 9]
jmp 0x14015b6df
lea ebx, [r9 + 0x43]
mov al, bl
and al, r8b
add al, al
sub bl, al
add bl, 0x2b
add bl, r8b
jmp 0x14015b6d2
lea ebx, [r9 - 0xf]
mov al, bl
and al, r8b
add al, al
sub bl, al
add bl, 0x69
add bl, r8b
jmp 0x14015b677
lea ebx, [r9 - 0x61]
mov rdx, r10
mov al, bl
and al, r8b
add al, al
sub bl, al
sub bl, 0x59
add bl, r8b
jmp 0x14015b60b
lea ecx, [r9 - 0x18]
mov al, r8b
and al, cl
mov bl, r8b
add al, al
mov r10b, r9b
sub bl, al
sub bl, 0x58
add bl, cl
jmp 0x14015be0e
lea ecx, [r9 - 0x6a]
mov al, r8b
and al, cl
mov bl, r8b
add al, al
sub bl, al
sub bl, 0x1a
add bl, cl
jmp 0x14015be29
lea ecx, [r9 + 0x44]
mov al, r8b
and al, cl
mov ebx, reloc.WS2_32.dll_select
sub bl, al
add bl, bl
add bl, r8b
add bl, cl
jmp 0x14015be42
lea edx, [r9 - 0xe]
mov ecx, Ordinal_50
mov al, r8b
mov r10b, r9b
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, r8b
add bl, dl
jmp 0x14015be61
lea ecx, [r9 - 0x60]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea ebx, [rcx + r8]
sub bl, 0x60
jmp 0x14015be7f
lea ecx, [r9 + 0x4e]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea ebx, [rcx + r8]
sub bl, 0x22
jmp 0x14015be82
lea edx, [r9 - 4]
mov ecx, reloc.WS2_32.dll_ntohl
jmp 0x14015bcf7
lea edx, [r9 - 0x56]
mov ecx, reloc.WLDAP32.dll_Ordinal_45
mov al, r8b
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, r8b
add bl, dl
jmp 0x14015bed7
lea ecx, [r9 + 0x58]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea ebx, [rcx + r8]
sub bl, 0x68
jmp 0x14015bf1b
lea ecx, [r9 - 0x75]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea ebx, [rcx + r8]
add bl, 0x33
mov byte [rbp + r9 - 0x50], bl
jmp 0x14015bf27
lea edx, [r9 + 0x39]
mov al, r8b
and al, dl
mov bl, r8b
add al, al
sub bl, al
add bl, 0x71
jmp 0x14015ba29
lea edx, [r9 - 0x19]
mov al, r8b
and al, dl
mov bl, r8b
add al, al
sub bl, al
sub bl, 0x51
add bl, dl
cmp rdi, 0x200
jae 0x14015bd59
lea rax, [r11 + 4]
cmp rdi, rax
jbe 0x14015bcc2
mov ecx, 9
lea edx, [r9 + 0x22]
mov al, r8b
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, r8b
add bl, dl
cmp r11, 0x61
jb 0x14015b9c5
mov ecx, reloc.WS2_32.dll_send
mov r10b, r9b
mov al, r8b
lea edx, [r10 + 0x56]
and al, dl
sub cl, al
add cl, cl
add cl, r8b
add cl, dl
lea ebx, [rcx + rcx]
jmp 0x14015be0e
lea ecx, [r9 - 0x6b]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 0x13
lea rax, [r11 + rdi]
cmp rax, 0x7a
je 0x14015bd79
lea rax, [r11 + 0xa]
cmp rdi, rax
jbe 0x14015bc30
lea ecx, [r9 - 0x3b]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 0x63
jmp 0x14015b9f9
lea ecx, [r9 + 0x2e]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 0x42
jmp 0x14015bf1b
lea ecx, [r9 - 0x24]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 4
jmp 0x14015bed7
lea edx, [r9 - 0x76]
mov ecx, Ordinal_33
jmp 0x14015bbcd
lea edx, [r9 + 0x38]
mov ecx, reloc.WLDAP32.dll_Ordinal_60
mov al, dl
and al, r8b
sub cl, al
lea ebx, [rcx + rcx]
add bl, dl
add bl, r8b
jmp 0x14015be82
lea ecx, [r9 - 0x1a]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 0x4a
jmp 0x14015be7f
mov r10b, r9b
lea ecx, [r10 - 0x6c]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 0xc
jmp 0x14015be61
lea edx, [r9 + 0x42]
mov ecx, Ordinal_27
mov al, dl
and al, r8b
sub cl, al
lea ebx, [rcx + rcx]
add bl, dl
add bl, r8b
jmp 0x14015be42
lea edx, [r9 - 0x10]
mov ecx, gethostname
jmp 0x14015bbf3
mov r10b, r9b
lea ecx, [r10 - 0x62]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 0x52
jmp 0x14015be0e
lea rax, [r11 + 0x200]
cmp rdi, rax
jae 0x14015bb99
lea ecx, [r9 + 0x29]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 0x1f
jmp 0x14015ba67
lea rax, [r11 + 1]
cmp rdi, rax
jne 0x14015bbbb
lea ecx, [r9 - 0x46]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 0x16
jmp 0x14015bf1b
lea rax, [r11 + 3]
cmp rdi, rax
jne 0x14015bbe1
lea edx, [r9 + 0x5e]
mov ecx, gethostname
mov al, dl
and al, r8b
sub cl, al
lea ebx, [rcx + rcx]
add bl, dl
add bl, r8b
jmp 0x14015beb1
lea rax, [r11 + 5]
cmp rdi, rax
jne 0x14015bc07
lea edx, [r9 - 8]
mov ecx, Ordinal_30
mov al, dl
and al, r8b
sub cl, al
lea ebx, [rcx + rcx]
add bl, dl
add bl, r8b
jmp 0x14015be29
lea rax, [r11 + 4]
cmp rdi, rax
jne 0x14015ba67
mov r10b, r9b
lea ecx, [r10 + 0x4a]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 6
jmp 0x14015be0e
lea rax, [r11 + 1]
cmp rdi, rax
jne 0x14015bc55
mov r10b, r9b
lea ecx, [r10 + 0x17]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
add bl, 0x5f
jmp 0x14015be0e
lea rax, [r11 + 2]
cmp rdi, rax
jne 0x14015bc77
lea ecx, [r9 - 0x45]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 0x1d
jmp 0x14015be42
lea rax, [r11 + 3]
cmp rdi, rax
jne 0x14015bc9c
mov r10b, r9b
lea ecx, [r10 + 0xd]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 0x5b
jmp 0x14015be61
lea rax, [r11 + 5]
cmp rdi, rax
jne 0x14015b9f9
lea ecx, [r9 + 0x5f]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
add bl, 0x67
jmp 0x14015be7f
lea rax, [r11 + 1]
cmp rdi, rax
jne 0x14015bce5
lea ecx, [r9 + 0x74]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea ebx, [rcx + r8]
sub bl, 0x2c
jmp 0x14015bf1b
lea rax, [r11 + 2]
cmp rdi, rax
jne 0x14015bd09
lea edx, [r9 + 0x18]
mov ecx, Ordinal_46
mov al, r8b
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, r8b
jmp 0x14015bd8c
lea rax, [r11 + 3]
cmp rdi, rax
jne 0x14015bd2f
lea edx, [r9 + 0x6a]
mov ecx, reloc.WS2_32.dll_listen
mov al, r8b
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, r8b
add bl, dl
jmp 0x14015be82
lea rax, [r11 + 6]
cmp rdi, rax
jne 0x14015ba2b
mov r10b, r9b
mov al, r8b
mov bl, r8b
lea edx, [r10 + 4]
and al, dl
add al, al
sub bl, al
sub bl, 0x1c
add bl, dl
jmp 0x14015be0e
mov cl, byte [rbp + r9 - 0x50]
mov r10b, r9b
mov al, r8b
lea edx, [r10 - 0x58]
and al, dl
sub cl, al
add cl, 0x34
lea ebx, [rcx + rcx]
add bl, dl
jmp 0x14015be61
mov ecx, reloc.WS2_32.dll_setsockopt
lea edx, [r9 - 6]
mov al, r8b
and al, dl
sub cl, al
lea ebx, [rcx + rcx]
add bl, dl
jmp 0x14015beb1
lea ecx, [r9 - 9]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
add bl, 0x3f
jmp 0x14015be7f
mov r10b, r9b
lea ecx, [r10 - 0x5b]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
add bl, 0x7d
jmp 0x14015be61
lea ecx, [r9 + 0x53]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 0x45
jmp 0x14015be42
mov r10b, r9b
lea ecx, [r10 - 0x51]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
add bl, 0x37
jmp 0x14015be0e
mov r10b, r9b
lea ecx, [r10 + 0xb]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
sub bl, 0x4d
mov al, r8b
add r10b, 0x7f
and al, r10b
add al, al
sub r8b, al
sub r8b, 0x79
add r8b, r10b
mov byte [rbp + r9 - 0x50], r8b
inc r11
jmp 0x14015be42
lea ecx, [r9 + 0x67]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
add bl, 0x2f
dec r9
jmp 0x14015bf27
mov r10b, r9b
lea ecx, [r10 + 0x15]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea ebx, [r8 + rcx]
add bl, 0x6d
mov al, r8b
sub r10b, 0x2f
and al, r10b
add al, al
sub r8b, al
add r8b, 0x49
add r8b, r10b
add r8b, bl
mov byte [rbp + r9 - 0x50], r8b
add rdi, r11
or rcx, 0xffffffffffffffff
movzx eax, bl
sub rcx, rax
add r9, rcx
jmp 0x14015bf27
mov r8b, dl
movabs rax, 0xda0072f86a421f1f
add rax, r9
and dl, al
add dl, dl
sub al, dl
lea ebx, [r8 + rax]
add bl, 0x27
lea edx, [r9 + 0x23]
mov al, r8b
and al, dl
inc r11
add al, al
mov cl, r8b
sub cl, al
add cl, 0xb
add cl, dl
movzx eax, cl
mov byte [rbp + r9 - 0x50], al
add rax, r11
sub r9, rax
mov al, r8b
lea ecx, [r9 + 0x4c]
and al, cl
inc rdi
add al, al
sub r8b, al
or rax, 0xffffffffffffffff
sub r8b, 0x14
sub rax, rdi
add r8b, cl
mov byte [rbp + r9 - 0x50], r8b
add r9, rax
jmp 0x14015bf1b
mov al, dl
movabs rcx, 0x5d6de821521c567b
add rcx, r9
and al, cl
add al, al
sub dl, al
lea ebx, [rcx + rdx]
sub bl, 0x5d
movzx eax, byte [rbp + r9 - 0x50]
add rax, r11
add r9, rax
inc r9
jmp 0x14015b5f5
add r9b, 0x4d
mov al, r8b
and al, r9b
add al, al
sub r8b, al
lea ebx, [r9 + r8]
sub bl, 0x1b
jmp 0x14015b5f2
sub r9b, 5
mov al, r8b
and al, r9b
add al, al
sub r8b, al
lea ebx, [r9 + r8]
add bl, 0x23
jmp 0x14015b5e2
lea rcx, [rbp + 0x158b33c]
jmp 0x14015bf7b
lea rcx, [rbp + 0xe22565]
jmp 0x14015bf7b
lea rcx, [rbp - 0x50]
call r12
mov rdx, r13
mov rcx, rax
call qword [rbp + 0x48]
mov r15, rax
test rax, rax
je 0x14015c117
mov rax, qword [rbp + 0x40]
test rax, rax
jne 0x14015c102
mov r10, qword [0x1403192d0]
test r10, r10
jne 0x14015c0fd
mov rcx, qword gs:[0x60]
xor edi, edi
mov esi, 0x9bc5a608
mov rdx, qword [rcx + 0x18]
mov rax, qword [rdx + 0x10]
mov r14, qword [rax]
mov r9, r14
movups xmm0, xmmword [r9 + 0x58]
mov r13d, 0x811c9dc5
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14015c01a
psrldq xmm0, 8
mov edx, r13d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14015c00d
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14015bffe
cmp edx, edi
jne 0x14015c0dd
mov r11, qword [r9 + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov rax, qword [rax + r11 + 0x88]
mov ebx, eax
add rbx, r11
shr rax, 0x20
cmp rbx, r11
je 0x14015c0dd
mov r10d, dword [rbx + 0x18]
test r10d, r10d
je 0x14015c0dd
mov r12d, dword [rbx + 0x20]
dec r10d
lea rdx, [r11 + r10*4]
mov r8d, dword [rdx + r12]
mov edx, r13d
add r8, r11
jmp 0x14015c06b
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14015c060
cmp edx, esi
je 0x14015c080
test r10d, r10d
jne 0x14015c04d
jmp 0x14015c0dd
mov edx, dword [rbx + 0x24]
add rdx, r11
movzx r9d, word [rdx + r10*2]
mov edx, dword [rbx + 0x1c]
add rdx, r11
mov r10d, dword [rdx + r9*4]
add r10, r11
cmp r10, rbx
jbe 0x14015c0f6
lea rcx, [rax + rbx]
cmp r10, rcx
jae 0x14015c0f6
mov edi, r13d
mov esi, r13d
jmp 0x14015c0bc
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r10
mov al, byte [r10]
cmp al, 0x2e
jne 0x14015c0ae
jmp 0x14015c0d0
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc r10
mov al, byte [r10]
test al, al
jne 0x14015c0c5
mov r9, qword [r14]
mov rax, qword [r9]
mov r9, rax
cmp rax, r14
je 0x14015c0f3
cmp qword [rax + 0x30], 0
jne 0x14015bfce
xor r10d, r10d
mov qword [0x1403192d0], r10
mov rcx, r10
jmp 0x14015c105
mov rcx, rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x11]
call r15
test eax, eax
sete al
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret