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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x148
mov r15, qword [rsp + 0x1b0]
lea rax, [r8 + 0x68]
mov qword [rsp + 0xb0], rax
mov r11, rdx
mov rax, qword [rcx]
mov rbp, rcx
mov qword [rsp + 0xa0], rax
lea rcx, [r8 + 0x290]
movzx eax, byte [r15 + 0x34]
xor esi, esi
mov r13, qword [r15 + 0x50]
mov edi, r9d
imul rdx, rax, 0x70
mov rax, qword [r8 + 8]
mov rbx, r8
add rax, 8
mov qword [rsp + 0x50], rsi
add rax, rdx
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0xa8], rax
mov r12d, dword [rax + 0x44]
mov edx, r12d
mov dword [rsp + 0x40], r12d
call fcn.1402130f0
not rax
mov ecx, edi
and rax, qword [rsp + 0x1b8]
mov qword [r15 + 0x58], rax
mov r10, qword [rbx + 0x60]
shr r10, cl
mov rcx, rbp
and r10d, 1
mov qword [rsp + 0x70], r10
call fcn.14020ade0
mov r14d, eax
mov dword [rsp + 0x58], eax
mov dword [r15 + 0x10], eax
mov dword [r15 + 0xc], eax
call fcn.14020ade0
mov dword [rsp + 0x88], eax
mov dword [r15 + 0x18], eax
cmp byte [r15 + 0x34], sil
jbe 0x140210ac9
mov rcx, qword [rsp + 0xa8]
test byte [rcx + 0x3c], 8
je 0x140210ac9
mov r9d, dword [rbp + 0x38]
lea edx, [rsi + 0x45]
inc r9d
xor r8d, r8d
mov dword [rbp + 0x38], r9d
mov rcx, r11
mov dword [r15], r9d
call fcn.140203470
mov r10, qword [rsp + 0x70]
mov r11, qword [rsp + 0x198]
mov edx, edi
test edi, edi
jle 0x140210ae9
nop
mov eax, edx
lea rcx, [rax + rax*2]
shl rcx, 5
cmp dword [rcx + rbx + 0x398], esi
jne 0x140210ae9
dec edx
test edx, edx
jg 0x140210ad0
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0xa8]
shl rcx, 5
mov r8d, dword [rax + 0x40]
mov r9d, dword [rcx + rbx + 0x3a4]
test r8b, 0x10
je 0x140210bb7
mov ebx, dword [rax + 0x34]
xor r9d, r9d
mov eax, dword [rax + 0x30]
mov r8d, ebx
mov r13, qword [rsp + 0x198]
mov rcx, r13
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0xd]
call fcn.140203490
mov r9d, r14d
mov r8d, ebx
mov edx, select
mov rcx, r13
call fcn.140203470
mov dword [r15 + 0x3c], eax
mov byte [r15 + 0x35], reloc.WS2_32.dll_inet_addr
xor ebp, ebp
mov r8, rsi
mov rdi, qword [rsp + 0x190]
mov rdx, qword [rsp + 0x1a0]
mov rax, r8
lea r10, [rdx + 0x68]
neg rax
sbb r12d, r12d
add r12d, 2
nop dword [rax + rax]
mov esi, dword [r10 + 0x14]
mov r14d, ebp
mov rbx, qword [r10 + 0x20]
test esi, esi
jle 0x1402122e5
movzx ecx, word [rbx + 0x12]
test cl, 6
jne 0x1402122b5
mov rax, qword [rbx + 0x38]
test qword [r15 + 0x58], rax
je 0x140212273
or dword [rdx + 0x44], 2
jmp 0x1402122b5
mov edx, dword [r13 + 0x28]
bt edx, 0xa
jae 0x140210e56
movzx esi, word [r13 + 0x2c]
mov rcx, rbp
lea edx, [rsi + 2]
call fcn.1401f0040
mov ebp, dword [r15 + 0xc]
mov r12d, eax
mov dword [rsp + 0x1a8], eax
xor eax, eax
mov ebx, eax
test esi, esi
je 0x140210c5e
lea r14d, [r12 + 2]
mov edi, eax
mov r12, qword [rsp + 0x70]
nop word [rax + rax]
mov rcx, qword [r13 + 0x38]
mov rdx, qword [rdi + rcx]
test rdx, rdx
je 0x140210c4c
test byte [rdx + 0x14], 1
lea r8d, [r14 + rbx]
mov rcx, qword [rsp + 0x190]
je 0x140210c3a
mov dword [rsp + 0x28], r8d
mov r9d, ebx
mov r8, r15
mov dword [rsp + 0x20], r12d
call fcn.1401c2c50
mov ebp, dword [r15 + 0x10]
jmp 0x140210c4c
mov rdx, qword [rdx]
mov r9d, 1
mov rdx, qword [rdx + 0x18]
call fcn.1401c30c0
inc ebx
add rdi, 8
cmp ebx, esi
jl 0x140210c00
mov r12d, dword [rsp + 0x1a8]
mov rbx, qword [rsp + 0x198]
mov r9d, r12d
mov r8d, dword [r13 + 0x18]
mov rcx, rbx
mov edx, 0x45
call fcn.140203470
lea r9d, [r12 + 1]
mov r8d, esi
mov edx, 0x45
mov rcx, rbx
call fcn.140203470
cmp byte [r13 + 0x1c], 0
mov ecx, 0xfffffff9
mov edi, dword [rsp + 0x40]
mov eax, 0xffffffff
cmovne eax, ecx
mov r9d, ebp
mov dword [rsp + 0x30], eax
mov r8d, edi
mov rax, qword [r13 + 0x20]
lea edx, [rcx + 0x10]
mov qword [rsp + 0x28], rax
mov rcx, rbx
mov dword [rsp + 0x20], r12d
call fcn.140203500
mov rdx, qword [rsp + 0x1a0]
mov eax, 0x3d
mov byte [r13 + 0x1c], 0
mov ecx, 0xad
mov dword [r15 + 0x38], edi
cmp byte [rdx + 0x42], 0
cmovne eax, ecx
mov rcx, rbx
mov byte [r15 + 0x35], al
call fcn.140203bf0
lea edi, [rsi - 1]
mov dword [r15 + 0x3c], eax
test edi, edi
js 0x140212249
movsxd rax, dword [r15 + 0x40]
lea r14, [rsi*8 - 8]
add r12d, 2
lea rbp, [rax + rax*4]
shl rbp, 2
add r12d, edi
mov rax, qword [r13 + 0x38]
mov rsi, qword [r14 + rax]
movzx edx, word [rsi + 0x14]
and dx, 1
je 0x140210d36
sub rbp, 0x14
cmp edi, 0x10
jae 0x140210d5a
movzx eax, word [r13 + 0x1e]
movzx ecx, di
shr ax, cl
test al, 1
je 0x140210d5a
mov rdx, rsi
mov rcx, r15
call fcn.1401c6600
jmp 0x140210e34
test dx, dx
je 0x140210e34
mov rcx, qword [rsi]
mov rcx, qword [rcx + 0x10]
call fcn.1401ec0c0
cmp eax, 1
jne 0x140210e34
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0x61], 0
jne 0x140210db0
mov rax, qword [r15 + 0x48]
mov rcx, rbx
mov edx, dword [rax + rbp + 4]
call fcn.14020a500
mov ecx, dword [rax + 0xc]
movzx edx, byte [rax]
mov r9d, dword [rax + 8]
mov r8d, dword [rax + 4]
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.140203490
mov rcx, qword [rsp + 0x190]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x35]
call fcn.1401f5520
mov rbx, rax
test rax, rax
je 0x140210e2c
mov rcx, qword [rsi]
xor r8d, r8d
mov rsi, qword [rsp + 0xa0]
mov rdx, qword [rcx + 0x10]
mov rcx, rsi
mov qword [rax + 0x10], rdx
mov edx, 0xad
call fcn.1401e8190
mov qword [rbx + 0x18], rax
test rax, rax
je 0x140210e19
mov rcx, qword [rsp + 0x190]
mov r9d, reloc.WS2_32.dll_recv
mov dword [rax + 0x2c], r12d
mov rdx, rbx
mov r8d, dword [r15 + 0x18]
call fcn.1401eadb0
mov rdx, rbx
mov qword [rbx + 0x10], 0
mov rcx, rsi
call fcn.1401eab20
mov rbx, qword [rsp + 0x198]
sub r14, 8
dec r12d
sub edi, 1
jns 0x140210d20
mov r13, qword [rsp + 0x198]
xor ebp, ebp
mov r8d, ebp
jmp 0x140210b57
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x140210edd
mov rax, qword [r13 + 0x38]
xor r9d, r9d
mov r8, r15
mov rcx, rbp
mov rbx, qword [rax]
inc dword [rbp + 0x38]
mov rdx, rbx
mov edi, dword [rbp + 0x38]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r10d
call fcn.1401c2c50
mov r8d, eax
cmp eax, edi
je 0x140210e9f
mov edx, edi
mov rcx, rbp
call fcn.1401fb500
mov r13, qword [rsp + 0x198]
mov edx, 0x1f
mov r9d, dword [r15 + 0x10]
mov rcx, r13
mov dword [rsp + 0x20], r8d
mov r8d, r12d
call fcn.140203490
mov byte [r15 + 0x35], 0xad
mov rax, qword [rbx + 0x38]
test qword [r15 + 0x58], rax
jne 0x140210b52
or word [rbx + 0x12], 4
jmp 0x140210b52
mov eax, edx
and eax, reloc.mfc140u.dll_CMapStringToOb::HashKey
cmp eax, reloc.mfc140u.dll_CMapStringToOb::HashKey
jne 0x1402110ff
lea ebp, [rax - 0x55]
mov r12d, esi
mov rbx, rsi
mov rcx, rsi
test dl, 0x20
je 0x140210f0f
mov rax, qword [r13 + 0x38]
mov r8d, 8
mov rcx, qword [rax]
jmp 0x140210f12
mov r8, rsi
test dl, 0x10
je 0x140210f1f
mov rax, qword [r13 + 0x38]
mov rbx, qword [r8 + rax]
test r10d, r10d
mov rdi, rcx
cmove rdi, rbx
cmove rbx, rcx
test rbx, rbx
je 0x140210ff6
mov rsi, qword [rbx]
mov dword [rsp + 0x1a8], 0x18161719
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
call fcn.1401eb830
mov rcx, qword [rsp + 0x190]
test eax, eax
je 0x140210f8f
call fcn.1401f0080
mov rdx, qword [rsi + 0x18]
mov r8d, eax
mov r9d, 1
mov ebx, eax
mov r14d, eax
call fcn.1401c30c0
movzx ecx, byte [rsi]
inc rcx
and ecx, 2
or rcx, 1
movzx eax, byte [rsp + rcx + 0x1a8]
jmp 0x140210fb8
lea r8, [rsp + 0x68]
call fcn.1401ea510
mov rdx, rbx
mov rcx, r15
mov r14d, eax
call fcn.1401c6600
movzx r11d, byte [rsi]
mov ebx, dword [rsp + 0x68]
movzx eax, byte [rsp + r11 + 0x172]
mov r8d, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x198]
mov dword [rsp + 0x20], r14d
mov r14d, dword [rsp + 0x58]
mov r9d, r14d
movzx edx, al
call fcn.140203490
mov rcx, qword [rsp + 0x190]
mov edx, ebx
call fcn.1401fb500
mov r13, qword [rsp + 0x70]
mov ebx, r13d
xor ebx, 1
jmp 0x14021101d
mov r8d, dword [rsp + 0x40]
mov ebx, r10d
xor ebx, 1
mov rcx, r11
lea edx, [rbx*4 + 0x21]
call fcn.140203470
mov rcx, qword [rsp + 0x190]
mov r13, qword [rsp + 0x70]
test rdi, rdi
je 0x14021107d
mov rsi, qword [rdi]
mov r9d, 1
inc dword [rcx + 0x38]
mov r12d, dword [rcx + 0x38]
mov r8d, r12d
mov rdx, qword [rsi + 0x18]
call fcn.1401c30c0
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
call fcn.1401eb830
test eax, eax
jne 0x14021105e
movzx eax, byte [rsi]
lea ebp, [rbx*2 + 0x37]
sub al, 0x36
test al, 0xfd
je 0x140211066
lea ebp, [r13*2 + 0x36]
mov rcx, rdx
call fcn.1401eb830
test eax, eax
jne 0x14021107d
mov rdx, rdi
mov rcx, r15
call fcn.1401c6600
mov rcx, qword [rsp + 0x198]
call fcn.140203bf0
mov rdi, qword [rsp + 0x190]
test r13d, r13d
mov r13, qword [rsp + 0x198]
sete cl
mov dword [r15 + 0x3c], eax
add cl, 4
mov byte [r15 + 0x35], cl
mov ecx, dword [rsp + 0x40]
mov dword [r15 + 0x38], ecx
cmp ebp, 0xad
je 0x1402110f5
inc dword [rdi + 0x38]
mov r8d, ecx
mov ebx, dword [rdi + 0x38]
mov edx, 0x7f
mov r9d, ebx
mov rcx, r13
call fcn.140203470
mov r9d, r14d
mov dword [rsp + 0x20], ebx
mov r8d, r12d
mov edx, ebp
mov rcx, r13
call fcn.140203490
mov edx, 0x53
mov rcx, r13
call fcn.140203950
xor ebp, ebp
mov r8d, ebp
jmp 0x140210b5f
bt edx, 9
jae 0x140211aa2
movzx ebp, word [r13 + 0x18]
mov ebx, esi
mov rax, qword [r13 + 0x20]
xor r10b, r10b
movzx r9d, word [r13 + 0x1a]
mov r14, rsi
movzx edi, word [r13 + 0x1c]
mov r12d, esi
mov qword [rsp + 0x80], rsi
mov r8d, ebp
mov qword [rsp + 0x98], rsi
mov dword [rsp + 0x5c], esi
mov esi, ebp
mov qword [rsp + 0x50], rax
mov eax, dword [r15 + 8]
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x58], esi
mov word [rsp + 0x7c], r9w
mov word [rsp + 0x78], di
mov byte [rsp + 0x1a8], r10b
mov byte [rsp + 0x4c], bl
test dl, 0x20
je 0x14021117b
mov rax, qword [r13 + 0x38]
inc r8d
mov ebx, r9d
mov r14, qword [rax + rbp*8]
test dl, 0x10
je 0x14021125d
mov rax, qword [r13 + 0x38]
cmp ebx, edi
mov ecx, r8d
cmova edi, ebx
mov rax, qword [rax + rcx*8]
mov ecx, CMapStringToOb::HashKey
mov qword [rsp + 0x80], rax
test word [rax + 0x12], cx
je 0x14021120b
mov rcx, qword [rsp + 0x190]
mov edx, 0x45
mov r9d, dword [rcx + 0x38]
lea r8d, [rdx - 0x44]
inc r9d
mov dword [rcx + 0x38], r9d
mov rcx, r11
mov dword [r15 + 0x2c], r9d
call fcn.140203470
mov r11, qword [rsp + 0x198]
mov rcx, r11
call fcn.140203bf0
shl dword [r15 + 0x2c], 1
xor ecx, ecx
mov dword [r15 + 0x30], eax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x38]
cmp byte [rbp + rax], 1
sete cl
xor ecx, dword [rsp + 0x70]
or dword [r15 + 0x2c], ecx
mov r9d, dword [r13 + 0x28]
xor r10b, r10b
jmp 0x14021120e
mov r9d, edx
mov r8, rbp
mov edx, r9d
mov ebx, edi
test r14, r14
jne 0x14021125d
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 8]
movsx r8, word [rax + rbp*2]
test r8d, r8d
js 0x140211244
mov rax, qword [rcx + 0x18]
mov rdx, r8
shl rdx, 5
mov rcx, qword [rax + 8]
cmp byte [rdx + rcx + 0x18], r12b
je 0x14021124d
mov edx, r9d
cmp r8d, 0xfffffffe
jne 0x14021125d
mov r10b, 1
mov edx, r9d
mov byte [rsp + 0x1a8], r10b
mov ebx, edi
test dl, 0x30
jne 0x1402112b7
bt edx, 0x13
jae 0x1402112b7
mov rdi, qword [rsp + 0x190]
mov ebx, 1
movzx r10d, bl
mov byte [rsp + 0x1a8], bl
inc dword [rdi + 0x38]
cmp dword [r15], 0
mov r12d, dword [rdi + 0x38]
mov dword [rsp + 0x5c], r12d
mov dword [r15 + 0x24], r12d
je 0x1402112ab
mov r9d, r12d
lea edx, [rbx + 0x44]
xor r8d, r8d
mov rcx, r11
call fcn.140203470
movzx r10d, bl
mov rcx, rdi
call fcn.14020ade0
mov dword [r15 + 0x28], eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xd0], rbp
movzx edx, word [rax + 0x5e]
cmp bp, dx
jae 0x1402112e0
mov rax, qword [rax + 0x38]
xor ecx, ecx
cmp byte [rbp + rax], cl
sete cl
cmp dword [rsp + 0x70], ecx
je 0x1402112f0
mov rcx, qword [rsp + 0x70]
test ecx, ecx
je 0x140211329
cmp dx, bp
jne 0x140211329
jmp 0x1402112f5
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x80]
movzx edx, word [rsp + 0x78]
mov qword [rsp + 0x80], r14
mov r14, rax
movzx eax, byte [rsp + 0x7c]
mov word [rsp + 0x78], ax
mov byte [rsp + 0x4c], r10b
mov byte [rsp + 0x1a8], 0
mov word [rsp + 0x7c], dx
lea rax, [rsp + 0x90]
mov r8d, ecx
mov rcx, qword [rsp + 0x190]
mov r9d, ebx
mov rdx, r15
mov qword [rsp + 0x20], rax
call fcn.1401c23d0
mov ecx, eax
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x140211384
cmp word [rsp + 0x78], 0
je 0x140211384
mov rcx, qword [rsp + 0xa0]
lea rdx, [rax + rbp]
call fcn.1401e6280
mov ecx, dword [rsp + 0x48]
mov qword [rsp + 0x98], rax
test r12d, r12d
je 0x14021138f
mov eax, dword [r15 + 0x28]
jmp 0x140211393
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0x44], eax
test r14, r14
je 0x1402113b1
test byte [r14 + 0x14], 0x28
jne 0x1402113b1
xor edx, edx
mov edi, edx
mov dword [rsp + 0x68], edx
lea r8d, [rdx + 1]
jmp 0x1402113c1
mov r8d, 1
xor edx, edx
mov edi, r8d
mov dword [rsp + 0x68], r8d
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x1402113d8
test byte [rax + 0x14], 0x28
mov dword [rsp + 0x60], edx
je 0x1402113dd
mov dword [rsp + 0x60], r8d
test r14, r14
jne 0x14021141f
test bp, bp
jne 0x14021141f
mov r12d, edx
movzx ebp, byte [rsp + 0x1a8]
test bpl, bpl
je 0x1402114e5
xor r8d, r8d
lea r9d, [rsi + rcx]
mov rcx, qword [rsp + 0x198]
mov edi, edx
lea edx, [r8 + 0x48]
call fcn.140203470
mov r14d, dword [rsp + 0x5c]
jmp 0x140211509
mov r12d, r8d
mov ebx, esi
test r14, r14
je 0x1402113ea
mov rax, qword [r14]
lea ebp, [rcx + rbx]
movzx esi, word [rsp + 0x7c]
mov r8d, ebp
mov rcx, qword [rsp + 0x190]
mov r9d, esi
mov rdi, qword [rax + 0x18]
mov rdx, rdi
call fcn.1401c30c0
mov r10, qword [rsp + 0x198]
mov r8, r14
mov rcx, r10
mov rdx, r15
call fcn.14021e2a0
mov rcx, rdi
call fcn.1401e8760
test eax, eax
je 0x140211485
mov r9d, dword [rsp + 0x44]
mov r8d, ebp
mov edx, gethostbyname
mov rcx, r10
call fcn.140203470
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x1402114a7
mov r8, qword [rsp + 0xd0]
mov edx, esi
add r8, rcx
mov rcx, rdi
call fcn.1402176c0
mov rcx, rdi
add ebx, esi
call fcn.1401eb830
test eax, eax
jne 0x1402114d2
mov rdx, r14
mov rcx, r15
call fcn.1401c6600
mov edi, dword [rsp + 0x68]
xor bpl, bpl
mov esi, dword [rsp + 0x58]
mov r14d, dword [rsp + 0x5c]
jmp 0x140211512
mov esi, dword [rsp + 0x58]
mov edi, 1
mov r14d, dword [rsp + 0x5c]
xor bpl, bpl
jmp 0x140211512
mov r14d, dword [rsp + 0x5c]
mov ebx, esi
test r14d, r14d
je 0x140211512
xor r8d, r8d
lea r9d, [rsi + rcx]
mov rcx, qword [rsp + 0x198]
lea edx, [r8 + 0x48]
call fcn.140203470
lea ebx, [rsi + 1]
mov r12d, 1
mov r9, qword [rsp + 0x90]
mov r8d, ebx
mov edx, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x190]
movzx eax, bpl
sub r8d, eax
mov dword [rsp + 0x1a8], eax
call fcn.1401c2790
movzx eax, word [r13 + 0x2e]
lea rbp, [0x140000000]
test ax, ax
je 0x140211555
cmp ebx, eax
je 0x140211636
test dword [r13 + 0x28], 0x40000
je 0x140211576
mov r8d, dword [rsp + 0x64]
mov edx, 0x76
mov rcx, qword [rsp + 0x198]
call fcn.140203450
test r14d, r14d
je 0x140211594
mov rcx, qword [rsp + 0x198]
mov edx, 0x45
mov r9d, r14d
lea r8d, [rdx - 0x44]
call fcn.140203470
mov rcx, qword [rsp + 0x70]
lea eax, [rdi + r12*2]
mov r12d, dword [rsp + 0x64]
mov r8d, r12d
mov r9d, dword [rsp + 0x44]
mov dword [rsp + 0x28], ebx
lea ecx, [rcx + rax*2]
mov eax, dword [rsp + 0x48]
movzx edx, byte [rcx + rbp + 0x2f11b8]
mov rcx, qword [rsp + 0x198]
mov dword [rsp + 0x20], eax
call fcn.1402035b0
test r14d, r14d
je 0x14021163b
mov rcx, qword [rsp + 0x198]
call fcn.140203bf0
xor r8d, r8d
lea r9d, [rax + 2]
lea edx, [r8 + 0xb]
call fcn.140203470
mov r9d, dword [rsp + 0x44]
mov ecx, ebx
sub ecx, edi
mov eax, 2
mov rdi, qword [rsp + 0x198]
cmp ebx, 1
mov ebx, dword [rsp + 0x48]
mov edx, 6
cmova eax, edx
mov dword [rsp + 0x28], ecx
add eax, dword [rsp + 0x70]
mov r8d, r12d
mov rcx, rdi
mov dword [rsp + 0x20], ebx
movzx edx, byte [rax + rbp + 0x2f11b8]
call fcn.1402035b0
jmp 0x140211647
mov r12d, dword [rsp + 0x64]
mov rdi, qword [rsp + 0x198]
mov ebx, dword [rsp + 0x48]
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x1402117be
mov rax, qword [rax]
movzx ebx, word [rsp + 0x78]
add esi, dword [rsp + 0x48]
mov r9d, ebx
mov rcx, qword [rsp + 0x190]
mov r8d, esi
mov rdi, qword [rax + 0x18]
mov rdx, rdi
call fcn.1401c30c0
mov r10, qword [rsp + 0x198]
mov rdx, r15
mov r8, qword [rsp + 0x80]
mov rcx, r10
call fcn.14021e2a0
mov rcx, rdi
call fcn.1401e8760
test eax, eax
je 0x1402116ba
mov r9d, dword [rsp + 0x44]
mov r8d, esi
mov edx, gethostbyname
mov rcx, r10
call fcn.140203470
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1402116ee
mov r8, rax
mov edx, ebx
mov rcx, rdi
call fcn.1402176c0
mov r9, qword [rsp + 0x98]
mov r8d, ebx
mov rcx, qword [rsp + 0x190]
mov edx, esi
call fcn.1401c2790
mov esi, dword [rsp + 0x58]
mov rcx, rdi
add esi, ebx
call fcn.1401eb830
test eax, eax
jne 0x1402117b4
mov rdx, qword [rsp + 0x80]
mov rcx, r15
call fcn.1401c6600
mov edi, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa0]
call fcn.1401e5f10
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
call fcn.1401e5f10
mov rcx, qword [rsp + 0x198]
call fcn.140203bf0
mov dword [r15 + 0x3c], eax
test esi, esi
je 0x1402117f5
test r14d, r14d
je 0x140211776
call fcn.140203bf0
mov r8d, r14d
mov edx, reloc.OLEAUT32.dll_SafeArrayLock
lea r9d, [rax + 3]
call fcn.140203470
mov rax, qword [rsp + 0x70]
mov r8d, r12d
mov r9d, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x198]
mov dword [rsp + 0x28], esi
lea ebx, [rax + rax]
lea eax, [rdi + rbx]
mov edi, dword [rsp + 0x48]
movzx edx, byte [rax + rbp + 0x2f11b4]
mov dword [rsp + 0x20], edi
call fcn.1402035b0
mov rcx, qword [rsp + 0x198]
jmp 0x140211801
mov edi, 1
jmp 0x140211718
cmp byte [rsp + 0x4c], 0
je 0x140211714
test r14d, r14d
jne 0x1402117ea
lea r9d, [rsi + rbx]
xor r8d, r8d
lea edx, [r14 + 0x48]
mov rcx, rdi
call fcn.140203470
xor edi, edi
inc esi
jmp 0x140211718
mov edi, dword [rsp + 0x60]
inc esi
jmp 0x140211718
mov rax, qword [rsp + 0x70]
mov edi, dword [rsp + 0x48]
lea ebx, [rax + rax]
test r14d, r14d
je 0x140211854
call fcn.140203bf0
mov r8d, r14d
mov edx, reloc.WS2_32.dll_select
lea r9d, [rax + 2]
call fcn.140203470
mov eax, dword [rsp + 0x1a8]
mov r9d, dword [rsp + 0x44]
lea r8d, [rax + rsi]
add eax, ebx
mov dword [rsp + 0x28], r8d
mov r8d, r12d
mov dword [rsp + 0x20], edi
mov rdi, qword [rsp + 0x198]
movzx edx, byte [rax + rbp + 0x2f11b4]
mov rcx, rdi
call fcn.1402035b0
jmp 0x14021185c
mov rdi, qword [rsp + 0x198]
test dword [r13 + 0x28], 0x40000
mov ebx, 1
je 0x14021187c
mov r9d, ebx
lea edx, [rbx + 0x75]
mov r8d, r12d
mov rcx, rdi
call fcn.140203470
test byte [r13 + 0x28], 0x40
mov r10, qword [rsp + 0x1a0]
lea rsi, [r10 + 0x3c]
je 0x1402118a4
test byte [rsi], 0x20
jne 0x1402118a4
mov r14, qword [rsp + 0x50]
mov ebp, ebx
mov ebx, dword [rsp + 0x40]
jmp 0x140211a05
mov r14, qword [rsp + 0x50]
mov rcx, qword [r14 + 0x18]
test byte [rcx + 0x40], 0x80
jne 0x140211939
movzx eax, word [rsi]
bt ax, 0xa
jb 0x1402118f5
bt ax, 0xc
jae 0x1402118d7
cmp byte [r10 + 0x42], 1
je 0x1402118f5
cmp word [r13 + 0x2c], 0
je 0x1402118f5
mov r8d, dword [rsp + 0x40]
mov r9d, r12d
mov rdx, r14
mov rcx, r10
call fcn.1401c2aa0
mov ebx, dword [rsp + 0x40]
xor ebp, ebp
jmp 0x1402119fd
mov rax, qword [rsp + 0x190]
mov r8d, r12d
mov edx, 0x86
mov rcx, rdi
inc dword [rax + 0x38]
mov ebx, dword [rax + 0x38]
mov r9d, ebx
call fcn.140203470
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], ebx
lea edx, [r9 + 0x20]
call fcn.140203490
mov ebx, dword [rsp + 0x40]
xor ebp, ebp
jmp 0x1402119fd
mov ebx, dword [rsp + 0x40]
xor r10d, r10d
mov ebp, r10d
cmp ebx, r12d
je 0x1402119fd
call fcn.1401faa90
mov rcx, qword [rsp + 0x190]
mov rdi, rax
movzx edx, word [rax + 0x5e]
call fcn.1401f0040
mov r14d, eax
mov ebx, r10d
movzx eax, word [rdi + 0x5e]
cmp r10w, ax
jae 0x1402119cb
mov r15, qword [rsp + 0x198]
mov r13, qword [rsp + 0x50]
mov rax, qword [rdi + 8]
movsxd rcx, ebx
movzx edx, word [rax + rcx*2]
mov rcx, r13
call fcn.140200170
movsx r9d, ax
mov r8d, r12d
lea eax, [rbx + r14]
mov edx, 0x59
mov rcx, r15
mov dword [rsp + 0x20], eax
call fcn.140203490
movzx eax, word [rdi + 0x5e]
inc ebx
cmp ebx, eax
jl 0x140211982
mov r15, qword [rsp + 0x1b0]
mov r13, qword [rsp + 0xb8]
mov ebx, dword [rsp + 0x40]
mov edx, 0x1d
mov r9d, dword [rsp + 0x88]
mov r8d, ebx
mov rcx, qword [rsp + 0x198]
movzx eax, ax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
call fcn.1402035b0
mov r14, qword [rsp + 0x50]
mov r10, qword [rsp + 0x1a0]
cmp dword [r15], 0
jne 0x140211a38
test byte [rsi], 0x20
jne 0x140211a20
mov r9, r10
mov r8d, r12d
mov edx, ebx
mov rcx, r14
call fcn.14021df60
mov rcx, qword [r14 + 0x48]
test rcx, rcx
je 0x140211a38
mov r8, qword [rsp + 0xb0]
mov edx, ebx
call fcn.14021dc40
mov eax, 0x1000
test dword [r13 + 0x28], eax
je 0x140211a4a
mov byte [r15 + 0x35], 0xad
jmp 0x140211a58
cmp dword [rsp + 0x70], 0
sete al
add al, 4
mov byte [r15 + 0x35], al
mov dword [r15 + 0x38], r12d
movzx eax, byte [r13 + 0x2a]
and al, 1
mov byte [r15 + 0x36], al
test byte [r13 + 0x28], 0xf
jne 0x140211a73
mov byte [r15 + 0x37], 1
mov r13, qword [rsp + 0x198]
mov rdi, qword [rsp + 0x190]
mov rdx, qword [rsp + 0x1a0]
test ebp, ebp
je 0x14021223d
xor ebp, ebp
mov r8d, ebp
mov qword [rsp + 0x50], rbp
jmp 0x140210b67
bt edx, 0xd
jae 0x1402121e8
mov eax, dword [rbp + 0x34]
mov rcx, rbp
mov edx, dword [rbp + 0x38]
mov dword [rsp + 0x5c], eax
inc edx
inc eax
mov dword [rsp + 0x68], edx
mov dword [rbp + 0x34], eax
mov dword [rbp + 0x38], edx
mov qword [rsp + 0xc0], rsi
mov dword [rsp + 0x44], esi
mov dword [rsp + 0x58], esi
call fcn.14020ade0
mov rcx, qword [rsp + 0xa8]
mov r14, rsi
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x64], esi
mov qword [rsp + 0x98], rsi
mov r12, qword [rcx + 0x20]
mov rcx, qword [r13 + 0x38]
mov qword [rsp + 0xd8], r12
mov rax, qword [rcx]
mov qword [rsp + 0xb8], rax
mov rax, qword [rax + 0x28]
mov byte [r15 + 0x35], 0x41
mov dword [r15 + 0x38], edx
movzx ecx, byte [rbx + 0x40]
mov qword [rsp + 0x90], rax
cmp cl, 1
jbe 0x140211c79
mov ebx, ecx
sub ebx, edi
dec ebx
movsxd rcx, ebx
imul rdx, rcx, 0x70
mov rcx, qword [rsp + 0xa0]
add rdx, 0x78
call fcn.1401e5fe0
mov qword [rsp + 0xc8], rax
mov rdx, rax
test rax, rax
jne 0x140211b6f
mov rax, qword [rsp + 0x1b8]
jmp 0x14021255d
lea eax, [rbx + 1]
movzx ecx, al
mov rax, qword [rsp + 0xa8]
mov dword [rdx + 4], ecx
mov dword [rdx], ecx
movups xmm0, xmmword [rax]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x18], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x28], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x38], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x48], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x58], xmm1
movups xmm0, xmmword [rax + 0x60]
mov rax, qword [rsp + 0x1a0]
movups xmmword [rdx + 0x68], xmm0
mov r10, qword [rax + 8]
cmp ebx, 1
jl 0x140211c3c
add rdx, 0x78
mov r9d, ebx
lea r8, [r15 + 0x94]
nop dword [rax + rax]
movzx eax, byte [r8]
lea rdx, [rdx + 0x70]
imul rcx, rax, 0x70
lea r8, [r8 + 0x60]
movups xmm0, xmmword [rcx + r10 + 8]
movups xmmword [rdx - 0x70], xmm0
movups xmm1, xmmword [rcx + r10 + 0x18]
movups xmmword [rdx - 0x60], xmm1
movups xmm0, xmmword [rcx + r10 + 0x28]
movups xmmword [rdx - 0x50], xmm0
movups xmm1, xmmword [rcx + r10 + 0x38]
movups xmmword [rdx - 0x40], xmm1
movups xmm0, xmmword [rcx + r10 + 0x48]
movups xmmword [rdx - 0x30], xmm0
movups xmm1, xmmword [rcx + r10 + 0x58]
movups xmmword [rdx - 0x20], xmm1
movups xmm0, xmmword [rcx + r10 + 0x68]
movups xmmword [rdx - 0x10], xmm0
sub r9, 1
jne 0x140211be0
mov rbx, qword [rsp + 0x1a0]
test byte [rbx + 0x3c], 0x10
jne 0x140211cce
test byte [r12 + 0x40], 0x80
jne 0x140211c87
inc dword [rbp + 0x38]
xor r8d, r8d
mov eax, dword [rbp + 0x38]
mov r9d, eax
mov rcx, qword [rsp + 0x198]
mov dword [rsp + 0x44], eax
lea edx, [r8 + 0x48]
call fcn.140203470
jmp 0x140211cc4
mov rax, qword [rbx + 8]
mov qword [rsp + 0xc8], rax
jmp 0x140211c44
mov rcx, r12
call fcn.1401faa90
mov edi, dword [rbp + 0x34]
mov edx, 0x64
mov r8d, edi
mov dword [rsp + 0x44], edi
mov rbx, rax
lea ecx, [rdi + 1]
mov dword [rbp + 0x34], ecx
movzx r9d, word [rax + 0x5e]
mov rcx, qword [rsp + 0x198]
call fcn.140203470
mov rdx, rbx
mov rcx, rbp
call fcn.14020d100
inc dword [rbp + 0x38]
mov eax, dword [rbp + 0x38]
mov dword [rsp + 0x58], eax
mov r13, qword [rsp + 0x198]
xor r8d, r8d
mov r9d, dword [rsp + 0x68]
mov rcx, r13
lea edx, [r8 + 0x45]
call fcn.140203470
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0xb0]
cmp dword [rax + 0x14], 1
jle 0x140211db7
mov rdx, qword [rsp + 0xb8]
mov ebx, esi
mov r12, qword [rsp + 0xa0]
mov rdi, rsi
mov r8d, CDaoRecordset::IsFieldNullable
mov r15, rax
nop
mov rcx, qword [r15 + 0x20]
movsxd rax, ebx
shl rax, 6
add rax, rcx
cmp rax, rdx
je 0x140211d70
test byte [rdi + rcx + 0x12], 6
jne 0x140211d70
test word [rdi + rcx + 0x14], r8w
je 0x140211d70
mov rdx, qword [rdi + rcx]
xor r8d, r8d
mov rcx, r12
call fcn.1401eabe0
mov r8, rax
mov rdx, r14
mov rcx, rbp
call fcn.1401e84b0
mov rdx, qword [rsp + 0xb8]
mov r14, rax
mov r8d, CDaoRecordset::IsFieldNullable
inc ebx
add rdi, 0x40
cmp ebx, dword [r15 + 0x14]
jl 0x140211d20
mov r15, qword [rsp + 0x1b0]
mov r12, qword [rsp + 0xd8]
mov qword [rsp + 0x98], r14
test r14, r14
je 0x140211db7
mov r9, r14
xor r8d, r8d
mov edx, 0x1002c
mov rcx, rbp
call fcn.1401f5520
mov r14, rax
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x1a0]
lea r8, str.MULTI_INDEX_OR
mov ebx, 0x400
mov edx, 1
mov rcx, rbp
movzx eax, word [rax + 0x3c]
and ax, bx
or ax, 0x20
mov word [rsp + 0x1a8], ax
call fcn.14020a0d0
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0x60], esi
cmp dword [rax + 0x14], esi
jle 0x140212134
mov ecx, dword [rsp + 0x40]
xor r15d, r15d
mov qword [rsp + 0xd0], r15
nop
mov rax, qword [rax + 0x20]
cmp dword [r15 + rax + 0x1c], ecx
je 0x140211e27
test word [r15 + rax + 0x14], bx
je 0x140212109
mov rbx, qword [r15 + rax]
xor edi, edi
mov dword [rsp + 0x80], edi
test r14, r14
je 0x140211e40
mov qword [r14 + 0x10], rbx
mov rbx, r14
lea r9d, [rsi + 1]
mov edx, 1
lea r8, str.INDEX__d
mov rcx, rbp
call fcn.14020a0d0
mov eax, dword [rsp + 0x5c]
xor r9d, r9d
mov rdx, qword [rsp + 0xc8]
mov r8, rbx
mov dword [rsp + 0x30], eax
mov rcx, rbp
movzx eax, word [rsp + 0x1a8]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], rdi
call fcn.14020fe40
mov qword [rsp + 0xe0], rax
mov rbx, rax
test rax, rax
je 0x140212100
mov rdx, qword [rsp + 0xc8]
lea r8, [rax + 0x398]
xor r9d, r9d
mov rcx, rbp
call fcn.140212b60
mov rax, qword [rsp + 0x1a0]
test byte [rax + 0x3c], 0x10
jne 0x140212064
mov rax, qword [rsp + 0x90]
mov r14d, esi
mov ecx, dword [rax + 0x14]
mov eax, 0xffffffff
dec ecx
cmp esi, ecx
cmove r14d, eax
test byte [r12 + 0x40], 0x80
mov dword [rsp + 0x7c], r14d
jne 0x140211f2f
mov edi, dword [rsp + 0x58]
mov r9d, eax
mov r8d, dword [rsp + 0x40]
mov rdx, r12
mov rcx, r13
mov dword [rsp + 0x20], edi
call fcn.1401e8c40
mov r8d, dword [rsp + 0x44]
xor r9d, r9d
mov dword [rsp + 0x28], r14d
mov rcx, r13
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x2d]
call fcn.1402035b0
mov edi, eax
jmp 0x14021205c
mov rcx, r12
call fcn.1401faa90
mov rcx, rbp
mov rsi, rax
movzx r13d, word [rax + 0x5e]
mov edx, r13d
call fcn.1401f0040
xor ebx, ebx
mov r12d, eax
mov ebp, r13d
test r13d, r13d
je 0x140211fac
mov r15, qword [rsp + 0x198]
mov edi, eax
mov r14, qword [rsp + 0xd8]
mov r13d, dword [rsp + 0x40]
nop
mov rcx, qword [rsi + 8]
mov r8d, r13d
mov rdx, r14
mov dword [rsp + 0x20], edi
movsx r9d, word [rcx + rbx*2]
mov rcx, r15
call fcn.1401e8c40
inc edi
inc rbx
cmp rbx, rbp
jl 0x140211f70
mov r14d, dword [rsp + 0x7c]
mov r13d, ebp
mov edi, dword [rsp + 0x80]
mov r15, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0x198]
test r14d, r14d
je 0x140211fde
mov r8d, dword [rsp + 0x44]
xor r9d, r9d
mov dword [rsp + 0x28], r13d
mov rcx, rbx
mov dword [rsp + 0x20], r12d
lea edx, [r9 + 0x1e]
call fcn.1402035b0
mov edi, eax
test r14d, r14d
js 0x14021202a
mov esi, dword [rsp + 0x58]
mov r9d, r13d
mov r8d, r12d
mov dword [rsp + 0x20], esi
mov edx, 0x5b
mov rcx, rbx
call fcn.140203490
mov r8d, dword [rsp + 0x44]
mov r9d, esi
mov edx, 0x82
mov dword [rsp + 0x28], r13d
mov rcx, rbx
mov dword [rsp + 0x20], r12d
call fcn.1402035b0
test r14d, r14d
je 0x14021202a
mov edx, reloc.WS2_32.dll_recv
mov rcx, rbx
call fcn.140203950
mov rbp, qword [rsp + 0x190]
mov r8d, r13d
mov rcx, rbp
mov edx, r12d
call fcn.1401fb4e0
mov r13, qword [rsp + 0x198]
mov esi, dword [rsp + 0x60]
mov rbx, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xd8]
mov r14, qword [rsp + 0x98]
mov r9d, dword [rsp + 0x48]
mov edx, reloc.WS2_32.dll_inet_ntoa
mov r8d, dword [rsp + 0x68]
mov rcx, r13
call fcn.140203470
test edi, edi
je 0x140212089
mov edx, edi
mov rcx, r13
call fcn.14020aae0
test byte [rbx + 0x44], 2
mov ecx, 1
mov eax, dword [rsp + 0x64]
mov rdx, qword [rbx + 0x3e8]
cmovne eax, ecx
mov dword [rsp + 0x64], eax
test dword [rdx + 0x28], 0x200
je 0x1402120e4
test esi, esi
je 0x1402120bf
mov rax, qword [rsp + 0xc0]
cmp qword [rdx + 0x20], rax
jne 0x1402120e4
test byte [r12 + 0x40], 0x80
je 0x1402120d6
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
je 0x1402120e4
mov rdi, qword [rdx + 0x20]
mov qword [rsp + 0xc0], rdi
jmp 0x1402120f0
mov qword [rsp + 0xc0], 0
mov rcx, rbx
call fcn.140212590
mov rcx, rbp
call fcn.14020a190
mov ecx, dword [rsp + 0x40]
mov ebx, 0x400
mov rax, qword [rsp + 0x90]
inc esi
add r15, 0x40
mov dword [rsp + 0x60], esi
mov qword [rsp + 0xd0], r15
cmp esi, dword [rax + 0x14]
jl 0x140211e10
mov r15, qword [rsp + 0x1b0]
mov rcx, rbp
call fcn.14020a190
mov rax, qword [rsp + 0xc0]
mov qword [r15 + 0x40], rax
test rax, rax
je 0x140212155
mov eax, dword [rsp + 0x5c]
mov dword [r15 + 8], eax
mov rbx, qword [rsp + 0xa0]
xor ebp, ebp
test r14, r14
je 0x140212173
mov rdx, r14
mov qword [r14 + 0x10], rbp
mov rcx, rbx
call fcn.1401eab20
mov rcx, r13
call fcn.140203bf0
mov edx, dword [rsp + 0x70]
mov r8d, eax
call fcn.140203870
mov edx, dword [r15 + 0xc]
mov rcx, r13
call fcn.14020a540
mov edx, dword [rsp + 0x48]
mov rcx, r13
call fcn.14020cd40
mov rdx, qword [rsp + 0x1a0]
cmp byte [rdx + 0x40], 1
jbe 0x1402121c5
mov rdx, qword [rsp + 0xc8]
mov rcx, rbx
call fcn.1401e5f10
mov rdx, qword [rsp + 0x1a0]
cmp dword [rsp + 0x64], 0
jne 0x140212263
mov rdx, qword [rsp + 0xb8]
mov rcx, r15
call fcn.1401c6600
mov r8, rbp
jmp 0x140210b57
mov r13, qword [rsp + 0x198]
test r8b, 0x20
je 0x140212200
mov byte [r15 + 0x35], 0xad
jmp 0x140210b52
mov ecx, r10d
lea rbp, [0x140000000]
mov r8d, r12d
mov dword [r15 + 0x38], r12d
movzx eax, byte [rcx + rbp + 0x2f11c0]
movzx edx, byte [rcx + rbp + 0x2f11c4]
mov rcx, r13
mov byte [r15 + 0x35], al
call fcn.140203470
inc eax
mov byte [r15 + 0x37], 1
mov dword [r15 + 0x3c], eax
jmp 0x140210b52
mov r8, qword [rsp + 0x50]
xor ebp, ebp
jmp 0x140210b67
mov r13, qword [rsp + 0x198]
xor ebp, ebp
mov rdi, qword [rsp + 0x190]
mov r8d, ebp
jmp 0x140210b67
mov rdi, qword [rsp + 0x190]
mov r8, rbp
jmp 0x140210b67
mov rax, qword [rsp + 0xa8]
mov rdi, qword [rbx]
test byte [rax + 0x3c], 8
je 0x14021228a
test byte [rdi + 4], 1
je 0x1402122ad
cmp r12d, 1
jne 0x14021242a
mov edx, dword [r15 + 4]
mov rcx, rdi
call fcn.1401eaac0
test eax, eax
jne 0x140212430
lea r14d, [r12 + 1]
mov rdi, qword [rsp + 0x190]
mov rdx, qword [rsp + 0x1a0]
dec esi
mov r8, qword [rsp + 0x50]
add rbx, 0x40
mov ebp, 0
test esi, esi
jg 0x140210b93
mov r10, qword [rsp + 0xb0]
mov rbx, qword [r10 + 0x20]
mov esi, dword [r10 + 0x14]
mov rdx, qword [rsp + 0x1a0]
mov r12d, r14d
test r14d, r14d
jg 0x140210b80
test esi, esi
jle 0x1402124e7
mov r13d, dword [rsp + 0x40]
add rbx, 0x14
mov r15, qword [rsp + 0xa8]
mov r12d, reloc.WS2_32.dll_inet_addr
mov r14, qword [rsp + 0x1b8]
test byte [rbx - 2], 6
jne 0x1402124c1
movzx eax, word [rbx]
test al, 0x82
setne cl
bt ax, r12w
setb al
test al, cl
je 0x1402124c1
cmp dword [rbx + 8], r13d
jne 0x1402124c1
test byte [r15 + 0x3c], 8
jne 0x1402124c1
mov r8d, dword [rbx + 0x14]
mov r9, r14
mov rdi, qword [rbx - 0x14]
mov edx, r13d
mov qword [rsp + 0x28], rbp
mov rcx, r10
mov dword [rsp + 0x20], 0x83
call fcn.140213030
mov rdx, rax
test rax, rax
je 0x1402124b9
test byte [rax + 0x12], 4
jne 0x1402124b9
test byte [rax + 0x14], 1
je 0x1402123b3
mov rax, qword [rax]
test dword [rax + 4], 0x800
je 0x1402123b3
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
jg 0x1402124b9
mov rax, qword [rdx]
mov r9d, reloc.WS2_32.dll_recv
mov r8d, dword [rsp + 0x88]
lea rdx, [rsp + 0xf0]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xf0], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x100], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x110], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x120], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rsp + 0x130], xmm0
mov rax, qword [rdi + 0x10]
mov rdi, qword [rsp + 0x190]
mov rcx, rdi
mov qword [rsp + 0x100], rax
call fcn.1401eadb0
jmp 0x1402124c1
cmp r12d, 3
jge 0x140212457
movzx ecx, word [rbx + 0x12]
bt cx, 0xc
jae 0x140212457
mov rdi, qword [rsp + 0x190]
test r14d, r14d
jne 0x1402122b5
mov r14d, 3
jmp 0x1402122b5
bt cx, 9
jae 0x140212480
mov edx, dword [r15 + 0x2c]
test edx, edx
je 0x140212480
mov r8d, edx
mov rcx, r13
and edx, 1
shr r8d, 1
lea edx, [rdx*2 + 0x12]
call fcn.140203450
mov ebp, eax
mov r8d, dword [rsp + 0x88]
mov rdx, rdi
mov rdi, qword [rsp + 0x190]
mov r9d, reloc.WS2_32.dll_recv
mov rcx, rdi
call fcn.1401eadb0
test ebp, ebp
je 0x1402124af
mov edx, ebp
mov rcx, r13
call fcn.14020aae0
or word [rbx + 0x12], 4
jmp 0x1402122b5
mov rdi, qword [rsp + 0x190]
mov r10, qword [rsp + 0xb0]
dec esi
add rbx, 0x40
test esi, esi
jg 0x140212320
mov r15, qword [rsp + 0x1b0]
mov r13, qword [rsp + 0x198]
mov r9d, dword [r15]
test r9d, r9d
je 0x140212559
mov rcx, r13
call fcn.140203bf0
mov edx, 0x45
mov dword [r15 + 0x1c], eax
lea r8d, [rdx - 0x44]
call fcn.140203470
mov rsi, qword [rsp + 0xb0]
cmp dword [rsi + 0x14], 0
mov rbx, qword [rsi + 0x20]
jle 0x140212559
nop dword [rax + rax]
test byte [rbx + 0x12], 6
jne 0x14021254e
mov rax, qword [rbx + 0x38]
test qword [r15 + 0x58], rax
jne 0x14021254e
mov r8d, dword [rsp + 0x88]
mov r9d, reloc.WS2_32.dll_recv
mov rdx, qword [rbx]
mov rcx, rdi
call fcn.1401eadb0
or word [rbx + 0x12], 4
inc ebp
add rbx, 0x40
cmp ebp, dword [rsi + 0x14]
jl 0x140212520
mov rax, qword [r15 + 0x58]
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret