Function at 0x140155534
Capabilities:
Access peb ldr_data
Hash data using fnv
Parse pe header
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rsi, qword [0x14017c720]
mov edx, 8
mov r13d, 0x811c9dc5
test rsi, rsi
jne 0x1401556b9
mov rax, qword gs:[0x60]
xor ebx, ebx
mov edi, 0x53b2070f
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, dx
test ebx, ebx
je 0x1401555d1
psrldq xmm0, 8
mov edx, r13d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x1401555c4
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x1401555b5
cmp edx, ebx
jne 0x140155694
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 0x140155694
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x140155694
mov r12d, dword [r10 + 0x20]
dec r11d
mov esi, r13d
lea rcx, [r12 + r11*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x140155623
movsx ecx, cl
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x140155618
cmp esi, edi
je 0x140155637
test r11d, r11d
jne 0x140155605
jmp 0x140155694
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov esi, dword [rdx + r8*4]
add rsi, r9
cmp rsi, r10
jbe 0x1401556b2
lea rcx, [r10 + rax]
cmp rsi, rcx
jae 0x1401556b2
mov ebx, r13d
mov edi, r13d
jmp 0x140155675
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc rsi
mov al, byte [rsi]
cmp al, 0x2e
jne 0x140155667
jmp 0x140155688
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rsi
mov al, byte [rsi]
test al, al
jne 0x14015567d
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x1401556b0
cmp qword [rax + 0x30], 0
je 0x1401556b0
mov edx, 8
jmp 0x14015558c
xor esi, esi
mov qword [0x14017c720], rsi
mov dil, byte [rbp + 0x30]
xor eax, eax
mov dword [rbp - 0x50], 0x8fb6858e
mov r13b, 0x7c
mov dword [rbp - 0x4c], 0x93aa5390
mov word [rbp - 0x48], 0x194
lea r12d, [rax + 0x3c]
mov dword [rbp - 0x46], eax
lea r14d, [rax + 0x20]
mov word [rbp - 0x42], ax
lea r15d, [rax + 0x28]
mov byte [rbp - 0x40], al
call fcn.140158170
mov rbx, qword [rax]
call fcn.140158178
mov r10, qword [rax]
xor r9d, r9d
cmp r9, 0x11
jae 0x1401560ce
movzx r8d, byte [rbp + r9 - 0x50]
mov r11d, r8d
cmp rbx, r9
ja 0x1401560c5
lea rax, [r10 + 1]
cmp rbx, rax
jae 0x140155745
movabs rdi, 0xb30db6d7322d452c
mov al, r11b
add rdi, r9
and al, dil
add al, al
sub dil, al
sub dil, 0x34
jmp 0x1401559e5
je 0x14015604d
lea rax, [r10 + 2]
cmp rbx, rax
je 0x140155fdc
lea rax, [r10 + 3]
cmp rbx, rax
je 0x140155fa8
lea rax, [r10 + 5]
cmp rbx, rax
je 0x140155f69
lea rax, [r10 + 6]
cmp rbx, rax
je 0x140155f24
cmp r10, r9
ja 0x1401560bc
lea rax, [r10 + 9]
cmp rbx, rax
jae 0x1401557b1
movabs rcx, 0xb01fffa71db6ac9c
mov al, r11b
add rcx, r9
and al, cl
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x44
jmp 0x1401557f2
lea rax, [r10 + 1]
cmp rbx, rax
je 0x140155f16
lea rax, [r10 + 2]
cmp rbx, rax
je 0x140155eff
lea rax, [r10 + 4]
cmp rbx, rax
je 0x140155ee5
lea rax, [r10 + 7]
cmp rbx, rax
je 0x140155ecb
lea rax, [r10 + 8]
cmp rbx, rax
je 0x140155ebd
lea rax, [r10 + rbx]
cmp rax, r9
jbe 0x140155cab
lea rax, [r10 + 9]
cmp rbx, rax
je 0x140155c8e
lea rax, [r10 + 0x20]
cmp rbx, rax
je 0x140155c72
lea rax, [r10 + 0x41]
cmp rbx, rax
je 0x140155c59
lea rax, [r10 + 1]
cmp rbx, rax
je 0x140155c48
lea rax, [r10 + 4]
cmp rbx, rax
je 0x140155c2a
lea rax, [r10 + 0x80]
cmp rbx, rax
je 0x140155c10
lea rax, [r10 + 0x400]
cmp rbx, rax
je 0x140155bf2
lea rax, [r10 + 6]
cmp rbx, rax
je 0x140155bd8
lea rax, [r10 + 0xa]
cmp rbx, rax
je 0x140155bca
lea rax, [r10 + 0x28]
cmp rbx, rax
je 0x1401557ff
lea rbx, [r10 + 0x3e8]
lea r10, [rbx + 0x5a]
lea rax, [r10 + 0x61]
cmp rbx, rax
jb 0x14015609e
lea rax, [r10 + 9]
cmp rbx, rax
jb 0x140156082
lea rax, [r10 + 0x20]
cmp rbx, rax
jb 0x1401559ed
lea rax, [r10 + 0x41]
cmp rbx, rax
jb 0x1401559cf
lea rax, [r10 + 1]
cmp rbx, rax
jb 0x1401559b6
lea rax, [r10 + 4]
cmp rbx, rax
jb 0x140155b7d
lea rax, [r10 + 0x80]
cmp rbx, rax
jb 0x140155b36
lea rax, [r10 + 0x400]
cmp rbx, rax
jb 0x140155afb
lea rax, [r10 + 6]
cmp rbx, rax
jb 0x140155ad8
lea rax, [r10 + 0xa]
cmp rbx, rax
jb 0x1401557ff
lea rbx, [r10 + 0x64]
lea r10, [rbx + 0x28]
lea rax, [r10 + 0x3e8]
cmp rbx, rax
ja 0x140155abd
lea rax, [r10 + 5]
cmp rbx, rax
ja 0x140155aa3
lea rax, [r10 + 9]
cmp rbx, rax
ja 0x140155a97
lea rax, [r10 + 0x20]
cmp rbx, rax
ja 0x140155a7d
lea rax, [r10 + 0x41]
cmp rbx, rax
ja 0x140155a60
lea rax, [r10 + 1]
cmp rbx, rax
ja 0x140155a4d
lea rax, [r10 + 0x40]
cmp rbx, rax
ja 0x140155a33
lea rax, [r10 + 0x80]
cmp rbx, rax
ja 0x140155a25
lea rax, [r10 + 0x400]
cmp rbx, rax
ja 0x140155a07
lea rax, [r10 + 6]
cmp rbx, rax
ja 0x1401557ff
lea rbx, [r10 + 3]
lea r10, [rbx + 0xa]
jmp 0x1401557ff
lea ecx, [r9 - 0x1c]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, r12b
jmp 0x1401557f2
lea edx, [r9 - 0x74]
mov ecx, reloc.WLDAP32.dll_Ordinal_22
mov al, dl
and al, r8b
sub cl, al
lea edi, [rcx + rcx]
add dil, dl
add dil, r8b
jmp 0x14015577f
lea ecx, [r9 + 0x34]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x6c
jmp 0x140155712
mov cl, r9b
mov r11b, r9b
sub cl, r14b
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, r14b
jmp 0x140155f40
lea edx, [r9 - 0x78]
mov ecx, 0x24
jmp 0x140155c79
lea ecx, [r9 + 0x30]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x50
jmp 0x140155f61
mov dl, r9b
mov ecx, ntohs
sub dl, r15b
mov r11b, r9b
jmp 0x140155f75
lea ecx, [r9 + 0x80]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
add dil, 0x80
jmp 0x140155fa3
lea ecx, [r15 + r9]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x18
jmp 0x140155fc9
lea edx, [r9 - 0x30]
mov ecx, r15d
jmp 0x140155bfb
lea ecx, [r9 + 0x78]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x48
jmp 0x140156022
lea edx, [r14 + r9]
mov ecx, reloc.WS2_32.dll_recv
mov al, dl
and al, r8b
sub cl, al
lea edi, [rcx + rcx]
add dil, dl
jmp 0x14015606b
lea edx, [r9 + 0x44]
mov ecx, reloc.WS2_32.dll_select
mov al, dl
and al, r8b
sub cl, al
lea edi, [rcx + rcx]
add dil, dl
add dil, r8b
mov byte [rbp + r9 - 0x50], dil
jmp 0x14015607a
lea ecx, [r9 - 0x14]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x74
cmp r10, 3
jb 0x140155af1
mov r11b, r9b
lea ecx, [r11 - 0x78]
mov al, cl
and al, r8b
add al, al
sub cl, al
add cl, r8b
lea edi, [rcx*2 - 0x70]
jmp 0x140155f40
lea ecx, [r9 - 0x6c]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0xc
cmp rbx, 6
jae 0x140155e7e
lea rax, [r10 + 0x28]
cmp rbx, rax
jbe 0x140155e05
lea edx, [r9 + 0x18]
mov ecx, Ordinal_45
mov al, dl
and al, r8b
sub cl, al
lea edi, [rcx + rcx]
add dil, dl
add dil, r8b
jmp 0x140155b10
lea edx, [r12 + r9]
mov ecx, reloc.WLDAP32.dll_Ordinal_46
mov al, dl
and al, r8b
sub cl, al
lea edi, [rcx + rcx]
add dil, dl
add dil, r8b
lea rax, [r10 + rbx]
cmp rax, 0x3e8
je 0x140155ea4
lea rax, [r10 + 0x64]
cmp rbx, rax
jbe 0x140155d54
lea ecx, [r9 + r13]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x64
jmp 0x140155b4b
lea edx, [r9 - 0x58]
mov ecx, 0x34
jmp 0x140155ac6
lea ecx, [r9 + 0x50]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x30
jmp 0x140156022
lea edx, [r9 - 8]
mov ecx, Ordinal_32
mov al, dl
and al, r8b
sub cl, al
lea edi, [rcx + rcx]
add dil, dl
add dil, r8b
jmp 0x140155ffa
lea ecx, [r9 - 0x60]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x60
jmp 0x140155fc9
lea edx, [r9 + 0x48]
mov ecx, 4
mov al, dl
and al, r8b
sub cl, al
lea edi, [rcx + rcx]
add dil, dl
add dil, r8b
jmp 0x140155fa3
mov r11b, r9b
mov ecx, Ordinal_60
lea edx, [r11 - 0x10]
jmp 0x140155f75
lea ecx, [r9 - 0x68]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, r15b
jmp 0x140155f61
lea edx, [r9 + 0x40]
mov ecx, r14d
mov al, dl
and al, r8b
sub cl, al
lea edi, [rcx + rcx]
add dil, dl
add dil, r8b
jmp 0x140155f5e
mov r11b, r9b
lea ecx, [r11 - 0x18]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x58
jmp 0x140155f40
lea rax, [r10 + 0x5a]
cmp rbx, rax
jae 0x140155cce
lea ecx, [r9 + 0x2c]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x34
jmp 0x140155b96
lea rax, [r10 + 1]
cmp rbx, rax
jne 0x140155ce3
lea edx, [r9 + 0x38]
mov ecx, r12d
jmp 0x140155ac6
lea rax, [r10 + 2]
cmp rbx, rax
jne 0x140155d06
lea ecx, [r9 - 0x18]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x58
jmp 0x140155ffa
lea rax, [r10 + 5]
cmp rbx, rax
je 0x140155c48
lea rax, [r10 + 4]
cmp rbx, rax
jne 0x140155d36
lea ecx, [r9 - 0x60]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x60
jmp 0x140155f5e
lea rax, [r10 + 7]
cmp rbx, rax
jne 0x140155b96
mov r11b, r9b
mov ecx, Ordinal_32
lea edx, [r11 - 8]
jmp 0x140155f30
lea rax, [r10 + 1]
cmp rbx, rax
jne 0x140155d6e
mov r11b, r9b
mov ecx, reloc.WLDAP32.dll_Ordinal_26
lea edx, [r11 - 0x2c]
jmp 0x140155f30
lea rax, [r10 + 2]
cmp rbx, rax
jne 0x140155d91
lea ecx, [r9 + 0x2c]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x34
jmp 0x140155f5e
lea rax, [r10 + 3]
cmp rbx, rax
jne 0x140155dba
mov ecx, reloc.WLDAP32.dll_Ordinal_50
mov dl, r9b
sub dl, r13b
mov al, dl
and al, r8b
sub cl, al
lea edi, [rcx + rcx]
add dil, dl
add dil, r8b
jmp 0x140155f61
lea rax, [r10 + 5]
cmp rbx, rax
jne 0x140155dde
lea edx, [r9 - 0x74]
mov ecx, reloc.WLDAP32.dll_Ordinal_22
mov al, dl
and al, r8b
sub cl, al
lea edi, [rcx + rcx]
add dil, dl
jmp 0x140155fc6
lea rax, [r10 + 4]
cmp rbx, rax
jne 0x140155b4b
lea ecx, [r9 - 0x6c]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0xc
jmp 0x14015606e
lea rax, [r10 + 1]
cmp rbx, rax
jne 0x140155e28
lea ecx, [r9 + 0x70]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x10
jmp 0x14015606e
lea rax, [r10 + 3]
cmp rbx, rax
jne 0x140155e3f
lea edx, [r14 + r9]
mov ecx, reloc.WS2_32.dll_recv
jmp 0x140155bfb
lea rax, [r10 + 2]
cmp rbx, rax
jne 0x140155e54
lea edx, [r9 - 0x30]
mov ecx, r15d
jmp 0x140155c33
lea rax, [r10 + 7]
cmp rbx, rax
jne 0x140155b10
mov r11b, r9b
lea ecx, [r11 + 0x30]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x50
jmp 0x140155f40
mov dil, byte [rbp + r9 - 0x50]
mov dl, r9b
sub dl, r14b
mov r11b, r9b
mov al, dl
and al, r8b
add al, al
sub dil, al
add dil, dl
add dil, r8b
sub dil, r14b
jmp 0x140155f85
lea edx, [r9 + 0x38]
mov ecx, r12d
mov al, dl
and al, r8b
sub cl, al
lea edi, [rcx + rcx]
add dil, dl
jmp 0x140155ffa
lea edx, [r9 - 0x4c]
mov ecx, 0xa
jmp 0x140155ac6
lea ecx, [r9 + 4]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x1c
jmp 0x140155ffa
lea ecx, [r9 + 0x54]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x4c
jmp 0x140155fa3
lea ecx, [r9 + 0x4c]
mov al, cl
and al, r8b
add al, al
sub cl, al
lea edi, [r8 + rcx]
sub dil, 0x14
jmp 0x140155f5e
mov r11b, r9b
mov ecx, Ordinal_45
lea edx, [r11 - 0xc]
jmp 0x140155f30
mov r11b, r9b
mov ecx, reloc.WS2_32.dll_select
lea edx, [r11 + 0x44]
mov al, dl
and al, r8b
sub cl, al
lea edi, [rcx + rcx]
add dil, dl
add dil, r8b
sub r11b, 0x4c
mov al, r8b
and al, r11b
mov ecx, 0xa
sub cl, al
add cl, cl
add cl, r8b
add cl, r11b
mov byte [rbp + r9 - 0x50], cl
inc r10
dec r9
jmp 0x14015607a
mov r11b, r9b
mov ecx, reloc.WLDAP32.dll_Ordinal_46
lea edx, [r12 + r11]
mov al, dl
and al, r8b
sub cl, al
lea edi, [rcx + rcx]
add dil, dl
add dil, r8b
mov al, r8b
add r11b, 0xc
and al, r11b
add al, al
sub r8b, al
sub r8b, 0x54
add r8b, r11b
add r8b, dil
mov byte [rbp + r9 - 0x50], r8b
add rbx, r10
jmp 0x140155fc9
mov ecx, reloc.WLDAP32.dll_Ordinal_22
movabs rax, 0x4b7b6d90c3976e8c
add rax, r9
and r11b, al
sub cl, r11b
lea edi, [rcx + rcx]
add dil, al
add dil, r8b
or rcx, 0xffffffffffffffff
movzx eax, dil
sub rcx, rax
add r9, rcx
jmp 0x14015607a
movabs rax, 0xe55fffe25f3ce434
add rax, r9
and r11b, al
add r11b, r11b
sub al, r11b
lea edi, [r8 + rax]
sub dil, 0x6c
lea edx, [r9 + 0x64]
mov al, r8b
and al, dl
inc r10
mov ecx, Ordinal_35
sub cl, al
add cl, cl
add cl, r8b
add cl, dl
movzx eax, cl
mov byte [rbp + r9 - 0x50], al
add rax, r10
sub r9, rax
lea edx, [r9 - 0x70]
mov al, r8b
and al, dl
inc rbx
mov ecx, 8
sub cl, al
or rax, 0xffffffffffffffff
add cl, cl
sub rax, rbx
add cl, r8b
add cl, dl
mov byte [rbp + r9 - 0x50], cl
add r9, rax
jmp 0x14015606e
mov ecx, reloc.WLDAP32.dll_Ordinal_50
movabs rax, 0x192924859687cf84
add rax, r9
and r11b, al
sub cl, r11b
lea edi, [rcx + rcx]
add dil, al
add dil, r8b
movzx eax, byte [rbp + r9 - 0x50]
add rax, r10
add r9, rax
inc r9
jmp 0x1401556ff
sub r9b, 0x24
mov al, r9b
and al, r8b
add al, al
sub r9b, al
lea edi, [r8 + r9]
sub dil, 4
jmp 0x1401556fc
sub r9b, r13b
mov ecx, reloc.WLDAP32.dll_Ordinal_50
mov al, r9b
and al, r8b
sub cl, al
lea edi, [rcx + rcx]
add dil, r9b
add dil, r8b
jmp 0x1401556ec
lea rcx, [rbp + 0x16a7940]
jmp 0x1401560d2
lea rcx, [rbp + 0x97be6c]
jmp 0x1401560d2
lea rcx, [rbp - 0x50]
call rsi
mov r12, qword [0x14017c718]
mov r13, rax
test r12, r12
jne 0x14015623e
mov rcx, qword gs:[0x60]
xor esi, esi
mov r14d, 0xf8f45725
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov r15, qword [rcx]
mov rbx, r15
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test esi, esi
je 0x14015614d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x140156140
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140156131
cmp edx, esi
jne 0x14015621e
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 0x14015621e
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14015621e
mov edi, dword [r10 + 0x20]
dec r11d
lea rdx, [rdi + r11*4]
mov r8d, dword [rdx + r9]
mov edx, 0x811c9dc5
add r8, r9
jmp 0x1401561a1
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x140156196
cmp edx, r14d
je 0x1401561b7
test r11d, r11d
jne 0x140156181
jmp 0x14015621e
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 0x140156237
lea rcx, [r10 + rax]
cmp r12, rcx
jae 0x140156237
mov eax, 0x811c9dc5
mov esi, eax
mov r14d, eax
jmp 0x1401561f9
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc r12
mov al, byte [r12]
cmp al, 0x2e
jne 0x1401561eb
jmp 0x140156210
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
inc r12
mov al, byte [r12]
test al, al
jne 0x140156203
mov rbx, qword [r15]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
je 0x140156234
cmp qword [rax + 0x30], 0
jne 0x140156106
xor r12d, r12d
mov qword [0x14017c718], r12
mov dil, byte [rbp + 0x30]
xor eax, eax
xorps xmm0, xmm0
mov dword [rbp - 9], eax
movups xmmword [rbp - 0x19], xmm0
mov word [rbp - 5], ax
mov dword [rbp - 0x30], 0x9ced8df8
mov dword [rbp - 0x2c], 0x9992f68e
mov dword [rbp - 0x28], 0xa0afb38f
mov dword [rbp - 0x24], 0xa9b5aeb6
mov dword [rbp - 0x20], 0xacbaa1d2
mov word [rbp - 0x1c], 0xa9a9
mov byte [rbp - 0x1a], ntohs
call fcn.140158170
mov rbx, qword [rax]
call fcn.140158178
mov r10, qword [rax]
xor r9d, r9d
cmp r9, 0x2d
jae 0x140156bdc
movzx r8d, byte [rbp + r9 - 0x30]
mov r11d, r8d
mov edx, r8d
cmp rbx, r9
ja 0x140156bd3
lea rax, [r10 + 1]
cmp rbx, rax
jae 0x1401562db
movabs rdi, 0x513d024d756330d7
mov al, r11b
add rdi, r9
and al, dil
add al, al
sub dil, al
add dil, 0x1f
add dil, r8b
jmp 0x1401562fb
je 0x140156b62
lea rax, [r10 + 3]
cmp rbx, rax
je 0x140156b36
lea rax, [r10 + 4]
cmp rbx, rax
je 0x140156b1b
cmp r10, r9
ja 0x140156bca
lea rcx, [r10 + 5]
cmp rbx, rcx
jae 0x140156327
lea edx, [r9 - 0x5d]
mov al, r8b
and al, dl
mov dil, r8b
add al, al
sub dil, al
sub dil, 0x75
jmp 0x14015652d
lea rax, [r10 + 1]
cmp rbx, rax
je 0x140156add
lea rax, [r10 + 2]
cmp rbx, rax
je 0x140156ac5
lea rax, [r10 + 4]
cmp rbx, rax
je 0x140156aad
cmp rbx, rcx
je 0x140156a67
lea rax, [r10 + rbx]
cmp rax, r9
jbe 0x1401567d1
lea rax, [r10 + 0x200]
cmp rbx, rax
je 0x1401567b3
lea rax, [r10 + 6]
cmp rbx, rax
je 0x140156798
lea rax, [r10 + 0x20]
cmp rbx, rax
je 0x14015677d
lea rax, [r10 + 0x2a]
cmp rbx, rax
je 0x14015676c
lea rax, [r10 + 0x42]
cmp rbx, rax
je 0x14015674e
lea rax, [r10 + 0x400]
cmp rbx, rax
je 0x140156733
lea rax, [r10 + 9]
cmp rbx, rax
je 0x140156716
lea rax, [r10 + 0x7a]
cmp rbx, rax
je 0x1401566fb
lea rax, [r10 + 2]
cmp rbx, rax
je 0x1401566ed
lea rax, [r10 + 0x80]
cmp rbx, rax
je 0x140156364
lea rbx, [r10 + 6]
lea r10, [rbx + 0x61]
lea rax, [r10 + 0x1000]
cmp rbx, rax
jb 0x140156bae
lea rax, [r10 + 0x2a]
cmp rbx, rax
jb 0x140156b92
lea rax, [r10 + 0x42]
cmp rbx, rax
jb 0x140156552
lea rax, [r10 + 3]
cmp rbx, rax
jb 0x140156535
lea rax, [r10 + 9]
cmp rbx, rax
jb 0x140156518
lea rax, [r10 + 0x7a]
cmp rbx, rax
jb 0x1401566d3
lea rax, [r10 + 0x20]
cmp rbx, rax
jb 0x1401566b9
lea rax, [r10 + 0x80]
cmp rbx, rax
jb 0x140156679
lea rax, [r10 + 5]
cmp rbx, rax
jb 0x140156659
lea rax, [r10 + 0x10]
cmp rbx, rax
jb 0x140156364
lea rbx, [r10 + 0xa]
lea r10, [rbx + 0x5a]
lea rax, [r10 + 0x42]
cmp rbx, rax
ja 0x14015664b
lea rax, [r10 + 3]
cmp rbx, rax
ja 0x140156631
lea rax, [r10 + 0x200]
cmp rbx, rax
ja 0x140156614
lea rax, [r10 + 0x7a]
cmp rbx, rax
ja 0x1401565f6
lea rax, [r10 + 0x20]
cmp rbx, rax
ja 0x1401565e8
lea rax, [r10 + 0x2a]
cmp rbx, rax
ja 0x1401565c8
lea rax, [r10 + 5]
cmp rbx, rax
ja 0x1401565ad
lea rax, [r10 + 0x400]
cmp rbx, rax
ja 0x14015658f
lea rax, [r10 + 0x5a]
cmp rbx, rax
ja 0x140156571
lea rax, [r10 + 0x40]
cmp rbx, rax
ja 0x140156364
lea rbx, [r10 + 3]
lea r10, [rbx + 2]
jmp 0x140156364
lea edx, [r9 - 0x43]
mov al, r8b
and al, dl
mov dil, r8b
add al, al
sub dil, al
sub dil, 0x2b
add dil, dl
jmp 0x140156357
lea edx, [r9 + 0xf]
mov al, r8b
and al, dl
mov dil, r8b
add al, al
sub dil, al
sub dil, 0x69
add dil, dl
jmp 0x1401562fb
lea edx, [r9 + 0x61]
mov al, r8b
and al, dl
mov dil, r8b
add al, al
add dl, 0x59
sub dil, al
add dil, dl
mov rdx, r11
jmp 0x1401562a8
mov ecx, Ordinal_45
lea edx, [r9 + 0x18]
mov al, r8b
mov r11b, r9b
and al, dl
sub cl, al
lea edi, [rcx + rcx]
add dil, r8b
jmp 0x140156af5
lea edx, [r9 + 0x6a]
mov ecx, reloc.WS2_32.dll_listen
mov al, r8b
and al, dl
sub cl, al
lea edi, [rcx + rcx]
add dil, r8b
add dil, dl
jmp 0x140156b13
lea ecx, [r9 - 0x44]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea edi, [rcx + r8]
sub dil, 0x24
jmp 0x140156b16
lea edx, [r9 + 0xe]
mov al, r8b
and al, dl
mov dil, r8b
add al, al
mov r11b, r9b
sub dil, al
sub dil, 0x62
add dil, dl
jmp 0x1401569fa
lea edx, [r9 + 0x60]
mov ecx, Ordinal_50
jmp 0x140156757
lea edx, [r9 - 0x4e]
mov ecx, reloc.WS2_32.dll_recvfrom
mov al, r8b
and al, dl
sub cl, al
lea edi, [rcx + rcx]
add dil, r8b
add dil, dl
jmp 0x140156b52
lea edx, [r9 + 4]
mov al, r8b
and al, dl
mov dil, r8b
add al, al
mov r11b, r9b
sub dil, al
sub dil, 0x1c
jmp 0x140156a3a
lea edx, [r9 + 0x56]
mov al, r8b
and al, dl
mov dil, r8b
add al, al
sub dil, al
sub dil, 0x5a
jmp 0x140156a7c
lea edx, [r9 - 0x58]
mov ecx, 0x34
jmp 0x140156859
lea ecx, [r9 + 0x75]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea edi, [rcx + r8]
sub dil, 0x33
mov byte [rbp + r9 - 0x30], dil
jmp 0x140156b8a
lea edx, [r9 - 0x39]
mov al, r8b
and al, dl
mov dil, r8b
add al, al
sub dil, al
sub dil, 0x71
add dil, dl
cmp r10, 4
jb 0x14015666f
mov cl, r8b
mov r11b, r9b
mov al, r8b
lea edx, [r11 - 0x56]
and al, dl
add al, al
sub cl, al
add cl, dl
lea edi, [rcx*2 - 0x4c]
jmp 0x140156af8
lea edx, [r9 + 0x19]
mov al, r8b
and al, dl
mov dil, r8b
add al, al
sub dil, al
add dil, 0x51
jmp 0x140156822
lea edx, [r9 + 0x6b]
mov al, r8b
and al, dl
mov dil, r8b
add al, al
sub dil, al
add dil, 0x13
jmp 0x1401567ef
lea edx, [r9 - 0x2e]
mov ecx, reloc.WLDAP32.dll_Ordinal_33
jmp 0x140156859
mov ecx, 2
lea edx, [r9 + 0x24]
mov al, r8b
and al, dl
sub cl, al
lea edi, [rcx + rcx]
add dil, r8b
jmp 0x140156a7c
mov r11b, r9b
mov al, r8b
mov dil, r8b
lea edx, [r11 + 0x76]
and al, dl
add al, al
sub dil, al
sub dil, 0x3a
jmp 0x140156a3a
lea ecx, [r9 - 0x38]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea edi, [rcx + r8]
sub dil, 0x78
jmp 0x140156b52
lea edx, [r9 + 0x1a]
mov ecx, Ordinal_41
mov al, r8b
and al, dl
sub cl, al
lea edi, [rcx + rcx]
add dil, r8b
add dil, dl
jmp 0x140156b31
mov r11b, r9b
mov ecx, 6
lea edx, [r11 + 0x6c]
jmp 0x1401568a9
lea ecx, [r9 - 0x42]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea edi, [rcx + r8]
sub dil, 0x32
jmp 0x140156b16
lea ecx, [r9 + 0x10]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea edi, [rcx + r8]
sub dil, 0x70
jmp 0x140156b13
mov r11b, r9b
mov ecx, reloc.WLDAP32.dll_Ordinal_41
lea edx, [r11 + 0x62]
mov al, r8b
and al, dl
sub cl, al
lea edi, [rcx + rcx]
add dil, r8b
jmp 0x140156af5
lea rax, [r10 + 0xa]
cmp rbx, rax
jae 0x140156847
lea edx, [r9 - 0x29]
mov al, r8b
and al, dl
mov dil, r8b
add al, al
sub dil, al
add dil, 0x1f
add dil, dl
lea rax, [r10 + rbx]
cmp rax, 0x41
je 0x140156a1d
lea rax, [r10 + 0x7a]
cmp rbx, rax
jbe 0x1401568dc
lea edx, [r9 + 0x3b]
mov al, r8b
and al, dl
mov dil, r8b
add al, al
sub dil, al
add dil, 0x63
add dil, dl
cmp rbx, 1
jae 0x1401569da
lea rax, [r10 + 1]
cmp rbx, rax
jne 0x140156974
lea edx, [r9 - 0x74]
mov ecx, reloc.WLDAP32.dll_Ordinal_22
jmp 0x140156859
lea rax, [r10 + 1]
cmp rbx, rax
jne 0x14015686e
lea edx, [r9 + 0x46]
mov ecx, ntohs
mov al, r8b
and al, dl
sub cl, al
lea edi, [rcx + rcx]
add dil, r8b
add dil, dl
jmp 0x140156b7e
lea rax, [r10 + 3]
cmp rbx, rax
jne 0x140156894
mov r11b, r9b
mov al, r8b
mov dil, r8b
lea edx, [r11 - 0x5e]
and al, dl
add al, al
sub dil, al
sub dil, 0x6e
jmp 0x140156a3a
lea rax, [r10 + 5]
cmp rbx, rax
jne 0x1401568be
mov r11b, r9b
mov ecx, Ordinal_41
lea edx, [r11 - 0x54]
mov al, r8b
and al, dl
sub cl, al
lea edi, [rcx + rcx]
add dil, r8b
add dil, dl
jmp 0x1401569fa
lea rax, [r10 + 2]
cmp rbx, rax
jne 0x1401567f2
mov r11b, r9b
mov ecx, 3
lea edx, [r11 - 0x4a]
jmp 0x1401567bf
lea rax, [r10 + 1]
cmp rbx, rax
jne 0x140156902
mov r11b, r9b
mov al, r8b
mov dil, r8b
lea edx, [r11 - 0x17]
and al, dl
add al, al
sub dil, al
sub dil, 0x5f
jmp 0x140156af5
lea rax, [r10 + 2]
cmp rbx, rax
jne 0x140156926
lea ecx, [r9 + 0x45]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea edi, [rcx + r8]
add dil, 0x1d
jmp 0x140156b16
lea rax, [r10 + 5]
cmp rbx, rax
jne 0x14015694a
lea ecx, [r9 + 0x4f]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea edi, [rcx + r8]
sub dil, 0x29
jmp 0x140156b52
lea rax, [r10 + 7]
cmp rbx, rax
jne 0x140156825
mov r11b, r9b
mov al, r8b
mov dil, r8b
lea edx, [r11 - 3]
and al, dl
add al, al
sub dil, al
add dil, 0x15
jmp 0x140156a3a
lea rax, [r10 + 3]
cmp rbx, rax
jne 0x14015698e
mov r11b, r9b
mov ecx, Ordinal_50
lea edx, [r11 - 0xe]
jmp 0x1401568a9
lea rax, [r10 + 7]
cmp rbx, rax
jne 0x1401569b2
lea ecx, [r9 - 0x60]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea edi, [rcx + r8]
sub dil, 0x60
jmp 0x140156b16
lea rax, [r10 + 2]
cmp rbx, rax
jne 0x140156691
lea ecx, [r9 + 0x4e]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea edi, [rcx + r8]
sub dil, 0x22
jmp 0x140156b13
mov dil, byte [rbp + r9 - 0x30]
mov r11b, r9b
mov al, r8b
lea edx, [r11 + 0x58]
and al, dl
add al, al
sub dil, al
sub dil, 0x68
add dil, dl
add dil, r8b
mov al, r8b
add r11b, 0x2f
and al, r11b
add al, al
sub r8b, al
sub r8b, 0x49
add r8b, r11b
add r8b, dil
mov byte [rbp + r9 - 0x30], r8b
jmp 0x140156b31
mov r11b, r9b
mov al, r8b
mov dil, r8b
lea edx, [r11 + 6]
and al, dl
add al, al
sub dil, al
sub dil, byte [rbp + r9 - 0x30]
sub dil, 0x2a
add dil, dl
sub r11b, 0x23
mov al, r8b
and al, r11b
inc r10
add al, al
mov cl, r8b
sub cl, al
sub cl, 0xb
add cl, r11b
movzx eax, cl
mov byte [rbp + r9 - 0x30], al
add rax, r10
sub r9, rax
jmp 0x140156a7f
lea edx, [r9 + 0x13]
mov al, r8b
and al, dl
mov dil, r8b
add al, al
sub dil, al
add dil, 0x7b
add dil, dl
lea edx, [r9 - 0x4c]
mov al, r8b
and al, dl
inc rbx
mov ecx, 0xa
sub cl, al
or rax, 0xffffffffffffffff
add cl, cl
sub rax, rbx
add cl, r8b
add cl, dl
mov byte [rbp + r9 - 0x30], cl
add r9, rax
jmp 0x140156b7e
lea ecx, [r9 + 9]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea edi, [rcx + r8]
sub dil, 0x3f
jmp 0x140156b31
lea ecx, [r9 - 0x53]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea edi, [rcx + r8]
add dil, 0x45
jmp 0x140156b16
mov r11b, r9b
mov al, r8b
mov dil, r8b
lea edx, [r11 + 0x51]
and al, dl
add al, al
sub dil, al
sub dil, 0x37
add dil, dl
mov al, r8b
sub r11b, 0x7f
and al, r11b
add al, al
sub r8b, al
add r8b, 0x79
add r8b, r11b
mov byte [rbp + r9 - 0x30], r8b
inc r10
dec r9
jmp 0x140156b8a
lea ecx, [r9 + 0x3d]
mov al, r8b
and al, cl
add al, al
sub r8b, al
lea edi, [rcx + r8]
add dil, 0x55
add rbx, r10
jmp 0x140156b52
movabs rcx, 0xdb2514b9207cb78f
add rcx, r9
mov al, cl
and al, dl
add al, al
sub cl, al
lea edi, [rdx + rcx]
add dil, 0x17
or rcx, 0xffffffffffffffff
movzx eax, dil
sub rcx, rax
add r9, rcx
jmp 0x140156b8a
movabs rcx, 0xf3b706e860299285
add rcx, r9
mov al, cl
and al, dl
add al, al
sub cl, al
lea edi, [rdx + rcx]
add dil, 0x5d
movzx eax, byte [rbp + r9 - 0x30]
add rax, r10
add r9, rax
inc r9
jmp 0x140156292
sub r9b, 0x4d
mov al, r8b
and al, r9b
add al, al
sub r8b, al
lea edi, [r9 + r8]
add dil, 0x1b
jmp 0x14015628f
add r9b, 5
mov al, r8b
and al, r9b
add al, al
sub r8b, al
lea edi, [r9 + r8]
sub dil, 0x23
jmp 0x14015627f
lea rdx, [rbp + 0x164d044]
jmp 0x140156be0
lea rdx, [rbp + 0x108011b]
jmp 0x140156be0
lea rdx, [rbp - 0x30]
mov rcx, r13
call r12
mov rdx, qword [0x14017c710]
mov r12, rax
test rdx, rdx
jne 0x140156d43
mov rcx, qword gs:[0x60]
xor edi, edi
mov esi, 0x9bc5a608
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov r14, qword [rcx]
mov r11, r14
movups xmm0, xmmword [r11 + 0x58]
mov r13d, 0x811c9dc5
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x140156c63
psrldq xmm0, 8
mov edx, r13d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x140156c56
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140156c47
cmp edx, edi
jne 0x140156d24
mov r9, qword [r11 + 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 0x140156d24
mov ebx, dword [r10 + 0x18]
test ebx, ebx
je 0x140156d24
mov r15d, dword [r10 + 0x20]
dec ebx
lea rdx, [r15 + rbx*4]
mov r8d, dword [rdx + r9]
mov edx, r13d
add r8, r9
jmp 0x140156cb3
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x140156ca8
cmp edx, esi
je 0x140156cc7
test ebx, ebx
jne 0x140156c96
jmp 0x140156d24
mov ecx, dword [r10 + 0x24]
mov edx, dword [r10 + 0x1c]
add rcx, r9
add rdx, r9
movzx r8d, word [rcx + rbx*2]
mov edx, dword [rdx + r8*4]
add rdx, r9
cmp rdx, r10
jbe 0x140156d3c
lea rcx, [r10 + rax]
cmp rdx, rcx
jae 0x140156d3c
mov edi, r13d
mov esi, r13d
jmp 0x140156d05
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x140156cf7
jmp 0x140156d18
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x140156d0d
mov r11, qword [r14]
mov rax, qword [r11]
mov r11, rax
cmp rax, r14
je 0x140156d3a
cmp qword [rax + 0x30], 0
jne 0x140156c17
xor edx, edx
mov qword [0x14017c710], rdx
call rdx
xor r9d, r9d
mov rcx, rax
xor r8d, r8d
lea edx, [r9 + 0x11]
call r12
test eax, eax
je 0x140156d65
mov qword [0], 1
lea r11, [rsp + 0x70]
xor al, al
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret