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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rdi, rcx
mov rcx, r8
movsxd rbx, r9d
mov rsi, rdx
call fcn.1800940b0
mov ecx, dword [rsi + 0x10]
mov r11d, dword [rsi + 0x14]
xor r14d, r14d
mov rbp, rax
mov eax, dword [rsi]
sub rbp, rbx
mov r13d, r14d
mov r15d, r14d
mov r9d, r14d
mov dword [rsp + 0x98], r14d
mov r8d, r14d
mov dword [rsp + 0x20], r14d
mov r12d, r14d
mov dword [rsp + 0x24], r14d
cmp eax, 0xcefaedfe
je 0x1800942be
cmp eax, 0xfefaedfe
mov eax, r14d
jne 0x1800942c3
mov eax, 1
mov r10, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
mov dword [rdx], r14d
mov dword [rbx], r14d
mov dword [r10], r14d
mov r10, qword [rsp + 0xb8]
movsxd r14, eax
mov byte [r10], 1
test ecx, ecx
je 0x180094958
movabs rax, 0xff0000000000
mov qword [rsp + 0x30], rax
nop word [rax + rax]
dec ecx
mov rbx, rdi
mov dword [rsp + 0x80], ecx
cmp r11d, 8
jb 0x180094b91
test r14, r14
je 0x180094380
mov ecx, dword [rdi]
mov edx, ecx
mov eax, ecx
shr ecx, 8
shl edx, 0x10
and eax, 0xff00
and ecx, 0xff00
or edx, eax
movzx eax, byte [rdi + 3]
shl edx, 8
or edx, ecx
mov ecx, dword [rdi + 4]
or edx, eax
mov eax, ecx
mov dword [rdi], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [rdi + 7]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [rsp + 0x80]
or edx, eax
mov dword [rdi + 4], edx
mov eax, dword [rdi + 4]
lea rdx, [rdi + 4]
cmp eax, r11d
ja 0x180094b91
sub r11d, eax
add rdi, rax
mov eax, dword [rbx]
mov dword [rsp + 0x28], r11d
mov qword [rsp + 0x38], rdi
cmp eax, 0x17
ja 0x180094b64
cmp eax, 0xc
jae case.0x1800943d7.3
dec eax
cmp eax, 0xa
ja case.default.0x1800943d7
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x95348]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov r8d, dword [rdx]
cmp r8d, 0x38
jb 0x180094b91
mov eax, dword [rsi]
cmp eax, 0xcefaedfe
je 0x1800943fa
cmp eax, 0xfeedface
jne 0x1800952ef
test r14, r14
je 0x180094543
mov ecx, dword [rbx + 0x18]
mov edx, ecx
mov eax, ecx
shr ecx, 8
shl edx, 0x10
and eax, 0xff00
and ecx, 0xff00
or edx, eax
movzx eax, byte [rbx + 0x1b]
shl edx, 8
or edx, ecx
mov ecx, dword [rbx + 0x1c]
or edx, eax
mov eax, ecx
mov dword [rbx + 0x18], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [rbx + 0x1f]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [rbx + 0x20]
or edx, eax
mov eax, ecx
mov dword [rbx + 0x1c], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [rbx + 0x23]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [rbx + 0x24]
or edx, eax
mov eax, ecx
mov dword [rbx + 0x20], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [rbx + 0x27]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [rbx + 0x28]
or edx, eax
mov eax, ecx
mov dword [rbx + 0x24], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [rbx + 0x2b]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [rbx + 0x2c]
or edx, eax
mov eax, ecx
mov dword [rbx + 0x28], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [rbx + 0x2f]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [rbx + 0x30]
or edx, eax
mov dword [rbx + 0x2c], edx
mov edx, ecx
shl edx, 0x10
mov eax, ecx
shr ecx, 8
and eax, 0xff00
and ecx, 0xff00
or edx, eax
movzx eax, byte [rbx + 0x33]
shl edx, 8
or edx, ecx
mov ecx, dword [rbx + 0x34]
or edx, eax
mov eax, ecx
mov dword [rbx + 0x30], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [rbx + 0x37]
and ecx, 0xff00
shl edx, 8
or edx, ecx
or edx, eax
mov dword [rbx + 0x34], edx
mov ecx, dword [rbx + 0x24]
test ecx, ecx
je 0x180094567
mov edx, dword [rbx + 0x20]
cmp rdx, rbp
ja 0x180094b91
lea rax, [rdx + rcx]
cmp rax, rbp
ja 0x180094b91
test ecx, ecx
jne 0x180094571
cmp dword [rbx + 0x20], 0
jne 0x180094b91
cmp dword [rbx + 0x1c], ecx
jb 0x180094b91
mov ecx, dword [rbx + 0x2c]
mov eax, dword [rbx + 0x28]
and eax, ecx
cmp eax, ecx
jne 0x180094b91
test dword [rbx + 0x34], 0xfffffff0
jne 0x180094b91
mov r12d, dword [rbx + 0x30]
lea rax, [r8 - 0x38]
mov ecx, r12d
imul rcx, rcx, 0x44
cmp rcx, rax
ja 0x180094b91
cmp dword [rsi + 0xc], 1
mov r8d, dword [rsp + 0x20]
jne 0x1800945c3
test r8d, r8d
jg 0x180094ac4
inc r8d
mov dword [rsp + 0x20], r8d
test r12d, r12d
je 0x18009492c
lea rdi, [rbx + 0x5f]
nop dword [rax + rax]
dec r12d
test r14, r14
je 0x180094753
mov ecx, dword [rdi - 7]
mov edx, ecx
mov eax, ecx
shr ecx, 8
shl edx, 0x10
and eax, 0xff00
and ecx, 0xff00
or edx, eax
movzx eax, byte [rdi - 4]
shl edx, 8
or edx, eax
or edx, ecx
mov ecx, dword [rdi - 3]
mov dword [rdi - 7], edx
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
movzx eax, byte [rdi]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [rdi + 1]
or edx, eax
mov eax, ecx
mov dword [rdi - 3], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [rdi + 4]
and ecx, 0xff00
shl edx, 8
or edx, eax
or edx, ecx
mov ecx, dword [rdi + 5]
mov dword [rdi + 1], edx
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
movzx eax, byte [rdi + 8]
and ecx, 0xff00
shl edx, 8
or edx, eax
or edx, ecx
mov ecx, dword [rdi + 9]
mov dword [rdi + 5], edx
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
movzx eax, byte [rdi + 0xc]
and ecx, 0xff00
shl edx, 8
or edx, eax
or edx, ecx
mov ecx, dword [rdi + 0xd]
mov dword [rdi + 9], edx
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
movzx eax, byte [rdi + 0x10]
and ecx, 0xff00
shl edx, 8
or edx, eax
or edx, ecx
mov ecx, dword [rdi + 0x11]
mov dword [rdi + 0xd], edx
mov edx, ecx
shl edx, 0x10
mov eax, ecx
shr ecx, 8
and eax, 0xff00
and ecx, 0xff00
or edx, eax
movzx eax, byte [rdi + 0x14]
shl edx, 8
or edx, eax
or edx, ecx
mov ecx, dword [rdi + 0x15]
mov dword [rdi + 0x11], edx
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
movzx eax, byte [rdi + 0x18]
and ecx, 0xff00
shl edx, 8
or edx, eax
or edx, ecx
mov ecx, dword [rdi + 0x19]
mov dword [rdi + 0x15], edx
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
movzx eax, byte [rdi + 0x1c]
and ecx, 0xff00
shl edx, 8
or edx, eax
or edx, ecx
mov dword [rdi + 0x19], edx
mov eax, dword [rdi + 0x11]
movzx eax, al
cmp eax, 0xe
ja case.default.0x1800950e8
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x95374]
add rcx, rdx
jmp rcx
cmp dword [rdi + 0x15], 0
jne 0x180094781
cmp dword [rdi + 0x19], 0
je 0x1800947bd
mov eax, 0xa468
jmp 0x180094993
cmp dword [rdi + 0x15], 0
jne 0x180094781
cmp dword [rdi + 0x19], 0
jne 0x180094781
mov edx, 1
jmp 0x1800947bf
cmp dword [rdi + 0x15], 0
jne 0x180094781
mov eax, dword [rdi + 0x19]
cmp eax, 1
jb 0x180094781
cmp eax, 0x40
ja 0x180094781
jmp 0x1800947bd
cmp dword [rdi + 0x19], 0
jne 0x180094781
mov byte [r10], 0
xor edx, edx
mov r11d, dword [rdi + 0x11]
test r11d, 0x1fff800
jne 0x180094781
mov r8d, dword [rdi - 7]
mov r9d, dword [rbx + 0x18]
mov ecx, dword [rbx + 0x1c]
mov eax, r8d
sub eax, r9d
cmp eax, ecx
ja 0x180094781
mov r10d, dword [rdi - 3]
mov eax, r10d
sub eax, r9d
add eax, r8d
cmp eax, ecx
ja 0x180094781
mov ecx, dword [rdi + 5]
cmp ecx, 0x1f
jae 0x180094781
mov eax, 1
shl eax, cl
dec eax
test r8d, eax
jne 0x180094781
test eax, r9d
jne 0x180094781
test edx, edx
je 0x180094834
mov ecx, dword [rdi + 1]
cmp rcx, rbp
ja 0x180094781
lea rax, [rcx + r10]
cmp rax, rbp
ja 0x180094781
jmp 0x18009483e
cmp dword [rdi + 1], 0
jne 0x180094781
movsxd rax, dword [rdi + 0xd]
test eax, eax
jne 0x180094853
cmp dword [rdi + 9], eax
jne 0x180094781
test eax, eax
je 0x18009486e
mov ecx, dword [rdi + 9]
cmp rcx, rbp
ja 0x180094864
lea rcx, [rcx + rax*8]
test rcx, rcx
je 0x18009486e
cmp rbp, 1
jb 0x180094781
mov eax, dword [rsi + 0xc]
test eax, eax
je 0x1800952f9
cmp eax, 2
jbe 0x18009488c
cmp eax, 6
je 0x18009488c
cmp eax, 0xa
jne 0x1800952f9
inc r15d
bt r11d, 0x19
jb 0x1800948ee
lea rdx, str.__DWARF
lea rcx, [rdi - 0x17]
call fcn.18009e410
test eax, eax
je 0x1800948f8
test r13d, r13d
je 0x1800948c6
lea rdx, [rdi - 0x5b]
lea rcx, [rdi - 0x17]
mov r8d, reloc.WS2_32.dll_recv
call sub.MSVCR100.dll_strncmp
test eax, eax
je 0x1800948f8
lea rcx, [rdi - 0x17]
mov edx, reloc.WS2_32.dll_recv
inc r13d
call fcn.18009e290
mov r9d, dword [rsp + 0x98]
lea r9d, [r9 + rax + 1]
mov dword [rsp + 0x98], r9d
jmp 0x180094900
mov r9d, dword [rsp + 0x98]
jmp 0x180094908
mov r9d, dword [rsp + 0x98]
mov rsi, qword [rsp + 0x88]
mov r10, qword [rsp + 0xb8]
add rdi, 0x44
test r12d, r12d
jne 0x1800945e0
mov rdi, qword [rsp + 0x38]
mov r11d, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x20]
mov r12d, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
test ecx, ecx
jne 0x180094310
mov rdx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
test r11d, r11d
jne 0x180094b91
mov eax, dword [rsi + 0xc]
test eax, eax
je 0x180094980
cmp eax, 2
jbe 0x180094977
cmp eax, 6
je 0x180094977
cmp eax, 0xa
jne 0x180094980
test r13d, r13d
je 0x180094ac4
mov rax, qword [rsp + 0xb0]
mov dword [rdx], r13d
mov dword [rbx], r15d
mov dword [rax], r9d
xor eax, eax
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test r14, r14
je 0x180094a54
mov ecx, dword [rbx + 8]
mov edx, ecx
mov eax, ecx
shr ecx, 8
shl edx, 0x10
and eax, 0xff00
and ecx, 0xff00
or edx, eax
movzx eax, byte [rbx + 0xb]
shl edx, 8
or edx, ecx
mov ecx, dword [rbx + 0xc]
or edx, eax
mov eax, ecx
mov dword [rbx + 8], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [rbx + 0xf]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [rbx + 0x10]
or edx, eax
mov eax, ecx
mov dword [rbx + 0xc], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [rbx + 0x13]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [rbx + 0x14]
or edx, eax
mov eax, ecx
mov dword [rbx + 0x10], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [rbx + 0x17]
and ecx, 0xff00
shl edx, 8
or edx, ecx
or edx, eax
mov dword [rbx + 0x14], edx
mov eax, dword [rsi]
cmp eax, 0xfeedface
je 0x180094a69
mov edx, reloc.WS2_32.dll_recv
cmp eax, 0xcefaedfe
jne 0x180094a6e
mov edx, ntohl
mov ecx, dword [rbx + 8]
cmp rcx, rbp
jae 0x180094b91
mov eax, dword [rbx + 0xc]
imul rax, rdx
add rax, rcx
cmp rax, rbp
ja 0x180094b91
mov ecx, dword [rbx + 0x10]
cmp rcx, rbp
jae 0x180094b91
mov eax, dword [rbx + 0x14]
add rax, rcx
cmp rax, rbp
ja 0x180094b91
inc r12d
cmp dword [rsi + 0xc], 1
mov dword [rsp + 0x24], r12d
jne case.0x1800943d7.11
cmp r12d, 1
je case.0x1800943d7.11
mov eax, 0xa46f
jmp 0x180094993
mov r8d, dword [rdx]
add rbx, 8
sub r8, 8
shr r8, 2
test r8d, r8d
je 0x180094b5a
cmp r8d, 2
jb 0x180094b91
test r14, r14
je 0x180094b3f
mov ecx, dword [rbx]
mov edx, ecx
mov eax, ecx
shr ecx, 8
shl edx, 0x10
and eax, 0xff00
and ecx, 0xff00
or edx, eax
movzx eax, byte [rbx + 3]
shl edx, 8
or edx, ecx
mov ecx, dword [rbx + 4]
or edx, eax
mov eax, ecx
mov dword [rbx], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [rbx + 7]
and ecx, 0xff00
shl edx, 8
or edx, eax
or edx, ecx
mov dword [rbx + 4], edx
mov ecx, dword [rbx + 4]
lea edx, [rcx + 2]
cmp edx, r8d
ja 0x180094b91
mov eax, 0xfffffffe
lea rbx, [rbx + rdx*4]
sub eax, ecx
add r8d, eax
jne 0x180094ae2
mov r8d, dword [rsp + 0x20]
jmp case.0x1800943d7.11
cmp eax, 0x1d
ja 0x1800952ca
je 0x1800952d4
sub eax, 0x19
je 0x180094b9b
dec eax
je case.0x1800943d7.3
dec eax
jne case.default.0x1800943d7
cmp dword [rdx], 0x18
je 0x180094938
mov eax, 0xa465
jmp 0x180094993
mov r9d, dword [rdx]
cmp r9d, 0x48
jb 0x180094b91
mov eax, dword [rsi]
cmp eax, 0xfefaedfe
je 0x180094bb8
cmp eax, 0xfeedfacf
jne 0x1800952ef
test r14, r14
je 0x180094e1a
mov rdx, qword [rbx + 0x18]
movabs rsi, 0xff00000000
mov r12d, 0xff000000
mov rax, rdx
mov r8, rdx
mov rcx, rdx
shl r8, 0x10
and eax, 0xff00
shr rcx, 0x10
or r8, rax
and rcx, rsi
mov rax, rdx
shl r8, 0x10
and eax, 0xff0000
or r8, rax
mov rax, rdx
shl r8, 0x10
and rax, r12
or r8, rax
mov rax, rdx
and rdx, rsi
and rax, qword [rsp + 0x30]
shl r8, 8
or rcx, rax
movzx eax, byte [rbx + 0x1f]
shr rcx, 0x10
or rcx, rdx
mov rdx, qword [rbx + 0x20]
shr rcx, 8
or r8, rcx
mov rcx, rdx
or r8, rax
shr rcx, 0x10
mov rax, rdx
mov qword [rbx + 0x18], r8
and eax, 0xff00
and rcx, rsi
mov r8, rdx
shl r8, 0x10
or r8, rax
mov rax, rdx
and eax, 0xff0000
shl r8, 0x10
or r8, rax
mov rax, rdx
and rax, r12
shl r8, 0x10
or r8, rax
mov rax, rdx
and rdx, rsi
and rax, qword [rsp + 0x30]
shl r8, 8
or rcx, rax
movzx eax, byte [rbx + 0x27]
shr rcx, 0x10
or rcx, rdx
mov rdx, qword [rbx + 0x28]
shr rcx, 8
or r8, rcx
mov rcx, rdx
or r8, rax
mov rax, rdx
shr rcx, 0x10
mov qword [rbx + 0x20], r8
and eax, 0xff00
mov r8, rdx
shl r8, 0x10
and rcx, rsi
or r8, rax
mov rax, rdx
and eax, 0xff0000
shl r8, 0x10
or r8, rax
mov rax, rdx
and rax, r12
shl r8, 0x10
or r8, rax
mov rax, rdx
and rax, qword [rsp + 0x30]
shl r8, 8
or rcx, rax
movzx eax, byte [rbx + 0x2f]
and rdx, rsi
shr rcx, 0x10
or rcx, rdx
mov rdx, qword [rbx + 0x30]
shr rcx, 8
or r8, rcx
mov rcx, rdx
or r8, rax
mov rax, rdx
shr rcx, 0x10
and eax, 0xff00
and rcx, rsi
mov qword [rbx + 0x28], r8
mov r8, rdx
shl r8, 0x10
or r8, rax
mov rax, rdx
and eax, 0xff0000
shl r8, 0x10
or r8, rax
mov rax, rdx
and rax, r12
shl r8, 0x10
movabs r12, 0xff0000000000
or r8, rax
mov rax, rdx
and rdx, rsi
and rax, r12
shl r8, 8
or rcx, rax
movzx eax, byte [rbx + 0x37]
shr rcx, 0x10
or rcx, rdx
shr rcx, 8
or r8, rcx
mov ecx, dword [rbx + 0x38]
or r8, rax
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
movzx eax, byte [rbx + 0x3b]
and ecx, 0xff00
shl edx, 8
mov qword [rbx + 0x30], r8
or edx, ecx
mov ecx, dword [rbx + 0x3c]
or edx, eax
mov eax, ecx
mov dword [rbx + 0x38], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [rbx + 0x3f]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [rbx + 0x40]
or edx, eax
mov eax, ecx
mov dword [rbx + 0x3c], edx
mov edx, ecx
and eax, 0xff00
shl edx, 0x10
shr ecx, 8
or edx, eax
movzx eax, byte [rbx + 0x43]
and ecx, 0xff00
shl edx, 8
or edx, ecx
mov ecx, dword [rbx + 0x44]
or edx, eax
mov eax, ecx
mov dword [rbx + 0x40], edx
mov edx, ecx
shl edx, 0x10
mov r8d, dword [rsp + 0x20]
and eax, 0xff00
shr ecx, 8
or edx, eax
movzx eax, byte [rbx + 0x47]
and ecx, 0xff00
shl edx, 8
or edx, ecx
or edx, eax
mov dword [rbx + 0x44], edx
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x180094e41
mov rax, qword [rbx + 0x28]
cmp rax, rbp
ja 0x180094b91
add rax, rcx
cmp rax, rbp
ja 0x180094b91
test rcx, rcx
jne 0x180094e4c
cmp qword [rbx + 0x28], 0
jne 0x180094b91
cmp qword [rbx + 0x20], rcx
jb 0x180094b91
mov ecx, dword [rbx + 0x3c]
mov eax, dword [rbx + 0x38]
and eax, ecx
cmp eax, ecx
jne 0x180094b91
test dword [rbx + 0x44], 0xfffffff0
jne 0x180094b91
mov esi, dword [rbx + 0x40]
lea rcx, [r9 - 0x48]
lea rax, [rsi + rsi*4]
shl rax, 4
cmp rax, rcx
ja 0x180094b91
mov r12, qword [rsp + 0x88]
cmp dword [r12 + 0xc], 1
jne 0x180094ea4
test r8d, r8d
jg 0x180094ac4
inc r8d
mov dword [rsp + 0x20], r8d
test esi, esi
je 0x1800952e2
lea rdi, [rbx + 0x77]
nop dword [rax + rax]
dec esi
test r14, r14
je 0x1800950c8
mov rdx, qword [rdi - 0xf]
movabs r9, 0xff00000000
mov r11d, 0xff000000
mov rax, rdx
mov r8, rdx
mov rcx, rdx
and eax, 0xff00
shl r8, 0x10
shr rcx, 0x10
or r8, rax
mov rax, rdx
and rcx, r9
and eax, 0xff0000
shl r8, 0x10
or r8, rax
mov rax, rdx
and rax, r11
shl r8, 0x10
or r8, rax
mov rax, rdx
and rdx, r9
and rax, qword [rsp + 0x30]
shl r8, 8
or rcx, rax
movzx eax, byte [rdi - 8]
shr rcx, 0x10
or rcx, rdx
mov rdx, qword [rdi - 7]
shr rcx, 8
or r8, rcx
mov rcx, rdx
or r8, rax
mov rax, rdx
shr rcx, 0x10
and eax, 0xff00
mov qword [rdi - 0xf], r8
mov r8, rdx
shl r8, 0x10
and rcx, r9
or r8, rax
mov rax, rdx
and eax, 0xff0000
shl r8, 0x10
or r8, rax
mov rax, rdx
and rax, r11
shl r8, 0x10
movabs r11, 0xff0000000000
or r8, rax
mov rax, rdx
and rdx, r9
and rax, r11
shl r8, 8
or rcx, rax
movzx eax, byte [rdi]
shr rcx, 0x10
or rcx, rdx
shr rcx, 8
or r8, rcx
mov ecx, dword [rdi + 1]
or r8, rax
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
movzx eax, byte [rdi + 4]
and ecx, 0xff00
shl edx, 8
mov qword [rdi - 7], r8
or edx, eax
or edx, ecx
mov ecx, dword [rdi + 5]
mov dword [rdi + 1], edx
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
or edx, eax
shl edx, 8
movzx eax, byte [rdi + 8]
shr ecx, 8
or edx, eax
and ecx, 0xff00
or edx, ecx
mov ecx, dword [rdi + 9]
mov dword [rdi + 5], edx
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
movzx eax, byte [rdi + 0xc]
and ecx, 0xff00
shl edx, 8
or edx, eax
or edx, ecx
mov ecx, dword [rdi + 0xd]
mov dword [rdi + 9], edx
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
movzx eax, byte [rdi + 0x10]
and ecx, 0xff00
shl edx, 8
or edx, eax
or edx, ecx
mov ecx, dword [rdi + 0x11]
mov dword [rdi + 0xd], edx
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
movzx eax, byte [rdi + 0x14]
and ecx, 0xff00
shl edx, 8
or edx, eax
or edx, ecx
mov ecx, dword [rdi + 0x15]
mov dword [rdi + 0x11], edx
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
movzx eax, byte [rdi + 0x18]
and ecx, 0xff00
shl edx, 8
or edx, eax
or edx, ecx
mov ecx, dword [rdi + 0x19]
mov dword [rdi + 0x15], edx
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shr ecx, 8
or edx, eax
movzx eax, byte [rdi + 0x1c]
and ecx, 0xff00
shl edx, 8
or edx, eax
or edx, ecx
mov dword [rdi + 0x19], edx
mov eax, dword [rdi + 0x11]
movzx eax, al
cmp eax, 0xe
ja case.default.0x1800950e8
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x953b0]
add rcx, rdx
jmp rcx
cmp dword [rdi + 0x15], 0
jne 0x180094781
cmp dword [rdi + 0x19], 0
jne 0x180094781
jmp 0x18009514f
cmp dword [rdi + 0x15], 0
jne 0x180094781
cmp dword [rdi + 0x19], 0
jne 0x180094781
mov edx, 1
jmp 0x180095151
cmp dword [rdi + 0x15], 0
jne 0x180094781
mov eax, dword [rdi + 0x19]
cmp eax, 1
jb 0x180094781
cmp eax, 0x40
ja 0x180094781
mov edx, 1
jmp 0x180095151
cmp dword [rdi + 0x19], 0
jne 0x180094781
mov byte [r10], 0
xor edx, edx
mov r11d, dword [rdi + 0x11]
test r11d, 0x1fff800
jne 0x180094781
mov r8, qword [rdi - 0xf]
mov r9, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x20]
mov rax, r8
sub rax, r9
cmp rax, rcx
ja 0x180094781
mov r10, qword [rdi - 7]
mov rax, r10
sub rax, r9
add rax, r8
cmp rax, rcx
ja 0x180094781
mov ecx, dword [rdi + 5]
cmp ecx, 0x1f
jae 0x180094781
mov eax, 1
shl eax, cl
dec eax
movsxd rcx, eax
test r8, rcx
jne 0x180094781
test r9, rcx
jne 0x180094781
test edx, edx
je 0x1800951db
mov eax, dword [rdi + 1]
cmp rax, rbp
ja 0x180094781
add rax, r10
cmp rax, rbp
ja 0x180094781
jmp 0x1800951e5
cmp dword [rdi + 1], 0
jne 0x180094781
movsxd rax, dword [rdi + 0xd]
test eax, eax
jne 0x1800951fa
cmp dword [rdi + 9], eax
jne 0x180094781
test eax, eax
je 0x180095215
mov ecx, dword [rdi + 9]
cmp rcx, rbp
ja 0x18009520b
lea rcx, [rcx + rax*8]
test rcx, rcx
je 0x180095215
cmp rbp, 1
jb 0x180094781
mov eax, dword [r12 + 0xc]
test eax, eax
je 0x1800952f9
cmp eax, 2
jbe 0x180095235
cmp eax, 6
je 0x180095235
cmp eax, 0xa
jne 0x1800952f9
inc r15d
bt r11d, 0x19
jb 0x180095297
lea rdx, str.__DWARF
lea rcx, [rdi - 0x1f]
call fcn.18009e410
test eax, eax
je 0x1800952a1
test r13d, r13d
je 0x18009526f
lea rdx, [rdi - 0x6f]
lea rcx, [rdi - 0x1f]
mov r8d, reloc.WS2_32.dll_recv
call sub.MSVCR100.dll_strncmp
test eax, eax
je 0x1800952a1
lea rcx, [rdi - 0x1f]
mov edx, reloc.WS2_32.dll_recv
inc r13d
call fcn.18009e290
mov r9d, dword [rsp + 0x98]
lea r9d, [r9 + rax + 1]
mov dword [rsp + 0x98], r9d
jmp 0x1800952a9
mov r9d, dword [rsp + 0x98]
jmp 0x1800952b1
mov r9d, dword [rsp + 0x98]
mov r12, qword [rsp + 0x88]
mov r10, qword [rsp + 0xb8]
add rdi, 0x50
test esi, esi
jne 0x180094ec0
jmp 0x18009491d
cmp eax, 0x24
jb case.default.0x1800943d7
cmp eax, 0x25
ja 0x18009532b
cmp dword [rdx], 0x10
jne 0x180094b91
jmp 0x180094938
mov r9d, dword [rsp + 0x98]
jmp 0x18009492c
mov eax, 0xa46e
jmp 0x180094993
mov eax, 0xa416
jmp 0x180094993
mov eax, 0xa46a
jmp 0x180094993
mov eax, 0xa46b
jmp 0x180094993
mov eax, 0xa46c
jmp 0x180094993
mov eax, 0xa469
jmp 0x180094993
cmp eax, 0x80000018
jne case.default.0x1800943d7
mov eax, 0xa467
jmp 0x180094993
mov eax, 0xa466
jmp 0x180094993