Function at 0x14015aab0
Capabilities:
Access peb ldr_data
Check os version

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
mov eax, 0x3dd8
call fcn.1403a70f0
sub rsp, rax
mov dword [rsp + 0x24b8], 0
lea rcx, [rsp + 0x1570]
call fcn.1400f5690
nop
lea rax, [rsp + 0x3188]
lea rcx, str.ajgaszdzOINXPK
mov rdi, rax
mov rsi, rcx
mov ecx, 0x46
rep movsb byte [rdi], byte [rsi]
mov eax, 2
imul rax, rax, 0x22
movzx eax, word [rsp + rax + 0x3188]
test eax, eax
je 0x14015ab1b
mov dword [rsp + 0x464], 1
jmp 0x14015ab26
mov dword [rsp + 0x464], 0
movzx eax, byte [rsp + 0x464]
test eax, eax
je 0x14015aba1
mov dword [rsp + 0xb8], 0
jmp 0x14015ab4f
mov eax, dword [rsp + 0xb8]
inc eax
mov dword [rsp + 0xb8], eax
cmp dword [rsp + 0xb8], 0x23
jge 0x14015aba1
movsxd rax, dword [rsp + 0xb8]
movzx eax, word [rsp + rax*2 + 0x3188]
mov dword [rsp + 0xaa4], eax
mov eax, dword [rsp + 0xb8]
cdq
mov ecx, Ordinal_50
idiv ecx
mov eax, edx
add eax, 0x32
mov ecx, dword [rsp + 0xaa4]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xb8]
mov word [rsp + rcx*2 + 0x3188], ax
jmp 0x14015ab3f
lea rax, [rsp + 0x3188]
lea r8, [rsp + 0x1570]
mov rdx, rax
lea rcx, [rsp + 0x2620]
call fcn.140091b50
nop
lea rax, [rsp + 0xa9a]
lea rcx, [0x1403fa7a8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xa
rep movsb byte [rdi], byte [rsi]
mov eax, 2
imul rax, rax, 4
movzx eax, word [rsp + rax + 0xa9a]
test eax, eax
je 0x14015ac00
mov dword [rsp + 0x158], 1
jmp 0x14015ac0b
mov dword [rsp + 0x158], 0
movzx eax, byte [rsp + 0x158]
test eax, eax
je 0x14015ac86
mov dword [rsp + 0xbc], 0
jmp 0x14015ac34
mov eax, dword [rsp + 0xbc]
inc eax
mov dword [rsp + 0xbc], eax
cmp dword [rsp + 0xbc], 5
jge 0x14015ac86
movsxd rax, dword [rsp + 0xbc]
movzx eax, word [rsp + rax*2 + 0xa9a]
mov dword [rsp + 0xaa8], eax
mov eax, dword [rsp + 0xbc]
cdq
mov ecx, Ordinal_50
idiv ecx
mov eax, edx
add eax, 0x32
mov ecx, dword [rsp + 0xaa8]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xbc]
mov word [rsp + rcx*2 + 0xa9a], ax
jmp 0x14015ac24
lea rax, [rsp + 0xa9a]
mov r8, qword [rsp + 0x3df0]
mov rdx, rax
lea rcx, [rsp + 0x1550]
call fcn.140091b50
nop
lea rax, [rsp + 0x468]
mov qword [rsp + 0x1690], rax
lea rax, [rsp + 0x2620]
mov rcx, rax
call fcn.14018be10
mov qword [rsp + 0x2428], rax
mov rax, qword [rsp + 0x2428]
mov qword [rsp + 0x1698], rax
mov qword [rsp + 0x16a0], 0xffffffff80000002
mov dword [rsp + 0xaac], 0x3d3184a3
lea rax, [rsp + 0x24bc]
mov qword [rsp + 0xd70], rax
mov rax, qword [rsp + 0xd70]
mov dword [rax], 0
mov rax, qword [rsp + 0xd70]
mov eax, dword [rax]
mov dword [rsp + 0xac0], eax
mov eax, dword [rsp + 0xaac]
mov dword [rsp + 0x110], eax
mov eax, dword [rsp + 0x110]
mov dword [rsp + 0xab0], eax
mov eax, dword [rsp + 0xab0]
mov dword [rsp + 0xab8], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0xd78], rax
mov rax, qword [rsp + 0xd78]
mov qword [rsp + 0x2430], rax
mov rax, qword [rsp + 0x2430]
mov qword [rsp + 0x24e0], rax
mov byte [rsp + 0x24e8], 1
mov rax, qword [rsp + 0xd78]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockShared
nop
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x2438], rax
lea r8, [rsp + 0xab8]
lea rdx, [rsp + 0xd90]
mov rcx, qword [rsp + 0x2438]
call fcn.140096f50
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x2440], rax
mov rax, qword [rsp + 0x2440]
add rax, 8
mov qword [rsp + 0xd80], rax
mov rax, qword [rsp + 0x3018]
mov qword [rsp + 0xd88], rax
mov rax, qword [rsp + 0xd80]
mov qword [rsp + 0xd88], rax
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax]
mov qword [rsp + 0x2448], rax
mov r8, qword [rsp + 0xd88]
mov rdx, qword [rsp + 0x2448]
lea rcx, [rsp + 0x2450]
call fcn.14006f260
lea rax, [rsp + 0x2450]
mov qword [rsp + 0x2458], rax
mov rax, qword [rsp + 0x2458]
mov rax, qword [rax]
cmp qword [rsp + 0xd90], rax
jne 0x14015ae70
mov dword [rsp + 0x15c], 1
jmp 0x14015ae7b
mov dword [rsp + 0x15c], 0
movzx eax, byte [rsp + 0x15c]
mov byte [rsp + 0x70], al
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x14015ae9e
mov qword [rsp + 0xd98], 0
jmp 0x14015af06
mov rax, qword [rsp + 0xd90]
add rax, 0x10
mov qword [rsp + 0x2460], rax
mov rax, qword [rsp + 0x2460]
mov qword [rsp + 0x2468], rax
mov rax, qword [rsp + 0x2468]
mov qword [rsp + 0x2470], rax
mov rax, qword [rsp + 0x2470]
mov qword [rsp + 0x2478], rax
mov rax, qword [rsp + 0x2478]
mov qword [rsp + 0x2480], rax
mov rax, qword [rsp + 0x2480]
mov rax, qword [rax + 8]
mov qword [rsp + 0xd98], rax
mov rax, qword [rsp + 0xd98]
mov qword [rsp + 0x2490], rax
movzx eax, byte [rsp + 0x24e8]
test eax, eax
je 0x14015af42
mov rax, qword [rsp + 0x24e0]
mov qword [rsp + 0x2488], rax
mov rax, qword [rsp + 0x2488]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockShared
mov rax, qword [rsp + 0x2490]
mov qword [rsp + 0x490], rax
cmp qword [rsp + 0x490], 0
jne 0x14015bd39
mov eax, dword [rsp + 0x110]
mov dword [rsp + 0xac8], eax
mov eax, dword [rsp + 0xac0]
mov dword [rsp + 0x170], eax
mov eax, dword [rsp + 0xac8]
mov dword [rsp + 0x198], eax
mov dword [rsp + 0xad0], 0
mov eax, dword [rsp + 0xad0]
cmp dword [rsp + 0x198], eax
jne 0x14015afba
xor eax, eax
cmp eax, 1
je 0x14015afba
mov dword [rsp + 0x160], 1
jmp 0x14015afc5
mov dword [rsp + 0x160], 0
movzx eax, byte [rsp + 0x160]
mov byte [rsp + 0x71], al
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x14015afeb
mov qword [rsp + 0x488], 0
jmp 0x14015bc39
mov byte [rsp + 0x109], 1
mov qword [rsp + 0x14c0], 0
mov qword [rsp + 0x14c8], 0
mov rax, qword gs:[0x60]
mov qword [rsp + 0x2498], rax
mov rax, qword [rsp + 0x2498]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x24a0], rax
mov rax, qword [rsp + 0x24a0]
add rax, 0x10
mov qword [rsp + 0xba8], rax
mov eax, 1
test eax, eax
je 0x14015b065
mov rax, qword [rsp + 0xba8]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0xda0], rax
jmp 0x14015b078
mov rax, qword [rsp + 0xba8]
mov rax, qword [rax]
mov qword [rsp + 0xda0], rax
mov rax, qword [rsp + 0xda0]
mov qword [rsp + 0x14c0], rax
mov rax, qword [rsp + 0xba8]
mov qword [rsp + 0x14c8], rax
lea rax, [rsp + 0x14c0]
mov qword [rsp + 0xda8], rax
mov rax, qword [rsp + 0xda8]
mov rax, qword [rax]
mov qword [rsp + 0x24a8], rax
mov rax, qword [rsp + 0x24a8]
mov qword [rsp + 0x470], rax
mov rax, qword [rsp + 0xda8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x24b0], rax
mov rax, qword [rsp + 0x24b0]
mov qword [rsp + 0x15a8], rax
jmp 0x14015b104
mov rax, qword [rsp + 0x470]
mov rax, qword [rax]
mov qword [rsp + 0x470], rax
mov rax, qword [rsp + 0x15a8]
cmp qword [rsp + 0x470], rax
je 0x14015b123
mov dword [rsp + 0x164], 1
jmp 0x14015b12e
mov dword [rsp + 0x164], 0
movzx eax, byte [rsp + 0x164]
test eax, eax
je 0x14015bc2d
xor eax, eax
mov qword [rsp + 0x15b0], rax
mov rax, qword [rsp + 0x15b0]
mov rcx, qword [rsp + 0x470]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x15b8], rax
lea rax, [rsp + 0x15b8]
mov qword [rsp + 0xdb8], rax
mov dword [rsp + 0xad4], 0
mov eax, dword [rsp + 0xad4]
cmp dword [rsp + 0x170], eax
jne 0x14015b1a5
xor eax, eax
cmp eax, 1
je 0x14015b1a5
mov dword [rsp + 0x168], 1
jmp 0x14015b1b0
mov dword [rsp + 0x168], 0
movzx eax, byte [rsp + 0x168]
mov byte [rsp + 0x72], al
movzx eax, byte [rsp + 0x72]
test eax, eax
jne 0x14015b4dd
mov rax, qword [rsp + 0xdb8]
mov rax, qword [rax]
add rax, 0x58
mov qword [rsp + 0x15c0], rax
mov rax, qword [rsp + 0x15c0]
mov rax, qword [rax + 8]
mov qword [rsp + 0xdb0], rax
mov rax, qword [rsp + 0xdb0]
mov qword [rsp + 0x2738], rax
mov rax, qword [rsp + 0xdb0]
mov qword [rsp + 0x15c8], rax
mov qword [rsp + 0x478], 0xffffffffffffffff
inc qword [rsp + 0x478]
mov rax, qword [rsp + 0x15c8]
mov rcx, qword [rsp + 0x478]
cmp word [rax + rcx*2], 0
jne 0x14015b220
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x15d0], rax
mov rax, qword [rsp + 0x15d0]
mov qword [rsp + 0x2740], rax
lea rax, [rsp + 0x2738]
mov qword [rsp + 0x15d8], rax
lea rax, [rsp + 0x28b8]
mov rdi, rax
mov rsi, qword [rsp + 0x15d8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x170]
mov dword [rsp + 0xad8], eax
lea rax, [rsp + 0x24f0]
lea rcx, [rsp + 0x28b8]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0xad8]
mov dword [rsp + 0x188], eax
lea rax, [rsp + 0x178]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x178], 0x1b6e1b1e
lea rax, [rsp + 0x178]
mov qword [rsp + 0x15e0], rax
lea rax, [rsp + 0x28c8]
lea rcx, [rsp + 0x24f0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x28e0]
lea rcx, [rsp + 0x28c8]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x28e0]
mov rcx, qword [rsp + 0x15e0]
call fcn.140097890
mov dword [rsp + 0xadc], eax
mov rax, qword [rsp + 0x24f8]
mov qword [rsp + 0x15e8], rax
mov rax, qword [rsp + 0x15e8]
sub rax, 4
mov qword [rsp + 0x15f0], rax
mov r9, qword [rsp + 0x15f0]
xor r8d, r8d
lea rdx, [rsp + 0x28f0]
lea rcx, [rsp + 0x24f0]
call fcn.14019ab70
lea rax, [rsp + 0x17c]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x17c], 0x1b6e1b1e
lea rax, [rsp + 0x17c]
mov qword [rsp + 0x15f8], rax
lea rax, [rsp + 0x2900]
lea rcx, [rsp + 0x28f0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2910]
lea rcx, [rsp + 0x2900]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2910]
mov rcx, qword [rsp + 0x15f8]
call fcn.140097890
mov dword [rsp + 0xae4], eax
mov eax, dword [rsp + 0xadc]
mov dword [rsp + 0xae0], eax
mov eax, dword [rsp + 0xae0]
cmp dword [rsp + 0x188], eax
jne 0x14015b442
xor eax, eax
cmp eax, 1
je 0x14015b442
mov dword [rsp + 0x180], 1
jmp 0x14015b44d
mov dword [rsp + 0x180], 0
movzx eax, byte [rsp + 0x180]
mov byte [rsp + 0x73], al
movzx eax, byte [rsp + 0x73]
test eax, eax
jne 0x14015b4c1
mov eax, dword [rsp + 0xae4]
mov dword [rsp + 0xae8], eax
mov eax, dword [rsp + 0xae8]
cmp dword [rsp + 0x188], eax
jne 0x14015b494
xor eax, eax
cmp eax, 1
je 0x14015b494
mov dword [rsp + 0x190], 1
jmp 0x14015b49f
mov dword [rsp + 0x190], 0
movzx eax, byte [rsp + 0x190]
mov byte [rsp + 0x74], al
movzx eax, byte [rsp + 0x74]
test eax, eax
jne 0x14015b4c1
mov dword [rsp + 0x194], 1
jmp 0x14015b4cc
mov dword [rsp + 0x194], 0
movzx eax, byte [rsp + 0x194]
test eax, eax
je 0x14015b4dd
jmp 0x14015b0f1
mov rax, qword [rsp + 0xdb8]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xdc0], rax
mov rax, qword [rsp + 0xdc0]
mov qword [rsp + 0xa80], rax
mov rax, qword [rsp + 0xdc0]
mov qword [rsp + 0x1600], rax
mov rax, qword [rsp + 0x1600]
mov qword [rsp + 0xdc8], rax
mov rax, qword [rsp + 0xdc8]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0xdc8]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0x1608], rax
mov eax, dword [rsp + 0x1608]
add rax, qword [rsp + 0xa80]
mov qword [rsp + 0x1610], rax
mov rax, qword [rsp + 0x1610]
mov qword [rsp + 0xa88], rax
mov eax, dword [rsp + 0x198]
mov dword [rsp + 0xaec], eax
mov eax, dword [rsp + 0xaec]
mov dword [rsp + 0xaf0], eax
lea rdx, [rsp + 0x3d80]
lea rcx, [rsp + 0xa80]
call fcn.1401906d0
lea rcx, [rsp + 0x3900]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x3998]
lea rcx, [rsp + 0xa80]
call fcn.14018ec60
lea rcx, [rsp + 0x32f0]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3320]
lea rcx, [rsp + 0x3900]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3350]
lea rcx, [rsp + 0x32f0]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
mov r9d, dword [rsp + 0xaf0]
lea r8, [rsp + 0x3320]
lea rdx, [rsp + 0x3350]
lea rcx, [rsp + 0x3048]
call fcn.140097110
lea rdx, [rsp + 0x39c0]
lea rcx, [rsp + 0xa80]
call fcn.1401906d0
mov qword [rsp + 0xdd0], rax
mov rax, qword [rsp + 0xdd0]
mov rax, qword [rax + 8]
cmp qword [rsp + 0x3050], rax
jne 0x14015b692
mov rax, qword [rsp + 0xdd0]
mov rax, qword [rax]
cmp qword [rsp + 0x3048], rax
jne 0x14015b692
mov dword [rsp + 0x1a0], 1
jmp 0x14015b69d
mov dword [rsp + 0x1a0], 0
movzx eax, byte [rsp + 0x1a0]
mov byte [rsp + 0x75], al
movzx eax, byte [rsp + 0x75]
test eax, eax
je 0x14015b6b7
jmp 0x14015b0f1
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
and eax, 1
test eax, eax
jne 0x14015b77d
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
or eax, 1
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov edi, reloc.WLDAP32.dll_Ordinal_32
mov edi, edi
mov rcx, qword [rdx + rcx*8]
mov dword [rdi + rcx], eax
mov eax, 8
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
add rax, qword [rdx + rcx*8]
mov qword [rsp + 0xde0], rax
mov rax, qword [rsp + 0xde0]
mov qword [rsp + 0xdd8], rax
mov rax, qword [rsp + 0xdd8]
mov qword [rax], 0
mov rax, qword [rsp + 0xdd8]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0xde0]
mov qword [rax + 0x10], 0
lea rax, [rsp + 0x3058]
mov qword [rsp + 0xde8], rax
mov rax, qword [rsp + 0xde8]
mov qword [rsp + 0x28b0], rax
mov rax, qword [rsp + 0xde8]
add rax, 0x10
mov qword [rsp + 0xbc0], rax
mov rax, qword [rsp + 0xbc0]
mov rax, qword [rax]
mov qword [rsp + 0xe08], rax
mov rax, qword [rsp + 0xa80]
mov qword [rsp + 0x1618], rax
mov rax, qword [rsp + 0x1618]
mov qword [rsp + 0xdf0], rax
mov rax, qword [rsp + 0xdf0]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0xdf0]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0xdf8], rax
mov eax, dword [rsp + 0xdf8]
add rax, qword [rsp + 0xa80]
mov qword [rsp + 0xe00], rax
mov eax, dword [rsp + 0xdfc]
mov rcx, qword [rsp + 0xe00]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1620], rax
mov rax, qword [rsp + 0xe00]
cmp qword [rsp + 0xe08], rax
jb 0x14015b86c
mov rax, qword [rsp + 0x1620]
cmp qword [rsp + 0xe08], rax
jae 0x14015b86c
mov dword [rsp + 0x1a4], 1
jmp 0x14015b877
mov dword [rsp + 0x1a4], 0
movzx eax, byte [rsp + 0x1a4]
mov byte [rsp + 0x76], al
movzx eax, byte [rsp + 0x76]
test eax, eax
je 0x14015bc13
mov rax, qword [rsp + 0xbc0]
mov rax, qword [rax]
mov qword [rsp + 0x1628], rax
mov rax, qword [rsp + 0x1628]
mov qword [rsp + 0xe10], rax
lea rax, [rsp + 0x31f0]
mov qword [rsp + 0xbb0], rax
mov rax, qword [rsp + 0xbb0]
mov rcx, qword [rsp + 0xe10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xe10]
mov qword [rsp + 0x1630], rax
mov qword [rsp + 0x480], 0xffffffffffffffff
inc qword [rsp + 0x480]
mov rax, qword [rsp + 0x1630]
mov rcx, qword [rsp + 0x480]
cmp byte [rax + rcx], 0
jne 0x14015b8f2
mov rax, qword [rsp + 0x480]
mov qword [rsp + 0x1638], rax
mov rax, qword [rsp + 0xbb0]
mov rcx, qword [rsp + 0x1638]
mov qword [rax + 8], rcx
lea rax, [rsp + 0xc50]
mov rdi, rax
mov rsi, qword [rsp + 0xbb0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov r9b, reloc.WLDAP32.dll_Ordinal_46
xor r8d, r8d
mov rdx, qword [rsp + 0xc58]
mov rcx, qword [rsp + 0xc50]
call fcn.140096220
mov qword [rsp + 0xbb8], rax
cmp qword [rsp + 0xbb8], 0xffffffffffffffff
je 0x14015ba06
mov r9, qword [rsp + 0xbb8]
xor r8d, r8d
lea rdx, [rsp + 0x2920]
lea rcx, [rsp + 0xc50]
call fcn.14019aaa0
mov rax, qword [rsp + 0xbb8]
inc rax
mov r9, 0xffffffffffffffff
mov r8, rax
lea rdx, [rsp + 0x2930]
lea rcx, [rsp + 0xc50]
call fcn.14019aaa0
lea rax, [rsp + 0x2768]
lea rcx, [rsp + 0x2920]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2778]
lea rcx, [rsp + 0x2930]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
jmp 0x14015ba65
lea rax, [rsp + 0xc50]
mov qword [rsp + 0x1640], rax
mov qword [rsp + 0x2748], 0
mov qword [rsp + 0x2750], 0
lea rax, [rsp + 0x2768]
mov rdi, rax
mov rsi, qword [rsp + 0x1640]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2778]
lea rcx, [rsp + 0x2748]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2768]
mov qword [rsp + 0x1648], rax
lea rax, [rsp + 0x2778]
mov qword [rsp + 0x1658], rax
lea rax, [rsp + 0x24c0]
mov qword [rsp + 0xe18], rax
lea rax, [rsp + 0x1a8]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x1a8], 0x1b6e1b1e
lea rax, [rsp + 0x1a8]
mov qword [rsp + 0x1650], rax
lea rax, [rsp + 0x2940]
mov rdi, rax
mov rsi, qword [rsp + 0x1648]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2950]
lea rcx, [rsp + 0x2940]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2950]
mov rcx, qword [rsp + 0x1650]
call fcn.1400977d0
mov dword [rsp + 0xaf8], eax
mov rax, qword [rsp + 0xe18]
mov ecx, dword [rsp + 0xaf8]
mov dword [rax], ecx
mov rax, qword [rsp + 0xe18]
mov eax, dword [rax]
mov dword [rsp + 0xb08], eax
lea rax, [rsp + 0x24c4]
mov qword [rsp + 0xe20], rax
lea rax, [rsp + 0x1ac]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x1ac], 0x1b6e1b1e
lea rax, [rsp + 0x1ac]
mov qword [rsp + 0x1660], rax
lea rax, [rsp + 0x2960]
mov rdi, rax
mov rsi, qword [rsp + 0x1658]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2970]
lea rcx, [rsp + 0x2960]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2970]
mov rcx, qword [rsp + 0x1660]
call fcn.1400977d0
mov dword [rsp + 0xb00], eax
mov rax, qword [rsp + 0xe20]
mov ecx, dword [rsp + 0xb00]
mov dword [rax], ecx
mov rax, qword [rsp + 0xe20]
mov eax, dword [rax]
mov dword [rsp + 0xb0c], eax
mov r8d, dword [rsp + 0xb08]
mov edx, dword [rsp + 0xb0c]
lea rcx, [rsp + 0xe28]
call fcn.140191150
mov qword [rsp + 0x488], rax
jmp 0x14015bc39
mov rax, qword [rsp + 0xbc0]
mov rax, qword [rax]
mov qword [rsp + 0x488], rax
jmp 0x14015bc39
mov qword [rsp + 0x488], 0
mov rax, qword [rsp + 0x488]
mov qword [rsp + 0xe28], rax
mov rax, qword [rsp + 0xe28]
mov qword [rsp + 0x490], rax
mov eax, dword [rsp + 0x110]
mov dword [rsp + 0xb10], eax
mov rax, qword [rsp + 0x490]
mov qword [rsp + 0x1678], rax
mov eax, dword [rsp + 0xb10]
mov dword [rsp + 0xb18], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0x1668], rax
mov rax, qword [rsp + 0x1668]
mov qword [rsp + 0xc60], rax
mov byte [rsp + 0xc68], 0
mov rax, qword [rsp + 0xc60]
mov qword [rsp + 0x1670], rax
mov rax, qword [rsp + 0x1670]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rsp + 0xc68], 1
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x1680], rax
lea r9, [rsp + 0x1678]
lea r8, [rsp + 0xb18]
lea rdx, [rsp + 0x3200]
mov rcx, qword [rsp + 0x1680]
call fcn.140098320
nop
movzx eax, byte [rsp + 0xc68]
test eax, eax
je 0x14015bd39
mov rax, qword [rsp + 0xc60]
mov qword [rsp + 0x1688], rax
mov rax, qword [rsp + 0x1688]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rax, qword [rsp + 0x490]
mov qword [rsp + 0xe30], rax
mov byte [rsp + 0x10a], 0
mov byte [rsp + 0x10b], 0
mov rax, qword [rsp + 0x1690]
mov qword [rsp + 0x16a8], rax
mov byte [rsp + 0x10c], 0
mov byte [rsp + 0x10d], 0
mov rax, qword [rsp + 0x1698]
mov qword [rsp + 0x16b0], rax
mov byte [rsp + 0x10e], 0
mov byte [rsp + 0x10f], 0
mov rax, qword [rsp + 0x16a0]
mov qword [rsp + 0x16b8], rax
cmp qword [rsp + 0xe30], 0
jne 0x14015bdc1
mov dword [rsp + 0x1b0], 0
jmp 0x14015bdf7
mov rax, qword [rsp + 0xe30]
mov qword [rsp + 0x16c0], rax
mov r8, qword [rsp + 0x16a8]
mov rdx, qword [rsp + 0x16b0]
mov rcx, qword [rsp + 0x16b8]
call qword [rsp + 0x16c0]
mov dword [rsp + 0x1b0], eax
mov eax, dword [rsp + 0x1b0]
mov dword [rsp + 0xcc], eax
cmp dword [rsp + 0xcc], 0
je 0x14015be47
mov byte [rsp + 0x77], 0
lea rcx, [rsp + 0x1550]
call fcn.14018ddf0
nop
lea rcx, [rsp + 0x2620]
call fcn.14018ddf0
nop
lea rcx, [rsp + 0x1570]
call fcn.14018ddf0
movzx eax, byte [rsp + 0x77]
jmp 0x1401650eb
mov rax, qword [rsp + 0x1560]
mov qword [rsp + 0x16c8], rax
mov rax, qword [rsp + 0x16c8]
shl rax, 1
mov dword [rsp + 0xb98], eax
lea rax, [rsp + 0x1550]
mov rcx, rax
call fcn.14018be10
mov qword [rsp + 0x16d0], rax
mov rax, qword [rsp + 0x16d0]
mov qword [rsp + 0x1848], rax
mov dword [rsp + 0xb9c], 2
lea rax, [rsp + 0x2600]
lea rcx, str.URSgYMR_
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_sendto
rep movsb byte [rdi], byte [rsi]
mov eax, 2
imul rax, rax, 9
movzx eax, word [rsp + rax + 0x2600]
test eax, eax
je 0x14015beda
mov dword [rsp + 0x1b4], 1
jmp 0x14015bee5
mov dword [rsp + 0x1b4], 0
movzx eax, byte [rsp + 0x1b4]
test eax, eax
je 0x14015bf60
mov dword [rsp + 0xc0], 0
jmp 0x14015bf0e
mov eax, dword [rsp + 0xc0]
inc eax
mov dword [rsp + 0xc0], eax
cmp dword [rsp + 0xc0], 0xa
jge 0x14015bf60
movsxd rax, dword [rsp + 0xc0]
movzx eax, word [rsp + rax*2 + 0x2600]
mov dword [rsp + 0xb20], eax
mov eax, dword [rsp + 0xc0]
cdq
mov ecx, Ordinal_50
idiv ecx
mov eax, edx
add eax, 0x32
mov ecx, dword [rsp + 0xb20]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xc0]
mov word [rsp + rcx*2 + 0x2600], ax
jmp 0x14015befe
lea rax, [rsp + 0x2600]
mov qword [rsp + 0x1850], rax
mov dword [rsp + 0xba0], 0
mov dword [rsp + 0xb24], 0x17d27a4d
lea rax, [rsp + 0x24c8]
mov qword [rsp + 0xe38], rax
mov rax, qword [rsp + 0xe38]
mov dword [rax], 0
mov rax, qword [rsp + 0xe38]
mov eax, dword [rax]
mov dword [rsp + 0xb38], eax
mov eax, dword [rsp + 0xb24]
mov dword [rsp + 0x118], eax
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0xb28], eax
mov eax, dword [rsp + 0xb28]
mov dword [rsp + 0xb30], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0xe40], rax
mov rax, qword [rsp + 0xe40]
mov qword [rsp + 0x16d8], rax
mov rax, qword [rsp + 0x16d8]
mov qword [rsp + 0x2500], rax
mov byte [rsp + 0x2508], 1
mov rax, qword [rsp + 0xe40]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockShared
nop
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x16e0], rax
lea r8, [rsp + 0xb30]
lea rdx, [rsp + 0xe58]
mov rcx, qword [rsp + 0x16e0]
call fcn.140096f50
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x16e8], rax
mov rax, qword [rsp + 0x16e8]
add rax, 8
mov qword [rsp + 0xe48], rax
mov rax, qword [rsp + 0x2fb0]
mov qword [rsp + 0xe50], rax
mov rax, qword [rsp + 0xe48]
mov qword [rsp + 0xe50], rax
mov rax, qword [rsp + 0xe48]
mov rax, qword [rax]
mov qword [rsp + 0x16f0], rax
mov r8, qword [rsp + 0xe50]
mov rdx, qword [rsp + 0x16f0]
lea rcx, [rsp + 0x16f8]
call fcn.14006f260
lea rax, [rsp + 0x16f8]
mov qword [rsp + 0x1700], rax
mov rax, qword [rsp + 0x1700]
mov rax, qword [rax]
cmp qword [rsp + 0xe58], rax
jne 0x14015c100
mov dword [rsp + 0x1b8], 1
jmp 0x14015c10b
mov dword [rsp + 0x1b8], 0
movzx eax, byte [rsp + 0x1b8]
mov byte [rsp + 0x78], al
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x14015c12e
mov qword [rsp + 0xe60], 0
jmp 0x14015c196
mov rax, qword [rsp + 0xe58]
add rax, 0x10
mov qword [rsp + 0x1708], rax
mov rax, qword [rsp + 0x1708]
mov qword [rsp + 0x1710], rax
mov rax, qword [rsp + 0x1710]
mov qword [rsp + 0x1718], rax
mov rax, qword [rsp + 0x1718]
mov qword [rsp + 0x1720], rax
mov rax, qword [rsp + 0x1720]
mov qword [rsp + 0x1728], rax
mov rax, qword [rsp + 0x1728]
mov rax, qword [rax + 8]
mov qword [rsp + 0xe60], rax
mov rax, qword [rsp + 0xe60]
mov qword [rsp + 0x1738], rax
movzx eax, byte [rsp + 0x2508]
test eax, eax
je 0x14015c1d2
mov rax, qword [rsp + 0x2500]
mov qword [rsp + 0x1730], rax
mov rax, qword [rsp + 0x1730]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockShared
mov rax, qword [rsp + 0x1738]
mov qword [rsp + 0x4b8], rax
cmp qword [rsp + 0x4b8], 0
jne 0x14015cfc9
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0xb40], eax
mov eax, dword [rsp + 0xb38]
mov dword [rsp + 0x1c8], eax
mov eax, dword [rsp + 0xb40]
mov dword [rsp + 0x1f0], eax
mov dword [rsp + 0xb48], 0
mov eax, dword [rsp + 0xb48]
cmp dword [rsp + 0x1f0], eax
jne 0x14015c24a
xor eax, eax
cmp eax, 1
je 0x14015c24a
mov dword [rsp + 0x1bc], 1
jmp 0x14015c255
mov dword [rsp + 0x1bc], 0
movzx eax, byte [rsp + 0x1bc]
mov byte [rsp + 0x79], al
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x14015c27b
mov qword [rsp + 0x4b0], 0
jmp 0x14015cec9
mov byte [rsp + 0xd4], 1
mov qword [rsp + 0x14d0], 0
mov qword [rsp + 0x14d8], 0
mov rax, qword gs:[0x60]
mov qword [rsp + 0x1740], rax
mov rax, qword [rsp + 0x1740]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1748], rax
mov rax, qword [rsp + 0x1748]
add rax, 0x10
mov qword [rsp + 0xbc8], rax
mov eax, 1
test eax, eax
je 0x14015c2f5
mov rax, qword [rsp + 0xbc8]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0xe68], rax
jmp 0x14015c308
mov rax, qword [rsp + 0xbc8]
mov rax, qword [rax]
mov qword [rsp + 0xe68], rax
mov rax, qword [rsp + 0xe68]
mov qword [rsp + 0x14d0], rax
mov rax, qword [rsp + 0xbc8]
mov qword [rsp + 0x14d8], rax
lea rax, [rsp + 0x14d0]
mov qword [rsp + 0xe70], rax
mov rax, qword [rsp + 0xe70]
mov rax, qword [rax]
mov qword [rsp + 0x1750], rax
mov rax, qword [rsp + 0x1750]
mov qword [rsp + 0x498], rax
mov rax, qword [rsp + 0xe70]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1758], rax
mov rax, qword [rsp + 0x1758]
mov qword [rsp + 0x1760], rax
jmp 0x14015c394
mov rax, qword [rsp + 0x498]
mov rax, qword [rax]
mov qword [rsp + 0x498], rax
mov rax, qword [rsp + 0x1760]
cmp qword [rsp + 0x498], rax
je 0x14015c3b3
mov dword [rsp + 0x1c0], 1
jmp 0x14015c3be
mov dword [rsp + 0x1c0], 0
movzx eax, byte [rsp + 0x1c0]
test eax, eax
je 0x14015cebd
xor eax, eax
mov qword [rsp + 0x1768], rax
mov rax, qword [rsp + 0x1768]
mov rcx, qword [rsp + 0x498]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x1770], rax
lea rax, [rsp + 0x1770]
mov qword [rsp + 0xe80], rax
mov dword [rsp + 0xb4c], 0
mov eax, dword [rsp + 0xb4c]
cmp dword [rsp + 0x1c8], eax
jne 0x14015c435
xor eax, eax
cmp eax, 1
je 0x14015c435
mov dword [rsp + 0x1c4], 1
jmp 0x14015c440
mov dword [rsp + 0x1c4], 0
movzx eax, byte [rsp + 0x1c4]
mov byte [rsp + 0x7a], al
movzx eax, byte [rsp + 0x7a]
test eax, eax
jne 0x14015c76d
mov rax, qword [rsp + 0xe80]
mov rax, qword [rax]
add rax, 0x58
mov qword [rsp + 0x1778], rax
mov rax, qword [rsp + 0x1778]
mov rax, qword [rax + 8]
mov qword [rsp + 0xe78], rax
mov rax, qword [rsp + 0xe78]
mov qword [rsp + 0x2758], rax
mov rax, qword [rsp + 0xe78]
mov qword [rsp + 0x1780], rax
mov qword [rsp + 0x4a0], 0xffffffffffffffff
inc qword [rsp + 0x4a0]
mov rax, qword [rsp + 0x1780]
mov rcx, qword [rsp + 0x4a0]
cmp word [rax + rcx*2], 0
jne 0x14015c4b0
mov rax, qword [rsp + 0x4a0]
mov qword [rsp + 0x1788], rax
mov rax, qword [rsp + 0x1788]
mov qword [rsp + 0x2760], rax
lea rax, [rsp + 0x2758]
mov qword [rsp + 0x1790], rax
lea rax, [rsp + 0x2980]
mov rdi, rax
mov rsi, qword [rsp + 0x1790]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x1c8]
mov dword [rsp + 0xb50], eax
lea rax, [rsp + 0x2510]
lea rcx, [rsp + 0x2980]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0xb50]
mov dword [rsp + 0x1e0], eax
lea rax, [rsp + 0x1d0]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x1d0], 0x1b6e1b1e
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x1798], rax
lea rax, [rsp + 0x2990]
lea rcx, [rsp + 0x2510]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x29a0]
lea rcx, [rsp + 0x2990]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x29a0]
mov rcx, qword [rsp + 0x1798]
call fcn.140097890
mov dword [rsp + 0xb54], eax
mov rax, qword [rsp + 0x2518]
mov qword [rsp + 0x17a0], rax
mov rax, qword [rsp + 0x17a0]
sub rax, 4
mov qword [rsp + 0x17a8], rax
mov r9, qword [rsp + 0x17a8]
xor r8d, r8d
lea rdx, [rsp + 0x29b0]
lea rcx, [rsp + 0x2510]
call fcn.14019ab70
lea rax, [rsp + 0x1d4]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x1d4], 0x1b6e1b1e
lea rax, [rsp + 0x1d4]
mov qword [rsp + 0x17b0], rax
lea rax, [rsp + 0x29c0]
lea rcx, [rsp + 0x29b0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x29d0]
lea rcx, [rsp + 0x29c0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x29d0]
mov rcx, qword [rsp + 0x17b0]
call fcn.140097890
mov dword [rsp + 0xb5c], eax
mov eax, dword [rsp + 0xb54]
mov dword [rsp + 0xb58], eax
mov eax, dword [rsp + 0xb58]
cmp dword [rsp + 0x1e0], eax
jne 0x14015c6d2
xor eax, eax
cmp eax, 1
je 0x14015c6d2
mov dword [rsp + 0x1d8], 1
jmp 0x14015c6dd
mov dword [rsp + 0x1d8], 0
movzx eax, byte [rsp + 0x1d8]
mov byte [rsp + 0x7b], al
movzx eax, byte [rsp + 0x7b]
test eax, eax
jne 0x14015c751
mov eax, dword [rsp + 0xb5c]
mov dword [rsp + 0xb60], eax
mov eax, dword [rsp + 0xb60]
cmp dword [rsp + 0x1e0], eax
jne 0x14015c724
xor eax, eax
cmp eax, 1
je 0x14015c724
mov dword [rsp + 0x1e8], 1
jmp 0x14015c72f
mov dword [rsp + 0x1e8], 0
movzx eax, byte [rsp + 0x1e8]
mov byte [rsp + 0x7c], al
movzx eax, byte [rsp + 0x7c]
test eax, eax
jne 0x14015c751
mov dword [rsp + 0x1ec], 1
jmp 0x14015c75c
mov dword [rsp + 0x1ec], 0
movzx eax, byte [rsp + 0x1ec]
test eax, eax
je 0x14015c76d
jmp 0x14015c381
mov rax, qword [rsp + 0xe80]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xe88], rax
mov rax, qword [rsp + 0xe88]
mov qword [rsp + 0xa70], rax
mov rax, qword [rsp + 0xe88]
mov qword [rsp + 0x17b8], rax
mov rax, qword [rsp + 0x17b8]
mov qword [rsp + 0xe90], rax
mov rax, qword [rsp + 0xe90]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0xe90]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0x17c0], rax
mov eax, dword [rsp + 0x17c0]
add rax, qword [rsp + 0xa70]
mov qword [rsp + 0x17c8], rax
mov rax, qword [rsp + 0x17c8]
mov qword [rsp + 0xa78], rax
mov eax, dword [rsp + 0x1f0]
mov dword [rsp + 0xb64], eax
mov eax, dword [rsp + 0xb64]
mov dword [rsp + 0xb68], eax
lea rdx, [rsp + 0x39e8]
lea rcx, [rsp + 0xa70]
call fcn.1401906d0
lea rcx, [rsp + 0x3380]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x3a10]
lea rcx, [rsp + 0xa70]
call fcn.14018ec60
lea rcx, [rsp + 0x33a8]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x33d0]
lea rcx, [rsp + 0x3380]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3400]
lea rcx, [rsp + 0x33a8]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
mov r9d, dword [rsp + 0xb68]
lea r8, [rsp + 0x33d0]
lea rdx, [rsp + 0x3400]
lea rcx, [rsp + 0x3070]
call fcn.140097110
lea rdx, [rsp + 0x3a38]
lea rcx, [rsp + 0xa70]
call fcn.1401906d0
mov qword [rsp + 0xe98], rax
mov rax, qword [rsp + 0xe98]
mov rax, qword [rax + 8]
cmp qword [rsp + 0x3078], rax
jne 0x14015c922
mov rax, qword [rsp + 0xe98]
mov rax, qword [rax]
cmp qword [rsp + 0x3070], rax
jne 0x14015c922
mov dword [rsp + 0x1f8], 1
jmp 0x14015c92d
mov dword [rsp + 0x1f8], 0
movzx eax, byte [rsp + 0x1f8]
mov byte [rsp + 0x7d], al
movzx eax, byte [rsp + 0x7d]
test eax, eax
je 0x14015c947
jmp 0x14015c381
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
and eax, 1
test eax, eax
jne 0x14015ca0d
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
or eax, 1
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov edi, reloc.WLDAP32.dll_Ordinal_32
mov edi, edi
mov rcx, qword [rdx + rcx*8]
mov dword [rdi + rcx], eax
mov eax, 8
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
add rax, qword [rdx + rcx*8]
mov qword [rsp + 0xea8], rax
mov rax, qword [rsp + 0xea8]
mov qword [rsp + 0xea0], rax
mov rax, qword [rsp + 0xea0]
mov qword [rax], 0
mov rax, qword [rsp + 0xea0]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0xea8]
mov qword [rax + 0x10], 0
lea rax, [rsp + 0x3080]
mov qword [rsp + 0xeb0], rax
mov rax, qword [rsp + 0xeb0]
mov qword [rsp + 0x2fb8], rax
mov rax, qword [rsp + 0xeb0]
add rax, 0x10
mov qword [rsp + 0xbe0], rax
mov rax, qword [rsp + 0xbe0]
mov rax, qword [rax]
mov qword [rsp + 0xed0], rax
mov rax, qword [rsp + 0xa70]
mov qword [rsp + 0x17d0], rax
mov rax, qword [rsp + 0x17d0]
mov qword [rsp + 0xeb8], rax
mov rax, qword [rsp + 0xeb8]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0xeb8]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0xec0], rax
mov eax, dword [rsp + 0xec0]
add rax, qword [rsp + 0xa70]
mov qword [rsp + 0xec8], rax
mov eax, dword [rsp + 0xec4]
mov rcx, qword [rsp + 0xec8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x17d8], rax
mov rax, qword [rsp + 0xec8]
cmp qword [rsp + 0xed0], rax
jb 0x14015cafc
mov rax, qword [rsp + 0x17d8]
cmp qword [rsp + 0xed0], rax
jae 0x14015cafc
mov dword [rsp + 0x1fc], 1
jmp 0x14015cb07
mov dword [rsp + 0x1fc], 0
movzx eax, byte [rsp + 0x1fc]
mov byte [rsp + 0x7e], al
movzx eax, byte [rsp + 0x7e]
test eax, eax
je 0x14015cea3
mov rax, qword [rsp + 0xbe0]
mov rax, qword [rax]
mov qword [rsp + 0x17e0], rax
mov rax, qword [rsp + 0x17e0]
mov qword [rsp + 0xed8], rax
lea rax, [rsp + 0x3210]
mov qword [rsp + 0xbd0], rax
mov rax, qword [rsp + 0xbd0]
mov rcx, qword [rsp + 0xed8]
mov qword [rax], rcx
mov rax, qword [rsp + 0xed8]
mov qword [rsp + 0x17e8], rax
mov qword [rsp + 0x4a8], 0xffffffffffffffff
inc qword [rsp + 0x4a8]
mov rax, qword [rsp + 0x17e8]
mov rcx, qword [rsp + 0x4a8]
cmp byte [rax + rcx], 0
jne 0x14015cb82
mov rax, qword [rsp + 0x4a8]
mov qword [rsp + 0x17f0], rax
mov rax, qword [rsp + 0xbd0]
mov rcx, qword [rsp + 0x17f0]
mov qword [rax + 8], rcx
lea rax, [rsp + 0xc70]
mov rdi, rax
mov rsi, qword [rsp + 0xbd0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov r9b, reloc.WLDAP32.dll_Ordinal_46
xor r8d, r8d
mov rdx, qword [rsp + 0xc78]
mov rcx, qword [rsp + 0xc70]
call fcn.140096220
mov qword [rsp + 0xbd8], rax
cmp qword [rsp + 0xbd8], 0xffffffffffffffff
je 0x14015cc96
mov r9, qword [rsp + 0xbd8]
xor r8d, r8d
lea rdx, [rsp + 0x29e0]
lea rcx, [rsp + 0xc70]
call fcn.14019aaa0
mov rax, qword [rsp + 0xbd8]
inc rax
mov r9, 0xffffffffffffffff
mov r8, rax
lea rdx, [rsp + 0x29f0]
lea rcx, [rsp + 0xc70]
call fcn.14019aaa0
lea rax, [rsp + 0x2788]
lea rcx, [rsp + 0x29e0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2798]
lea rcx, [rsp + 0x29f0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
jmp 0x14015ccf5
lea rax, [rsp + 0xc70]
mov qword [rsp + 0x17f8], rax
mov qword [rsp + 0x2658], 0
mov qword [rsp + 0x2660], 0
lea rax, [rsp + 0x2788]
mov rdi, rax
mov rsi, qword [rsp + 0x17f8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2798]
lea rcx, [rsp + 0x2658]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2788]
mov qword [rsp + 0x1800], rax
lea rax, [rsp + 0x2798]
mov qword [rsp + 0x1810], rax
lea rax, [rsp + 0x24cc]
mov qword [rsp + 0xee0], rax
lea rax, [rsp + 0x200]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x200], 0x1b6e1b1e
lea rax, [rsp + 0x200]
mov qword [rsp + 0x1808], rax
lea rax, [rsp + 0x2a00]
mov rdi, rax
mov rsi, qword [rsp + 0x1800]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2a10]
lea rcx, [rsp + 0x2a00]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2a10]
mov rcx, qword [rsp + 0x1808]
call fcn.1400977d0
mov dword [rsp + 0xb70], eax
mov rax, qword [rsp + 0xee0]
mov ecx, dword [rsp + 0xb70]
mov dword [rax], ecx
mov rax, qword [rsp + 0xee0]
mov eax, dword [rax]
mov dword [rsp + 0xb80], eax
lea rax, [rsp + 0x24d0]
mov qword [rsp + 0xee8], rax
lea rax, [rsp + 0x204]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x204], 0x1b6e1b1e
lea rax, [rsp + 0x204]
mov qword [rsp + 0x1818], rax
lea rax, [rsp + 0x2a20]
mov rdi, rax
mov rsi, qword [rsp + 0x1810]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2a30]
lea rcx, [rsp + 0x2a20]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2a30]
mov rcx, qword [rsp + 0x1818]
call fcn.1400977d0
mov dword [rsp + 0xb78], eax
mov rax, qword [rsp + 0xee8]
mov ecx, dword [rsp + 0xb78]
mov dword [rax], ecx
mov rax, qword [rsp + 0xee8]
mov eax, dword [rax]
mov dword [rsp + 0xb84], eax
mov r8d, dword [rsp + 0xb80]
mov edx, dword [rsp + 0xb84]
lea rcx, [rsp + 0xef0]
call fcn.140191150
mov qword [rsp + 0x4b0], rax
jmp 0x14015cec9
mov rax, qword [rsp + 0xbe0]
mov rax, qword [rax]
mov qword [rsp + 0x4b0], rax
jmp 0x14015cec9
mov qword [rsp + 0x4b0], 0
mov rax, qword [rsp + 0x4b0]
mov qword [rsp + 0xef0], rax
mov rax, qword [rsp + 0xef0]
mov qword [rsp + 0x4b8], rax
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0xb88], eax
mov rax, qword [rsp + 0x4b8]
mov qword [rsp + 0x1830], rax
mov eax, dword [rsp + 0xb88]
mov dword [rsp + 0xb90], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0x1820], rax
mov rax, qword [rsp + 0x1820]
mov qword [rsp + 0xc80], rax
mov byte [rsp + 0xc88], 0
mov rax, qword [rsp + 0xc80]
mov qword [rsp + 0x1828], rax
mov rax, qword [rsp + 0x1828]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rsp + 0xc88], 1
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x1838], rax
lea r9, [rsp + 0x1830]
lea r8, [rsp + 0xb90]
lea rdx, [rsp + 0x3220]
mov rcx, qword [rsp + 0x1838]
call fcn.140098320
nop
movzx eax, byte [rsp + 0xc88]
test eax, eax
je 0x14015cfc9
mov rax, qword [rsp + 0xc80]
mov qword [rsp + 0x1840], rax
mov rax, qword [rsp + 0x1840]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rax, qword [rsp + 0x4b8]
mov qword [rsp + 0xef8], rax
mov byte [rsp + 0xd5], 0
mov byte [rsp + 0xd6], 1
mov eax, dword [rsp + 0xb98]
mov qword [rsp + 0x1858], rax
mov byte [rsp + 0xd7], 0
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0x1848]
mov qword [rsp + 0x1860], rax
mov byte [rsp + 0xd9], 0
mov byte [rsp + 0xda], 1
mov eax, dword [rsp + 0xb9c]
mov qword [rsp + 0x1868], rax
mov byte [rsp + 0xdb], 0
mov byte [rsp + 0xdc], 0
mov rax, qword [rsp + 0x1850]
mov qword [rsp + 0x1870], rax
mov byte [rsp + 0xdd], 1
mov byte [rsp + 0xde], 0
movsxd rax, dword [rsp + 0xba0]
mov qword [rsp + 0x1878], rax
mov byte [rsp + 0xdf], 0
mov byte [rsp + 0xe0], 0
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x1880], rax
cmp qword [rsp + 0xef8], 0
jne 0x14015d0af
mov dword [rsp + 0x208], 0
jmp 0x14015d107
mov rax, qword [rsp + 0xef8]
mov qword [rsp + 0x1888], rax
mov rax, qword [rsp + 0x1858]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x1860]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x1868]
mov r8, qword [rsp + 0x1870]
mov rdx, qword [rsp + 0x1878]
mov rcx, qword [rsp + 0x1880]
call qword [rsp + 0x1888]
mov dword [rsp + 0x208], eax
mov eax, dword [rsp + 0x208]
mov dword [rsp + 0xcc], eax
cmp dword [rsp + 0xcc], 0
je 0x14015e241
mov dword [rsp + 0x5d0], 0xbb6d293d
lea rax, [rsp + 0x24d4]
mov qword [rsp + 0xf00], rax
mov rax, qword [rsp + 0xf00]
mov dword [rax], 0
mov rax, qword [rsp + 0xf00]
mov eax, dword [rax]
mov dword [rsp + 0x5e0], eax
mov eax, dword [rsp + 0x5d0]
mov dword [rsp + 0x120], eax
mov eax, dword [rsp + 0x120]
mov dword [rsp + 0x5d4], eax
mov eax, dword [rsp + 0x5d4]
mov dword [rsp + 0x5d8], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0xf08], rax
mov rax, qword [rsp + 0xf08]
mov qword [rsp + 0x1890], rax
mov rax, qword [rsp + 0x1890]
mov qword [rsp + 0x2520], rax
mov byte [rsp + 0x2528], 1
mov rax, qword [rsp + 0xf08]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockShared
nop
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x1898], rax
lea r8, [rsp + 0x5d8]
lea rdx, [rsp + 0xf20]
mov rcx, qword [rsp + 0x1898]
call fcn.140096f50
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x18a0], rax
mov rax, qword [rsp + 0x18a0]
add rax, 8
mov qword [rsp + 0xf10], rax
mov rax, qword [rsp + 0x2fc0]
mov qword [rsp + 0xf18], rax
mov rax, qword [rsp + 0xf10]
mov qword [rsp + 0xf18], rax
mov rax, qword [rsp + 0xf10]
mov rax, qword [rax]
mov qword [rsp + 0x18a8], rax
mov r8, qword [rsp + 0xf18]
mov rdx, qword [rsp + 0x18a8]
lea rcx, [rsp + 0x18b0]
call fcn.14006f260
lea rax, [rsp + 0x18b0]
mov qword [rsp + 0x18b8], rax
mov rax, qword [rsp + 0x18b8]
mov rax, qword [rax]
cmp qword [rsp + 0xf20], rax
jne 0x14015d2a8
mov dword [rsp + 0x20c], 1
jmp 0x14015d2b3
mov dword [rsp + 0x20c], 0
movzx eax, byte [rsp + 0x20c]
mov byte [rsp + 0x7f], al
movzx eax, byte [rsp + 0x7f]
test eax, eax
je 0x14015d2d6
mov qword [rsp + 0xf28], 0
jmp 0x14015d33e
mov rax, qword [rsp + 0xf20]
add rax, 0x10
mov qword [rsp + 0x18c0], rax
mov rax, qword [rsp + 0x18c0]
mov qword [rsp + 0x18c8], rax
mov rax, qword [rsp + 0x18c8]
mov qword [rsp + 0x18d0], rax
mov rax, qword [rsp + 0x18d0]
mov qword [rsp + 0x18d8], rax
mov rax, qword [rsp + 0x18d8]
mov qword [rsp + 0x18e0], rax
mov rax, qword [rsp + 0x18e0]
mov rax, qword [rax + 8]
mov qword [rsp + 0xf28], rax
mov rax, qword [rsp + 0xf28]
mov qword [rsp + 0x18f0], rax
movzx eax, byte [rsp + 0x2528]
test eax, eax
je 0x14015d37a
mov rax, qword [rsp + 0x2520]
mov qword [rsp + 0x18e8], rax
mov rax, qword [rsp + 0x18e8]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockShared
mov rax, qword [rsp + 0x18f0]
mov qword [rsp + 0x4e0], rax
cmp qword [rsp + 0x4e0], 0
jne 0x14015e195
mov eax, dword [rsp + 0x120]
mov dword [rsp + 0x5e8], eax
mov eax, dword [rsp + 0x5e0]
mov dword [rsp + 0x220], eax
mov eax, dword [rsp + 0x5e8]
mov dword [rsp + 0x248], eax
mov dword [rsp + 0x5f0], 0
mov eax, dword [rsp + 0x5f0]
cmp dword [rsp + 0x248], eax
jne 0x14015d3f2
xor eax, eax
cmp eax, 1
je 0x14015d3f2
mov dword [rsp + 0x210], 1
jmp 0x14015d3fd
mov dword [rsp + 0x210], 0
movzx eax, byte [rsp + 0x210]
mov byte [rsp + 0x80], al
movzx eax, byte [rsp + 0x80]
test eax, eax
je 0x14015d429
mov qword [rsp + 0x4d8], 0
jmp 0x14015e095
mov byte [rsp + 0xe1], 1
mov qword [rsp + 0x14e0], 0
mov qword [rsp + 0x14e8], 0
mov rax, qword gs:[0x60]
mov qword [rsp + 0x18f8], rax
mov rax, qword [rsp + 0x18f8]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1900], rax
mov rax, qword [rsp + 0x1900]
add rax, 0x10
mov qword [rsp + 0xbe8], rax
mov eax, 1
test eax, eax
je 0x14015d4a3
mov rax, qword [rsp + 0xbe8]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0xf30], rax
jmp 0x14015d4b6
mov rax, qword [rsp + 0xbe8]
mov rax, qword [rax]
mov qword [rsp + 0xf30], rax
mov rax, qword [rsp + 0xf30]
mov qword [rsp + 0x14e0], rax
mov rax, qword [rsp + 0xbe8]
mov qword [rsp + 0x14e8], rax
lea rax, [rsp + 0x14e0]
mov qword [rsp + 0xf38], rax
mov rax, qword [rsp + 0xf38]
mov rax, qword [rax]
mov qword [rsp + 0x1908], rax
mov rax, qword [rsp + 0x1908]
mov qword [rsp + 0x4c0], rax
mov rax, qword [rsp + 0xf38]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1910], rax
mov rax, qword [rsp + 0x1910]
mov qword [rsp + 0x1918], rax
jmp 0x14015d542
mov rax, qword [rsp + 0x4c0]
mov rax, qword [rax]
mov qword [rsp + 0x4c0], rax
mov rax, qword [rsp + 0x1918]
cmp qword [rsp + 0x4c0], rax
je 0x14015d561
mov dword [rsp + 0x214], 1
jmp 0x14015d56c
mov dword [rsp + 0x214], 0
movzx eax, byte [rsp + 0x214]
test eax, eax
je 0x14015e089
xor eax, eax
mov qword [rsp + 0x1920], rax
mov rax, qword [rsp + 0x1920]
mov rcx, qword [rsp + 0x4c0]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x1928], rax
lea rax, [rsp + 0x1928]
mov qword [rsp + 0xf48], rax
mov dword [rsp + 0x5f4], 0
mov eax, dword [rsp + 0x5f4]
cmp dword [rsp + 0x220], eax
jne 0x14015d5e3
xor eax, eax
cmp eax, 1
je 0x14015d5e3
mov dword [rsp + 0x218], 1
jmp 0x14015d5ee
mov dword [rsp + 0x218], 0
movzx eax, byte [rsp + 0x218]
mov byte [rsp + 0x81], al
movzx eax, byte [rsp + 0x81]
test eax, eax
jne 0x14015d92d
mov rax, qword [rsp + 0xf48]
mov rax, qword [rax]
add rax, 0x58
mov qword [rsp + 0x1930], rax
mov rax, qword [rsp + 0x1930]
mov rax, qword [rax + 8]
mov qword [rsp + 0xf40], rax
mov rax, qword [rsp + 0xf40]
mov qword [rsp + 0x2668], rax
mov rax, qword [rsp + 0xf40]
mov qword [rsp + 0x1938], rax
mov qword [rsp + 0x4c8], 0xffffffffffffffff
inc qword [rsp + 0x4c8]
mov rax, qword [rsp + 0x1938]
mov rcx, qword [rsp + 0x4c8]
cmp word [rax + rcx*2], 0
jne 0x14015d664
mov rax, qword [rsp + 0x4c8]
mov qword [rsp + 0x1940], rax
mov rax, qword [rsp + 0x1940]
mov qword [rsp + 0x2670], rax
lea rax, [rsp + 0x2668]
mov qword [rsp + 0x1948], rax
lea rax, [rsp + 0x2a40]
mov rdi, rax
mov rsi, qword [rsp + 0x1948]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x220]
mov dword [rsp + 0x5f8], eax
lea rax, [rsp + 0x2530]
lea rcx, [rsp + 0x2a40]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x5f8]
mov dword [rsp + 0x238], eax
lea rax, [rsp + 0x228]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x228], 0x1b6e1b1e
lea rax, [rsp + 0x228]
mov qword [rsp + 0x1950], rax
lea rax, [rsp + 0x2a50]
lea rcx, [rsp + 0x2530]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2a60]
lea rcx, [rsp + 0x2a50]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2a60]
mov rcx, qword [rsp + 0x1950]
call fcn.140097890
mov dword [rsp + 0x5fc], eax
mov rax, qword [rsp + 0x2538]
mov qword [rsp + 0x1958], rax
mov rax, qword [rsp + 0x1958]
sub rax, 4
mov qword [rsp + 0x1960], rax
mov r9, qword [rsp + 0x1960]
xor r8d, r8d
lea rdx, [rsp + 0x2a70]
lea rcx, [rsp + 0x2530]
call fcn.14019ab70
lea rax, [rsp + 0x22c]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x22c], 0x1b6e1b1e
lea rax, [rsp + 0x22c]
mov qword [rsp + 0x1968], rax
lea rax, [rsp + 0x2a80]
lea rcx, [rsp + 0x2a70]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2a90]
lea rcx, [rsp + 0x2a80]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2a90]
mov rcx, qword [rsp + 0x1968]
call fcn.140097890
mov dword [rsp + 0x604], eax
mov eax, dword [rsp + 0x5fc]
mov dword [rsp + 0x600], eax
mov eax, dword [rsp + 0x600]
cmp dword [rsp + 0x238], eax
jne 0x14015d886
xor eax, eax
cmp eax, 1
je 0x14015d886
mov dword [rsp + 0x230], 1
jmp 0x14015d891
mov dword [rsp + 0x230], 0
movzx eax, byte [rsp + 0x230]
mov byte [rsp + 0x82], al
movzx eax, byte [rsp + 0x82]
test eax, eax
jne 0x14015d911
mov eax, dword [rsp + 0x604]
mov dword [rsp + 0x608], eax
mov eax, dword [rsp + 0x608]
cmp dword [rsp + 0x238], eax
jne 0x14015d8de
xor eax, eax
cmp eax, 1
je 0x14015d8de
mov dword [rsp + 0x240], 1
jmp 0x14015d8e9
mov dword [rsp + 0x240], 0
movzx eax, byte [rsp + 0x240]
mov byte [rsp + 0x83], al
movzx eax, byte [rsp + 0x83]
test eax, eax
jne 0x14015d911
mov dword [rsp + 0x244], 1
jmp 0x14015d91c
mov dword [rsp + 0x244], 0
movzx eax, byte [rsp + 0x244]
test eax, eax
je 0x14015d92d
jmp 0x14015d52f
mov rax, qword [rsp + 0xf48]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xf50], rax
mov rax, qword [rsp + 0xf50]
mov qword [rsp + 0xa60], rax
mov rax, qword [rsp + 0xf50]
mov qword [rsp + 0x1970], rax
mov rax, qword [rsp + 0x1970]
mov qword [rsp + 0xf58], rax
mov rax, qword [rsp + 0xf58]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0xf58]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0x1978], rax
mov eax, dword [rsp + 0x1978]
add rax, qword [rsp + 0xa60]
mov qword [rsp + 0x1980], rax
mov rax, qword [rsp + 0x1980]
mov qword [rsp + 0xa68], rax
mov eax, dword [rsp + 0x248]
mov dword [rsp + 0x60c], eax
mov eax, dword [rsp + 0x60c]
mov dword [rsp + 0x610], eax
lea rdx, [rsp + 0x3bf0]
lea rcx, [rsp + 0xa60]
call fcn.1401906d0
lea rcx, [rsp + 0x3430]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x3a60]
lea rcx, [rsp + 0xa60]
call fcn.14018ec60
lea rcx, [rsp + 0x3458]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3480]
lea rcx, [rsp + 0x3430]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x34b0]
lea rcx, [rsp + 0x3458]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
mov r9d, dword [rsp + 0x610]
lea r8, [rsp + 0x3480]
lea rdx, [rsp + 0x34b0]
lea rcx, [rsp + 0x3098]
call fcn.140097110
lea rdx, [rsp + 0x3a88]
lea rcx, [rsp + 0xa60]
call fcn.1401906d0
mov qword [rsp + 0xf60], rax
mov rax, qword [rsp + 0xf60]
mov rax, qword [rax + 8]
cmp qword [rsp + 0x30a0], rax
jne 0x14015dae2
mov rax, qword [rsp + 0xf60]
mov rax, qword [rax]
cmp qword [rsp + 0x3098], rax
jne 0x14015dae2
mov dword [rsp + 0x250], 1
jmp 0x14015daed
mov dword [rsp + 0x250], 0
movzx eax, byte [rsp + 0x250]
mov byte [rsp + 0x84], al
movzx eax, byte [rsp + 0x84]
test eax, eax
je 0x14015db0d
jmp 0x14015d52f
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
and eax, 1
test eax, eax
jne 0x14015dbd3
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
or eax, 1
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov edi, reloc.WLDAP32.dll_Ordinal_32
mov edi, edi
mov rcx, qword [rdx + rcx*8]
mov dword [rdi + rcx], eax
mov eax, 8
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
add rax, qword [rdx + rcx*8]
mov qword [rsp + 0xf70], rax
mov rax, qword [rsp + 0xf70]
mov qword [rsp + 0xf68], rax
mov rax, qword [rsp + 0xf68]
mov qword [rax], 0
mov rax, qword [rsp + 0xf68]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0xf70]
mov qword [rax + 0x10], 0
lea rax, [rsp + 0x30a8]
mov qword [rsp + 0xf78], rax
mov rax, qword [rsp + 0xf78]
mov qword [rsp + 0x2fc8], rax
mov rax, qword [rsp + 0xf78]
add rax, 0x10
mov qword [rsp + 0xc00], rax
mov rax, qword [rsp + 0xc00]
mov rax, qword [rax]
mov qword [rsp + 0xf98], rax
mov rax, qword [rsp + 0xa60]
mov qword [rsp + 0x1988], rax
mov rax, qword [rsp + 0x1988]
mov qword [rsp + 0xf80], rax
mov rax, qword [rsp + 0xf80]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0xf80]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0xf88], rax
mov eax, dword [rsp + 0xf88]
add rax, qword [rsp + 0xa60]
mov qword [rsp + 0xf90], rax
mov eax, dword [rsp + 0xf8c]
mov rcx, qword [rsp + 0xf90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1990], rax
mov rax, qword [rsp + 0xf90]
cmp qword [rsp + 0xf98], rax
jb 0x14015dcc2
mov rax, qword [rsp + 0x1990]
cmp qword [rsp + 0xf98], rax
jae 0x14015dcc2
mov dword [rsp + 0x254], 1
jmp 0x14015dccd
mov dword [rsp + 0x254], 0
movzx eax, byte [rsp + 0x254]
mov byte [rsp + 0x85], al
movzx eax, byte [rsp + 0x85]
test eax, eax
je 0x14015e06f
mov rax, qword [rsp + 0xc00]
mov rax, qword [rax]
mov qword [rsp + 0x1998], rax
mov rax, qword [rsp + 0x1998]
mov qword [rsp + 0xfa0], rax
lea rax, [rsp + 0x3230]
mov qword [rsp + 0xbf0], rax
mov rax, qword [rsp + 0xbf0]
mov rcx, qword [rsp + 0xfa0]
mov qword [rax], rcx
mov rax, qword [rsp + 0xfa0]
mov qword [rsp + 0x19a0], rax
mov qword [rsp + 0x4d0], 0xffffffffffffffff
inc qword [rsp + 0x4d0]
mov rax, qword [rsp + 0x19a0]
mov rcx, qword [rsp + 0x4d0]
cmp byte [rax + rcx], 0
jne 0x14015dd4e
mov rax, qword [rsp + 0x4d0]
mov qword [rsp + 0x19a8], rax
mov rax, qword [rsp + 0xbf0]
mov rcx, qword [rsp + 0x19a8]
mov qword [rax + 8], rcx
lea rax, [rsp + 0xc90]
mov rdi, rax
mov rsi, qword [rsp + 0xbf0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov r9b, reloc.WLDAP32.dll_Ordinal_46
xor r8d, r8d
mov rdx, qword [rsp + 0xc98]
mov rcx, qword [rsp + 0xc90]
call fcn.140096220
mov qword [rsp + 0xbf8], rax
cmp qword [rsp + 0xbf8], 0xffffffffffffffff
je 0x14015de62
mov r9, qword [rsp + 0xbf8]
xor r8d, r8d
lea rdx, [rsp + 0x2aa0]
lea rcx, [rsp + 0xc90]
call fcn.14019aaa0
mov rax, qword [rsp + 0xbf8]
inc rax
mov r9, 0xffffffffffffffff
mov r8, rax
lea rdx, [rsp + 0x2ab0]
lea rcx, [rsp + 0xc90]
call fcn.14019aaa0
lea rax, [rsp + 0x27a8]
lea rcx, [rsp + 0x2aa0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x27b8]
lea rcx, [rsp + 0x2ab0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
jmp 0x14015dec1
lea rax, [rsp + 0xc90]
mov qword [rsp + 0x19b0], rax
mov qword [rsp + 0x2678], 0
mov qword [rsp + 0x2680], 0
lea rax, [rsp + 0x27a8]
mov rdi, rax
mov rsi, qword [rsp + 0x19b0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x27b8]
lea rcx, [rsp + 0x2678]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x27a8]
mov qword [rsp + 0x19b8], rax
lea rax, [rsp + 0x27b8]
mov qword [rsp + 0x19c8], rax
lea rax, [rsp + 0x24d8]
mov qword [rsp + 0xfa8], rax
lea rax, [rsp + 0x258]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x258], 0x1b6e1b1e
lea rax, [rsp + 0x258]
mov qword [rsp + 0x19c0], rax
lea rax, [rsp + 0x2ac0]
mov rdi, rax
mov rsi, qword [rsp + 0x19b8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2ad0]
lea rcx, [rsp + 0x2ac0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2ad0]
mov rcx, qword [rsp + 0x19c0]
call fcn.1400977d0
mov dword [rsp + 0x618], eax
mov rax, qword [rsp + 0xfa8]
mov ecx, dword [rsp + 0x618]
mov dword [rax], ecx
mov rax, qword [rsp + 0xfa8]
mov eax, dword [rax]
mov dword [rsp + 0x628], eax
lea rax, [rsp + 0x2614]
mov qword [rsp + 0xfb0], rax
lea rax, [rsp + 0x25c]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x25c], 0x1b6e1b1e
lea rax, [rsp + 0x25c]
mov qword [rsp + 0x19d0], rax
lea rax, [rsp + 0x2ae0]
mov rdi, rax
mov rsi, qword [rsp + 0x19c8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2af0]
lea rcx, [rsp + 0x2ae0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2af0]
mov rcx, qword [rsp + 0x19d0]
call fcn.1400977d0
mov dword [rsp + 0x620], eax
mov rax, qword [rsp + 0xfb0]
mov ecx, dword [rsp + 0x620]
mov dword [rax], ecx
mov rax, qword [rsp + 0xfb0]
mov eax, dword [rax]
mov dword [rsp + 0x62c], eax
mov r8d, dword [rsp + 0x628]
mov edx, dword [rsp + 0x62c]
lea rcx, [rsp + 0xfb8]
call fcn.140191150
mov qword [rsp + 0x4d8], rax
jmp 0x14015e095
mov rax, qword [rsp + 0xc00]
mov rax, qword [rax]
mov qword [rsp + 0x4d8], rax
jmp 0x14015e095
mov qword [rsp + 0x4d8], 0
mov rax, qword [rsp + 0x4d8]
mov qword [rsp + 0xfb8], rax
mov rax, qword [rsp + 0xfb8]
mov qword [rsp + 0x4e0], rax
mov eax, dword [rsp + 0x120]
mov dword [rsp + 0x630], eax
mov rax, qword [rsp + 0x4e0]
mov qword [rsp + 0x19e8], rax
mov eax, dword [rsp + 0x630]
mov dword [rsp + 0x638], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0x19d8], rax
mov rax, qword [rsp + 0x19d8]
mov qword [rsp + 0xca0], rax
mov byte [rsp + 0xca8], 0
mov rax, qword [rsp + 0xca0]
mov qword [rsp + 0x19e0], rax
mov rax, qword [rsp + 0x19e0]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rsp + 0xca8], 1
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x19f0], rax
lea r9, [rsp + 0x19e8]
lea r8, [rsp + 0x638]
lea rdx, [rsp + 0x3240]
mov rcx, qword [rsp + 0x19f0]
call fcn.140098320
nop
movzx eax, byte [rsp + 0xca8]
test eax, eax
je 0x14015e195
mov rax, qword [rsp + 0xca0]
mov qword [rsp + 0x19f8], rax
mov rax, qword [rsp + 0x19f8]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rax, qword [rsp + 0x4e0]
mov qword [rsp + 0xfc0], rax
mov byte [rsp + 0xe2], 0
mov byte [rsp + 0xe3], 0
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x1a00], rax
cmp qword [rsp + 0xfc0], 0
jne 0x14015e1dd
mov dword [rsp + 0x640], 0
jmp 0x14015e203
mov rax, qword [rsp + 0xfc0]
mov qword [rsp + 0x1a08], rax
mov rcx, qword [rsp + 0x1a00]
call qword [rsp + 0x1a08]
mov dword [rsp + 0x640], eax
mov byte [rsp + 0x86], 0
lea rcx, [rsp + 0x1550]
call fcn.14018ddf0
nop
lea rcx, [rsp + 0x2620]
call fcn.14018ddf0
nop
lea rcx, [rsp + 0x1570]
call fcn.14018ddf0
movzx eax, byte [rsp + 0x86]
jmp 0x1401650eb
mov qword [rsp + 0x1b80], 4
lea rax, reloc.WS2_32.dll_accept
mov qword [rsp + 0x1b88], rax
mov dword [rsp + 0x6b8], 4
lea rax, [rsp + 0xa90]
lea rcx, str.fJDP6
mov rdi, rax
mov rsi, rcx
mov ecx, 0xa
rep movsb byte [rdi], byte [rsi]
mov eax, 2
imul rax, rax, 4
movzx eax, word [rsp + rax + 0xa90]
test eax, eax
je 0x14015e2a5
mov dword [rsp + 0x260], 1
jmp 0x14015e2b0
mov dword [rsp + 0x260], 0
movzx eax, byte [rsp + 0x260]
test eax, eax
je 0x14015e32b
mov dword [rsp + 0xc4], 0
jmp 0x14015e2d9
mov eax, dword [rsp + 0xc4]
inc eax
mov dword [rsp + 0xc4], eax
cmp dword [rsp + 0xc4], 5
jge 0x14015e32b
movsxd rax, dword [rsp + 0xc4]
movzx eax, word [rsp + rax*2 + 0xa90]
mov dword [rsp + 0x644], eax
mov eax, dword [rsp + 0xc4]
cdq
mov ecx, Ordinal_50
idiv ecx
mov eax, edx
add eax, 0x32
mov ecx, dword [rsp + 0x644]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xc4]
mov word [rsp + rcx*2 + 0xa90], ax
jmp 0x14015e2c9
lea rax, [rsp + 0xa90]
mov qword [rsp + 0x1b90], rax
mov dword [rsp + 0x6bc], 0
mov dword [rsp + 0x648], 0x17d27a4d
lea rax, [rsp + 0x2618]
mov qword [rsp + 0xfc8], rax
mov rax, qword [rsp + 0xfc8]
mov dword [rax], 0
mov rax, qword [rsp + 0xfc8]
mov eax, dword [rax]
mov dword [rsp + 0x658], eax
mov eax, dword [rsp + 0x648]
mov dword [rsp + 0x128], eax
mov eax, dword [rsp + 0x128]
mov dword [rsp + 0x64c], eax
mov eax, dword [rsp + 0x64c]
mov dword [rsp + 0x650], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0xfd0], rax
mov rax, qword [rsp + 0xfd0]
mov qword [rsp + 0x1a10], rax
mov rax, qword [rsp + 0x1a10]
mov qword [rsp + 0x2540], rax
mov byte [rsp + 0x2548], 1
mov rax, qword [rsp + 0xfd0]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockShared
nop
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x1a18], rax
lea r8, [rsp + 0x650]
lea rdx, [rsp + 0xfe8]
mov rcx, qword [rsp + 0x1a18]
call fcn.140096f50
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x1a20], rax
mov rax, qword [rsp + 0x1a20]
add rax, 8
mov qword [rsp + 0xfd8], rax
mov rax, qword [rsp + 0x2fd0]
mov qword [rsp + 0xfe0], rax
mov rax, qword [rsp + 0xfd8]
mov qword [rsp + 0xfe0], rax
mov rax, qword [rsp + 0xfd8]
mov rax, qword [rax]
mov qword [rsp + 0x1a28], rax
mov r8, qword [rsp + 0xfe0]
mov rdx, qword [rsp + 0x1a28]
lea rcx, [rsp + 0x1a30]
call fcn.14006f260
lea rax, [rsp + 0x1a30]
mov qword [rsp + 0x1a38], rax
mov rax, qword [rsp + 0x1a38]
mov rax, qword [rax]
cmp qword [rsp + 0xfe8], rax
jne 0x14015e4cb
mov dword [rsp + 0x264], 1
jmp 0x14015e4d6
mov dword [rsp + 0x264], 0
movzx eax, byte [rsp + 0x264]
mov byte [rsp + 0x87], al
movzx eax, byte [rsp + 0x87]
test eax, eax
je 0x14015e4ff
mov qword [rsp + 0xff0], 0
jmp 0x14015e567
mov rax, qword [rsp + 0xfe8]
add rax, 0x10
mov qword [rsp + 0x1a40], rax
mov rax, qword [rsp + 0x1a40]
mov qword [rsp + 0x1a48], rax
mov rax, qword [rsp + 0x1a48]
mov qword [rsp + 0x1a50], rax
mov rax, qword [rsp + 0x1a50]
mov qword [rsp + 0x1a58], rax
mov rax, qword [rsp + 0x1a58]
mov qword [rsp + 0x1a60], rax
mov rax, qword [rsp + 0x1a60]
mov rax, qword [rax + 8]
mov qword [rsp + 0xff0], rax
mov rax, qword [rsp + 0xff0]
mov qword [rsp + 0x1a70], rax
movzx eax, byte [rsp + 0x2548]
test eax, eax
je 0x14015e5a3
mov rax, qword [rsp + 0x2540]
mov qword [rsp + 0x1a68], rax
mov rax, qword [rsp + 0x1a68]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockShared
mov rax, qword [rsp + 0x1a70]
mov qword [rsp + 0x508], rax
cmp qword [rsp + 0x508], 0
jne 0x14015f3be
mov eax, dword [rsp + 0x128]
mov dword [rsp + 0x660], eax
mov eax, dword [rsp + 0x658]
mov dword [rsp + 0x278], eax
mov eax, dword [rsp + 0x660]
mov dword [rsp + 0x2a0], eax
mov dword [rsp + 0x668], 0
mov eax, dword [rsp + 0x668]
cmp dword [rsp + 0x2a0], eax
jne 0x14015e61b
xor eax, eax
cmp eax, 1
je 0x14015e61b
mov dword [rsp + 0x268], 1
jmp 0x14015e626
mov dword [rsp + 0x268], 0
movzx eax, byte [rsp + 0x268]
mov byte [rsp + 0x88], al
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x14015e652
mov qword [rsp + 0x500], 0
jmp 0x14015f2be
mov byte [rsp + 0xe4], 1
mov qword [rsp + 0x14f0], 0
mov qword [rsp + 0x14f8], 0
mov rax, qword gs:[0x60]
mov qword [rsp + 0x1a78], rax
mov rax, qword [rsp + 0x1a78]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1a80], rax
mov rax, qword [rsp + 0x1a80]
add rax, 0x10
mov qword [rsp + 0xc08], rax
mov eax, 1
test eax, eax
je 0x14015e6cc
mov rax, qword [rsp + 0xc08]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0xff8], rax
jmp 0x14015e6df
mov rax, qword [rsp + 0xc08]
mov rax, qword [rax]
mov qword [rsp + 0xff8], rax
mov rax, qword [rsp + 0xff8]
mov qword [rsp + 0x14f0], rax
mov rax, qword [rsp + 0xc08]
mov qword [rsp + 0x14f8], rax
lea rax, [rsp + 0x14f0]
mov qword [rsp + 0x1000], rax
mov rax, qword [rsp + 0x1000]
mov rax, qword [rax]
mov qword [rsp + 0x1a88], rax
mov rax, qword [rsp + 0x1a88]
mov qword [rsp + 0x4e8], rax
mov rax, qword [rsp + 0x1000]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1a90], rax
mov rax, qword [rsp + 0x1a90]
mov qword [rsp + 0x1a98], rax
jmp 0x14015e76b
mov rax, qword [rsp + 0x4e8]
mov rax, qword [rax]
mov qword [rsp + 0x4e8], rax
mov rax, qword [rsp + 0x1a98]
cmp qword [rsp + 0x4e8], rax
je 0x14015e78a
mov dword [rsp + 0x26c], 1
jmp 0x14015e795
mov dword [rsp + 0x26c], 0
movzx eax, byte [rsp + 0x26c]
test eax, eax
je 0x14015f2b2
xor eax, eax
mov qword [rsp + 0x1aa0], rax
mov rax, qword [rsp + 0x1aa0]
mov rcx, qword [rsp + 0x4e8]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x1aa8], rax
lea rax, [rsp + 0x1aa8]
mov qword [rsp + 0x1010], rax
mov dword [rsp + 0x66c], 0
mov eax, dword [rsp + 0x66c]
cmp dword [rsp + 0x278], eax
jne 0x14015e80c
xor eax, eax
cmp eax, 1
je 0x14015e80c
mov dword [rsp + 0x270], 1
jmp 0x14015e817
mov dword [rsp + 0x270], 0
movzx eax, byte [rsp + 0x270]
mov byte [rsp + 0x89], al
movzx eax, byte [rsp + 0x89]
test eax, eax
jne 0x14015eb56
mov rax, qword [rsp + 0x1010]
mov rax, qword [rax]
add rax, 0x58
mov qword [rsp + 0x1ab0], rax
mov rax, qword [rsp + 0x1ab0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1008], rax
mov rax, qword [rsp + 0x1008]
mov qword [rsp + 0x2688], rax
mov rax, qword [rsp + 0x1008]
mov qword [rsp + 0x1ab8], rax
mov qword [rsp + 0x4f0], 0xffffffffffffffff
inc qword [rsp + 0x4f0]
mov rax, qword [rsp + 0x1ab8]
mov rcx, qword [rsp + 0x4f0]
cmp word [rax + rcx*2], 0
jne 0x14015e88d
mov rax, qword [rsp + 0x4f0]
mov qword [rsp + 0x1ac0], rax
mov rax, qword [rsp + 0x1ac0]
mov qword [rsp + 0x2690], rax
lea rax, [rsp + 0x2688]
mov qword [rsp + 0x1ac8], rax
lea rax, [rsp + 0x2b00]
mov rdi, rax
mov rsi, qword [rsp + 0x1ac8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x278]
mov dword [rsp + 0x670], eax
lea rax, [rsp + 0x2550]
lea rcx, [rsp + 0x2b00]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x670]
mov dword [rsp + 0x290], eax
lea rax, [rsp + 0x280]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x280], 0x1b6e1b1e
lea rax, [rsp + 0x280]
mov qword [rsp + 0x1ad0], rax
lea rax, [rsp + 0x2b10]
lea rcx, [rsp + 0x2550]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2b20]
lea rcx, [rsp + 0x2b10]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2b20]
mov rcx, qword [rsp + 0x1ad0]
call fcn.140097890
mov dword [rsp + 0x674], eax
mov rax, qword [rsp + 0x2558]
mov qword [rsp + 0x1ad8], rax
mov rax, qword [rsp + 0x1ad8]
sub rax, 4
mov qword [rsp + 0x1ae0], rax
mov r9, qword [rsp + 0x1ae0]
xor r8d, r8d
lea rdx, [rsp + 0x2b30]
lea rcx, [rsp + 0x2550]
call fcn.14019ab70
lea rax, [rsp + 0x284]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x284], 0x1b6e1b1e
lea rax, [rsp + 0x284]
mov qword [rsp + 0x1ae8], rax
lea rax, [rsp + 0x2b40]
lea rcx, [rsp + 0x2b30]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2b50]
lea rcx, [rsp + 0x2b40]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2b50]
mov rcx, qword [rsp + 0x1ae8]
call fcn.140097890
mov dword [rsp + 0x67c], eax
mov eax, dword [rsp + 0x674]
mov dword [rsp + 0x678], eax
mov eax, dword [rsp + 0x678]
cmp dword [rsp + 0x290], eax
jne 0x14015eaaf
xor eax, eax
cmp eax, 1
je 0x14015eaaf
mov dword [rsp + 0x288], 1
jmp 0x14015eaba
mov dword [rsp + 0x288], 0
movzx eax, byte [rsp + 0x288]
mov byte [rsp + 0x8a], al
movzx eax, byte [rsp + 0x8a]
test eax, eax
jne 0x14015eb3a
mov eax, dword [rsp + 0x67c]
mov dword [rsp + 0x680], eax
mov eax, dword [rsp + 0x680]
cmp dword [rsp + 0x290], eax
jne 0x14015eb07
xor eax, eax
cmp eax, 1
je 0x14015eb07
mov dword [rsp + 0x298], 1
jmp 0x14015eb12
mov dword [rsp + 0x298], 0
movzx eax, byte [rsp + 0x298]
mov byte [rsp + 0x8b], al
movzx eax, byte [rsp + 0x8b]
test eax, eax
jne 0x14015eb3a
mov dword [rsp + 0x29c], 1
jmp 0x14015eb45
mov dword [rsp + 0x29c], 0
movzx eax, byte [rsp + 0x29c]
test eax, eax
je 0x14015eb56
jmp 0x14015e758
mov rax, qword [rsp + 0x1010]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x1018], rax
mov rax, qword [rsp + 0x1018]
mov qword [rsp + 0xa50], rax
mov rax, qword [rsp + 0x1018]
mov qword [rsp + 0x1af0], rax
mov rax, qword [rsp + 0x1af0]
mov qword [rsp + 0x1020], rax
mov rax, qword [rsp + 0x1020]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x1020]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0x1af8], rax
mov eax, dword [rsp + 0x1af8]
add rax, qword [rsp + 0xa50]
mov qword [rsp + 0x1b00], rax
mov rax, qword [rsp + 0x1b00]
mov qword [rsp + 0xa58], rax
mov eax, dword [rsp + 0x2a0]
mov dword [rsp + 0x684], eax
mov eax, dword [rsp + 0x684]
mov dword [rsp + 0x688], eax
lea rdx, [rsp + 0x3ab0]
lea rcx, [rsp + 0xa50]
call fcn.1401906d0
lea rcx, [rsp + 0x34e0]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x3ad8]
lea rcx, [rsp + 0xa50]
call fcn.14018ec60
lea rcx, [rsp + 0x3508]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3530]
lea rcx, [rsp + 0x34e0]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3560]
lea rcx, [rsp + 0x3508]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
mov r9d, dword [rsp + 0x688]
lea r8, [rsp + 0x3530]
lea rdx, [rsp + 0x3560]
lea rcx, [rsp + 0x30c0]
call fcn.140097110
lea rdx, [rsp + 0x3b00]
lea rcx, [rsp + 0xa50]
call fcn.1401906d0
mov qword [rsp + 0x1028], rax
mov rax, qword [rsp + 0x1028]
mov rax, qword [rax + 8]
cmp qword [rsp + 0x30c8], rax
jne 0x14015ed0b
mov rax, qword [rsp + 0x1028]
mov rax, qword [rax]
cmp qword [rsp + 0x30c0], rax
jne 0x14015ed0b
mov dword [rsp + 0x2a8], 1
jmp 0x14015ed16
mov dword [rsp + 0x2a8], 0
movzx eax, byte [rsp + 0x2a8]
mov byte [rsp + 0x8c], al
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x14015ed36
jmp 0x14015e758
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
and eax, 1
test eax, eax
jne 0x14015edfc
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
or eax, 1
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov edi, reloc.WLDAP32.dll_Ordinal_32
mov edi, edi
mov rcx, qword [rdx + rcx*8]
mov dword [rdi + rcx], eax
mov eax, 8
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
add rax, qword [rdx + rcx*8]
mov qword [rsp + 0x1038], rax
mov rax, qword [rsp + 0x1038]
mov qword [rsp + 0x1030], rax
mov rax, qword [rsp + 0x1030]
mov qword [rax], 0
mov rax, qword [rsp + 0x1030]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0x1038]
mov qword [rax + 0x10], 0
lea rax, [rsp + 0x30d0]
mov qword [rsp + 0x1040], rax
mov rax, qword [rsp + 0x1040]
mov qword [rsp + 0x2fd8], rax
mov rax, qword [rsp + 0x1040]
add rax, 0x10
mov qword [rsp + 0xc20], rax
mov rax, qword [rsp + 0xc20]
mov rax, qword [rax]
mov qword [rsp + 0x1060], rax
mov rax, qword [rsp + 0xa50]
mov qword [rsp + 0x1b08], rax
mov rax, qword [rsp + 0x1b08]
mov qword [rsp + 0x1048], rax
mov rax, qword [rsp + 0x1048]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x1048]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0x1050], rax
mov eax, dword [rsp + 0x1050]
add rax, qword [rsp + 0xa50]
mov qword [rsp + 0x1058], rax
mov eax, dword [rsp + 0x1054]
mov rcx, qword [rsp + 0x1058]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1b10], rax
mov rax, qword [rsp + 0x1058]
cmp qword [rsp + 0x1060], rax
jb 0x14015eeeb
mov rax, qword [rsp + 0x1b10]
cmp qword [rsp + 0x1060], rax
jae 0x14015eeeb
mov dword [rsp + 0x2ac], 1
jmp 0x14015eef6
mov dword [rsp + 0x2ac], 0
movzx eax, byte [rsp + 0x2ac]
mov byte [rsp + 0x8d], al
movzx eax, byte [rsp + 0x8d]
test eax, eax
je 0x14015f298
mov rax, qword [rsp + 0xc20]
mov rax, qword [rax]
mov qword [rsp + 0x1b18], rax
mov rax, qword [rsp + 0x1b18]
mov qword [rsp + 0x1068], rax
lea rax, [rsp + 0x3250]
mov qword [rsp + 0xc10], rax
mov rax, qword [rsp + 0xc10]
mov rcx, qword [rsp + 0x1068]
mov qword [rax], rcx
mov rax, qword [rsp + 0x1068]
mov qword [rsp + 0x1b20], rax
mov qword [rsp + 0x4f8], 0xffffffffffffffff
inc qword [rsp + 0x4f8]
mov rax, qword [rsp + 0x1b20]
mov rcx, qword [rsp + 0x4f8]
cmp byte [rax + rcx], 0
jne 0x14015ef77
mov rax, qword [rsp + 0x4f8]
mov qword [rsp + 0x1b28], rax
mov rax, qword [rsp + 0xc10]
mov rcx, qword [rsp + 0x1b28]
mov qword [rax + 8], rcx
lea rax, [rsp + 0xcb0]
mov rdi, rax
mov rsi, qword [rsp + 0xc10]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov r9b, reloc.WLDAP32.dll_Ordinal_46
xor r8d, r8d
mov rdx, qword [rsp + 0xcb8]
mov rcx, qword [rsp + 0xcb0]
call fcn.140096220
mov qword [rsp + 0xc18], rax
cmp qword [rsp + 0xc18], 0xffffffffffffffff
je 0x14015f08b
mov r9, qword [rsp + 0xc18]
xor r8d, r8d
lea rdx, [rsp + 0x2b60]
lea rcx, [rsp + 0xcb0]
call fcn.14019aaa0
mov rax, qword [rsp + 0xc18]
inc rax
mov r9, 0xffffffffffffffff
mov r8, rax
lea rdx, [rsp + 0x2b70]
lea rcx, [rsp + 0xcb0]
call fcn.14019aaa0
lea rax, [rsp + 0x27c8]
lea rcx, [rsp + 0x2b60]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x27d8]
lea rcx, [rsp + 0x2b70]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
jmp 0x14015f0ea
lea rax, [rsp + 0xcb0]
mov qword [rsp + 0x1b30], rax
mov qword [rsp + 0x2698], 0
mov qword [rsp + 0x26a0], 0
lea rax, [rsp + 0x27c8]
mov rdi, rax
mov rsi, qword [rsp + 0x1b30]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x27d8]
lea rcx, [rsp + 0x2698]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x27c8]
mov qword [rsp + 0x1b38], rax
lea rax, [rsp + 0x27d8]
mov qword [rsp + 0x1b48], rax
lea rax, [rsp + 0x2640]
mov qword [rsp + 0x1070], rax
lea rax, [rsp + 0x2b0]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x2b0], 0x1b6e1b1e
lea rax, [rsp + 0x2b0]
mov qword [rsp + 0x1b40], rax
lea rax, [rsp + 0x2b80]
mov rdi, rax
mov rsi, qword [rsp + 0x1b38]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2b90]
lea rcx, [rsp + 0x2b80]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2b90]
mov rcx, qword [rsp + 0x1b40]
call fcn.1400977d0
mov dword [rsp + 0x690], eax
mov rax, qword [rsp + 0x1070]
mov ecx, dword [rsp + 0x690]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1070]
mov eax, dword [rax]
mov dword [rsp + 0x6a0], eax
lea rax, [rsp + 0x1590]
mov qword [rsp + 0x1078], rax
lea rax, [rsp + 0x2b4]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x2b4], 0x1b6e1b1e
lea rax, [rsp + 0x2b4]
mov qword [rsp + 0x1b50], rax
lea rax, [rsp + 0x2ba0]
mov rdi, rax
mov rsi, qword [rsp + 0x1b48]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2bb0]
lea rcx, [rsp + 0x2ba0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2bb0]
mov rcx, qword [rsp + 0x1b50]
call fcn.1400977d0
mov dword [rsp + 0x698], eax
mov rax, qword [rsp + 0x1078]
mov ecx, dword [rsp + 0x698]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1078]
mov eax, dword [rax]
mov dword [rsp + 0x6a4], eax
mov r8d, dword [rsp + 0x6a0]
mov edx, dword [rsp + 0x6a4]
lea rcx, [rsp + 0x1080]
call fcn.140191150
mov qword [rsp + 0x500], rax
jmp 0x14015f2be
mov rax, qword [rsp + 0xc20]
mov rax, qword [rax]
mov qword [rsp + 0x500], rax
jmp 0x14015f2be
mov qword [rsp + 0x500], 0
mov rax, qword [rsp + 0x500]
mov qword [rsp + 0x1080], rax
mov rax, qword [rsp + 0x1080]
mov qword [rsp + 0x508], rax
mov eax, dword [rsp + 0x128]
mov dword [rsp + 0x6a8], eax
mov rax, qword [rsp + 0x508]
mov qword [rsp + 0x1b68], rax
mov eax, dword [rsp + 0x6a8]
mov dword [rsp + 0x6b0], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0x1b58], rax
mov rax, qword [rsp + 0x1b58]
mov qword [rsp + 0xcc0], rax
mov byte [rsp + 0xcc8], 0
mov rax, qword [rsp + 0xcc0]
mov qword [rsp + 0x1b60], rax
mov rax, qword [rsp + 0x1b60]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rsp + 0xcc8], 1
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x1b70], rax
lea r9, [rsp + 0x1b68]
lea r8, [rsp + 0x6b0]
lea rdx, [rsp + 0x3260]
mov rcx, qword [rsp + 0x1b70]
call fcn.140098320
nop
movzx eax, byte [rsp + 0xcc8]
test eax, eax
je 0x14015f3be
mov rax, qword [rsp + 0xcc0]
mov qword [rsp + 0x1b78], rax
mov rax, qword [rsp + 0x1b78]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rax, qword [rsp + 0x508]
mov qword [rsp + 0x1088], rax
mov byte [rsp + 0xe5], 0
mov byte [rsp + 0xe6], 1
mov rax, qword [rsp + 0x1b80]
mov qword [rsp + 0x1b98], rax
mov byte [rsp + 0xe7], 0
mov byte [rsp + 0xe8], 0
mov rax, qword [rsp + 0x1b88]
mov qword [rsp + 0x1ba0], rax
mov byte [rsp + 0xe9], 0
mov byte [rsp + 0xea], 1
mov eax, dword [rsp + 0x6b8]
mov qword [rsp + 0x1ba8], rax
mov byte [rsp + 0xeb], 0
mov byte [rsp + 0xec], 0
mov rax, qword [rsp + 0x1b90]
mov qword [rsp + 0x1bb0], rax
mov byte [rsp + 0xed], 1
mov byte [rsp + 0xee], 0
movsxd rax, dword [rsp + 0x6bc]
mov qword [rsp + 0x1bb8], rax
mov byte [rsp + 0xef], 0
mov byte [rsp + 0xf0], 0
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x1bc0], rax
cmp qword [rsp + 0x1088], 0
jne 0x14015f4a5
mov dword [rsp + 0x2b8], 0
jmp 0x14015f4fd
mov rax, qword [rsp + 0x1088]
mov qword [rsp + 0x1bc8], rax
mov rax, qword [rsp + 0x1b98]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x1ba0]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x1ba8]
mov r8, qword [rsp + 0x1bb0]
mov rdx, qword [rsp + 0x1bb8]
mov rcx, qword [rsp + 0x1bc0]
call qword [rsp + 0x1bc8]
mov dword [rsp + 0x2b8], eax
mov eax, dword [rsp + 0x2b8]
mov dword [rsp + 0xcc], eax
cmp dword [rsp + 0xcc], 0
je 0x14016063d
mov dword [rsp + 0x6c0], 0xbb6d293d
lea rax, [rsp + 0x1594]
mov qword [rsp + 0x1090], rax
mov rax, qword [rsp + 0x1090]
mov dword [rax], 0
mov rax, qword [rsp + 0x1090]
mov eax, dword [rax]
mov dword [rsp + 0x6d0], eax
mov eax, dword [rsp + 0x6c0]
mov dword [rsp + 0x130], eax
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x6c4], eax
mov eax, dword [rsp + 0x6c4]
mov dword [rsp + 0x6c8], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0x1098], rax
mov rax, qword [rsp + 0x1098]
mov qword [rsp + 0x1bd0], rax
mov rax, qword [rsp + 0x1bd0]
mov qword [rsp + 0x2560], rax
mov byte [rsp + 0x2568], 1
mov rax, qword [rsp + 0x1098]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockShared
nop
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x1bd8], rax
lea r8, [rsp + 0x6c8]
lea rdx, [rsp + 0x10b0]
mov rcx, qword [rsp + 0x1bd8]
call fcn.140096f50
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x1be0], rax
mov rax, qword [rsp + 0x1be0]
add rax, 8
mov qword [rsp + 0x10a0], rax
mov rax, qword [rsp + 0x2fe0]
mov qword [rsp + 0x10a8], rax
mov rax, qword [rsp + 0x10a0]
mov qword [rsp + 0x10a8], rax
mov rax, qword [rsp + 0x10a0]
mov rax, qword [rax]
mov qword [rsp + 0x1be8], rax
mov r8, qword [rsp + 0x10a8]
mov rdx, qword [rsp + 0x1be8]
lea rcx, [rsp + 0x1bf0]
call fcn.14006f260
lea rax, [rsp + 0x1bf0]
mov qword [rsp + 0x1bf8], rax
mov rax, qword [rsp + 0x1bf8]
mov rax, qword [rax]
cmp qword [rsp + 0x10b0], rax
jne 0x14015f69e
mov dword [rsp + 0x2bc], 1
jmp 0x14015f6a9
mov dword [rsp + 0x2bc], 0
movzx eax, byte [rsp + 0x2bc]
mov byte [rsp + 0x8e], al
movzx eax, byte [rsp + 0x8e]
test eax, eax
je 0x14015f6d2
mov qword [rsp + 0x10b8], 0
jmp 0x14015f73a
mov rax, qword [rsp + 0x10b0]
add rax, 0x10
mov qword [rsp + 0x1c00], rax
mov rax, qword [rsp + 0x1c00]
mov qword [rsp + 0x1c08], rax
mov rax, qword [rsp + 0x1c08]
mov qword [rsp + 0x1c10], rax
mov rax, qword [rsp + 0x1c10]
mov qword [rsp + 0x1c18], rax
mov rax, qword [rsp + 0x1c18]
mov qword [rsp + 0x1c20], rax
mov rax, qword [rsp + 0x1c20]
mov rax, qword [rax + 8]
mov qword [rsp + 0x10b8], rax
mov rax, qword [rsp + 0x10b8]
mov qword [rsp + 0x1c30], rax
movzx eax, byte [rsp + 0x2568]
test eax, eax
je 0x14015f776
mov rax, qword [rsp + 0x2560]
mov qword [rsp + 0x1c28], rax
mov rax, qword [rsp + 0x1c28]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockShared
mov rax, qword [rsp + 0x1c30]
mov qword [rsp + 0x530], rax
cmp qword [rsp + 0x530], 0
jne 0x140160591
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x6d8], eax
mov eax, dword [rsp + 0x6d0]
mov dword [rsp + 0x2d0], eax
mov eax, dword [rsp + 0x6d8]
mov dword [rsp + 0x2f8], eax
mov dword [rsp + 0x6e0], 0
mov eax, dword [rsp + 0x6e0]
cmp dword [rsp + 0x2f8], eax
jne 0x14015f7ee
xor eax, eax
cmp eax, 1
je 0x14015f7ee
mov dword [rsp + 0x2c0], 1
jmp 0x14015f7f9
mov dword [rsp + 0x2c0], 0
movzx eax, byte [rsp + 0x2c0]
mov byte [rsp + 0x8f], al
movzx eax, byte [rsp + 0x8f]
test eax, eax
je 0x14015f825
mov qword [rsp + 0x528], 0
jmp 0x140160491
mov byte [rsp + 0xf1], 1
mov qword [rsp + 0x1500], 0
mov qword [rsp + 0x1508], 0
mov rax, qword gs:[0x60]
mov qword [rsp + 0x1c38], rax
mov rax, qword [rsp + 0x1c38]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1c40], rax
mov rax, qword [rsp + 0x1c40]
add rax, 0x10
mov qword [rsp + 0xc28], rax
mov eax, 1
test eax, eax
je 0x14015f89f
mov rax, qword [rsp + 0xc28]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0x10c0], rax
jmp 0x14015f8b2
mov rax, qword [rsp + 0xc28]
mov rax, qword [rax]
mov qword [rsp + 0x10c0], rax
mov rax, qword [rsp + 0x10c0]
mov qword [rsp + 0x1500], rax
mov rax, qword [rsp + 0xc28]
mov qword [rsp + 0x1508], rax
lea rax, [rsp + 0x1500]
mov qword [rsp + 0x10c8], rax
mov rax, qword [rsp + 0x10c8]
mov rax, qword [rax]
mov qword [rsp + 0x1c48], rax
mov rax, qword [rsp + 0x1c48]
mov qword [rsp + 0x510], rax
mov rax, qword [rsp + 0x10c8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1c50], rax
mov rax, qword [rsp + 0x1c50]
mov qword [rsp + 0x1c58], rax
jmp 0x14015f93e
mov rax, qword [rsp + 0x510]
mov rax, qword [rax]
mov qword [rsp + 0x510], rax
mov rax, qword [rsp + 0x1c58]
cmp qword [rsp + 0x510], rax
je 0x14015f95d
mov dword [rsp + 0x2c4], 1
jmp 0x14015f968
mov dword [rsp + 0x2c4], 0
movzx eax, byte [rsp + 0x2c4]
test eax, eax
je 0x140160485
xor eax, eax
mov qword [rsp + 0x1c60], rax
mov rax, qword [rsp + 0x1c60]
mov rcx, qword [rsp + 0x510]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x1c68], rax
lea rax, [rsp + 0x1c68]
mov qword [rsp + 0x10d8], rax
mov dword [rsp + 0x6e4], 0
mov eax, dword [rsp + 0x6e4]
cmp dword [rsp + 0x2d0], eax
jne 0x14015f9df
xor eax, eax
cmp eax, 1
je 0x14015f9df
mov dword [rsp + 0x2c8], 1
jmp 0x14015f9ea
mov dword [rsp + 0x2c8], 0
movzx eax, byte [rsp + 0x2c8]
mov byte [rsp + 0x90], al
movzx eax, byte [rsp + 0x90]
test eax, eax
jne 0x14015fd29
mov rax, qword [rsp + 0x10d8]
mov rax, qword [rax]
add rax, 0x58
mov qword [rsp + 0x1c70], rax
mov rax, qword [rsp + 0x1c70]
mov rax, qword [rax + 8]
mov qword [rsp + 0x10d0], rax
mov rax, qword [rsp + 0x10d0]
mov qword [rsp + 0x26a8], rax
mov rax, qword [rsp + 0x10d0]
mov qword [rsp + 0x1c78], rax
mov qword [rsp + 0x518], 0xffffffffffffffff
inc qword [rsp + 0x518]
mov rax, qword [rsp + 0x1c78]
mov rcx, qword [rsp + 0x518]
cmp word [rax + rcx*2], 0
jne 0x14015fa60
mov rax, qword [rsp + 0x518]
mov qword [rsp + 0x1c80], rax
mov rax, qword [rsp + 0x1c80]
mov qword [rsp + 0x26b0], rax
lea rax, [rsp + 0x26a8]
mov qword [rsp + 0x1c88], rax
lea rax, [rsp + 0x2bc0]
mov rdi, rax
mov rsi, qword [rsp + 0x1c88]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x2d0]
mov dword [rsp + 0x6e8], eax
lea rax, [rsp + 0x2570]
lea rcx, [rsp + 0x2bc0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x6e8]
mov dword [rsp + 0x2e8], eax
lea rax, [rsp + 0x2d8]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x2d8], 0x1b6e1b1e
lea rax, [rsp + 0x2d8]
mov qword [rsp + 0x1c90], rax
lea rax, [rsp + 0x2bd0]
lea rcx, [rsp + 0x2570]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2be0]
lea rcx, [rsp + 0x2bd0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2be0]
mov rcx, qword [rsp + 0x1c90]
call fcn.140097890
mov dword [rsp + 0x6ec], eax
mov rax, qword [rsp + 0x2578]
mov qword [rsp + 0x1c98], rax
mov rax, qword [rsp + 0x1c98]
sub rax, 4
mov qword [rsp + 0x1ca0], rax
mov r9, qword [rsp + 0x1ca0]
xor r8d, r8d
lea rdx, [rsp + 0x2bf0]
lea rcx, [rsp + 0x2570]
call fcn.14019ab70
lea rax, [rsp + 0x2dc]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x2dc], 0x1b6e1b1e
lea rax, [rsp + 0x2dc]
mov qword [rsp + 0x1ca8], rax
lea rax, [rsp + 0x2c00]
lea rcx, [rsp + 0x2bf0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2c10]
lea rcx, [rsp + 0x2c00]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2c10]
mov rcx, qword [rsp + 0x1ca8]
call fcn.140097890
mov dword [rsp + 0x6f4], eax
mov eax, dword [rsp + 0x6ec]
mov dword [rsp + 0x6f0], eax
mov eax, dword [rsp + 0x6f0]
cmp dword [rsp + 0x2e8], eax
jne 0x14015fc82
xor eax, eax
cmp eax, 1
je 0x14015fc82
mov dword [rsp + 0x2e0], 1
jmp 0x14015fc8d
mov dword [rsp + 0x2e0], 0
movzx eax, byte [rsp + 0x2e0]
mov byte [rsp + 0x91], al
movzx eax, byte [rsp + 0x91]
test eax, eax
jne 0x14015fd0d
mov eax, dword [rsp + 0x6f4]
mov dword [rsp + 0x6f8], eax
mov eax, dword [rsp + 0x6f8]
cmp dword [rsp + 0x2e8], eax
jne 0x14015fcda
xor eax, eax
cmp eax, 1
je 0x14015fcda
mov dword [rsp + 0x2f0], 1
jmp 0x14015fce5
mov dword [rsp + 0x2f0], 0
movzx eax, byte [rsp + 0x2f0]
mov byte [rsp + 0x92], al
movzx eax, byte [rsp + 0x92]
test eax, eax
jne 0x14015fd0d
mov dword [rsp + 0x2f4], 1
jmp 0x14015fd18
mov dword [rsp + 0x2f4], 0
movzx eax, byte [rsp + 0x2f4]
test eax, eax
je 0x14015fd29
jmp 0x14015f92b
mov rax, qword [rsp + 0x10d8]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x10e0], rax
mov rax, qword [rsp + 0x10e0]
mov qword [rsp + 0xa40], rax
mov rax, qword [rsp + 0x10e0]
mov qword [rsp + 0x1cb0], rax
mov rax, qword [rsp + 0x1cb0]
mov qword [rsp + 0x10e8], rax
mov rax, qword [rsp + 0x10e8]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x10e8]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0x1cb8], rax
mov eax, dword [rsp + 0x1cb8]
add rax, qword [rsp + 0xa40]
mov qword [rsp + 0x1cc0], rax
mov rax, qword [rsp + 0x1cc0]
mov qword [rsp + 0xa48], rax
mov eax, dword [rsp + 0x2f8]
mov dword [rsp + 0x6fc], eax
mov eax, dword [rsp + 0x6fc]
mov dword [rsp + 0x700], eax
lea rdx, [rsp + 0x3b28]
lea rcx, [rsp + 0xa40]
call fcn.1401906d0
lea rcx, [rsp + 0x3590]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x3b50]
lea rcx, [rsp + 0xa40]
call fcn.14018ec60
lea rcx, [rsp + 0x35b8]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x35e0]
lea rcx, [rsp + 0x3590]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3610]
lea rcx, [rsp + 0x35b8]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
mov r9d, dword [rsp + 0x700]
lea r8, [rsp + 0x35e0]
lea rdx, [rsp + 0x3610]
lea rcx, [rsp + 0x3020]
call fcn.140097110
lea rdx, [rsp + 0x3b78]
lea rcx, [rsp + 0xa40]
call fcn.1401906d0
mov qword [rsp + 0x10f0], rax
mov rax, qword [rsp + 0x10f0]
mov rax, qword [rax + 8]
cmp qword [rsp + 0x3028], rax
jne 0x14015fede
mov rax, qword [rsp + 0x10f0]
mov rax, qword [rax]
cmp qword [rsp + 0x3020], rax
jne 0x14015fede
mov dword [rsp + 0x300], 1
jmp 0x14015fee9
mov dword [rsp + 0x300], 0
movzx eax, byte [rsp + 0x300]
mov byte [rsp + 0x93], al
movzx eax, byte [rsp + 0x93]
test eax, eax
je 0x14015ff09
jmp 0x14015f92b
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
and eax, 1
test eax, eax
jne 0x14015ffcf
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
or eax, 1
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov edi, reloc.WLDAP32.dll_Ordinal_32
mov edi, edi
mov rcx, qword [rdx + rcx*8]
mov dword [rdi + rcx], eax
mov eax, 8
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
add rax, qword [rdx + rcx*8]
mov qword [rsp + 0x1100], rax
mov rax, qword [rsp + 0x1100]
mov qword [rsp + 0x10f8], rax
mov rax, qword [rsp + 0x10f8]
mov qword [rax], 0
mov rax, qword [rsp + 0x10f8]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0x1100]
mov qword [rax + 0x10], 0
lea rax, [rsp + 0x3030]
mov qword [rsp + 0x1108], rax
mov rax, qword [rsp + 0x1108]
mov qword [rsp + 0x2fe8], rax
mov rax, qword [rsp + 0x1108]
add rax, 0x10
mov qword [rsp + 0xc40], rax
mov rax, qword [rsp + 0xc40]
mov rax, qword [rax]
mov qword [rsp + 0x1128], rax
mov rax, qword [rsp + 0xa40]
mov qword [rsp + 0x1cc8], rax
mov rax, qword [rsp + 0x1cc8]
mov qword [rsp + 0x1110], rax
mov rax, qword [rsp + 0x1110]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x1110]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0x1118], rax
mov eax, dword [rsp + 0x1118]
add rax, qword [rsp + 0xa40]
mov qword [rsp + 0x1120], rax
mov eax, dword [rsp + 0x111c]
mov rcx, qword [rsp + 0x1120]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1cd0], rax
mov rax, qword [rsp + 0x1120]
cmp qword [rsp + 0x1128], rax
jb 0x1401600be
mov rax, qword [rsp + 0x1cd0]
cmp qword [rsp + 0x1128], rax
jae 0x1401600be
mov dword [rsp + 0x304], 1
jmp 0x1401600c9
mov dword [rsp + 0x304], 0
movzx eax, byte [rsp + 0x304]
mov byte [rsp + 0x94], al
movzx eax, byte [rsp + 0x94]
test eax, eax
je 0x14016046b
mov rax, qword [rsp + 0xc40]
mov rax, qword [rax]
mov qword [rsp + 0x1cd8], rax
mov rax, qword [rsp + 0x1cd8]
mov qword [rsp + 0x1130], rax
lea rax, [rsp + 0x32e0]
mov qword [rsp + 0xc30], rax
mov rax, qword [rsp + 0xc30]
mov rcx, qword [rsp + 0x1130]
mov qword [rax], rcx
mov rax, qword [rsp + 0x1130]
mov qword [rsp + 0x1ce0], rax
mov qword [rsp + 0x520], 0xffffffffffffffff
inc qword [rsp + 0x520]
mov rax, qword [rsp + 0x1ce0]
mov rcx, qword [rsp + 0x520]
cmp byte [rax + rcx], 0
jne 0x14016014a
mov rax, qword [rsp + 0x520]
mov qword [rsp + 0x1ce8], rax
mov rax, qword [rsp + 0xc30]
mov rcx, qword [rsp + 0x1ce8]
mov qword [rax + 8], rcx
lea rax, [rsp + 0xcd0]
mov rdi, rax
mov rsi, qword [rsp + 0xc30]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov r9b, reloc.WLDAP32.dll_Ordinal_46
xor r8d, r8d
mov rdx, qword [rsp + 0xcd8]
mov rcx, qword [rsp + 0xcd0]
call fcn.140096220
mov qword [rsp + 0xc38], rax
cmp qword [rsp + 0xc38], 0xffffffffffffffff
je 0x14016025e
mov r9, qword [rsp + 0xc38]
xor r8d, r8d
lea rdx, [rsp + 0x2c20]
lea rcx, [rsp + 0xcd0]
call fcn.14019aaa0
mov rax, qword [rsp + 0xc38]
inc rax
mov r9, 0xffffffffffffffff
mov r8, rax
lea rdx, [rsp + 0x2c30]
lea rcx, [rsp + 0xcd0]
call fcn.14019aaa0
lea rax, [rsp + 0x27e8]
lea rcx, [rsp + 0x2c20]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x27f8]
lea rcx, [rsp + 0x2c30]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
jmp 0x1401602bd
lea rax, [rsp + 0xcd0]
mov qword [rsp + 0x1cf0], rax
mov qword [rsp + 0x26b8], 0
mov qword [rsp + 0x26c0], 0
lea rax, [rsp + 0x27e8]
mov rdi, rax
mov rsi, qword [rsp + 0x1cf0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x27f8]
lea rcx, [rsp + 0x26b8]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x27e8]
mov qword [rsp + 0x1cf8], rax
lea rax, [rsp + 0x27f8]
mov qword [rsp + 0x1d08], rax
lea rax, [rsp + 0x1598]
mov qword [rsp + 0x1138], rax
lea rax, [rsp + 0x308]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x308], 0x1b6e1b1e
lea rax, [rsp + 0x308]
mov qword [rsp + 0x1d00], rax
lea rax, [rsp + 0x2c40]
mov rdi, rax
mov rsi, qword [rsp + 0x1cf8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2c50]
lea rcx, [rsp + 0x2c40]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2c50]
mov rcx, qword [rsp + 0x1d00]
call fcn.1400977d0
mov dword [rsp + 0x708], eax
mov rax, qword [rsp + 0x1138]
mov ecx, dword [rsp + 0x708]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1138]
mov eax, dword [rax]
mov dword [rsp + 0x718], eax
lea rax, [rsp + 0x159c]
mov qword [rsp + 0x1140], rax
lea rax, [rsp + 0x30c]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x30c], 0x1b6e1b1e
lea rax, [rsp + 0x30c]
mov qword [rsp + 0x1d10], rax
lea rax, [rsp + 0x2c60]
mov rdi, rax
mov rsi, qword [rsp + 0x1d08]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2c70]
lea rcx, [rsp + 0x2c60]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2c70]
mov rcx, qword [rsp + 0x1d10]
call fcn.1400977d0
mov dword [rsp + 0x710], eax
mov rax, qword [rsp + 0x1140]
mov ecx, dword [rsp + 0x710]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1140]
mov eax, dword [rax]
mov dword [rsp + 0x71c], eax
mov r8d, dword [rsp + 0x718]
mov edx, dword [rsp + 0x71c]
lea rcx, [rsp + 0x1148]
call fcn.140191150
mov qword [rsp + 0x528], rax
jmp 0x140160491
mov rax, qword [rsp + 0xc40]
mov rax, qword [rax]
mov qword [rsp + 0x528], rax
jmp 0x140160491
mov qword [rsp + 0x528], 0
mov rax, qword [rsp + 0x528]
mov qword [rsp + 0x1148], rax
mov rax, qword [rsp + 0x1148]
mov qword [rsp + 0x530], rax
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x720], eax
mov rax, qword [rsp + 0x530]
mov qword [rsp + 0x1d28], rax
mov eax, dword [rsp + 0x720]
mov dword [rsp + 0x728], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0x1d18], rax
mov rax, qword [rsp + 0x1d18]
mov qword [rsp + 0xce0], rax
mov byte [rsp + 0xce8], 0
mov rax, qword [rsp + 0xce0]
mov qword [rsp + 0x1d20], rax
mov rax, qword [rsp + 0x1d20]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rsp + 0xce8], 1
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x1d30], rax
lea r9, [rsp + 0x1d28]
lea r8, [rsp + 0x728]
lea rdx, [rsp + 0x3280]
mov rcx, qword [rsp + 0x1d30]
call fcn.140098320
nop
movzx eax, byte [rsp + 0xce8]
test eax, eax
je 0x140160591
mov rax, qword [rsp + 0xce0]
mov qword [rsp + 0x1d38], rax
mov rax, qword [rsp + 0x1d38]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rax, qword [rsp + 0x530]
mov qword [rsp + 0x1150], rax
mov byte [rsp + 0xf2], 0
mov byte [rsp + 0xf3], 0
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x1d40], rax
cmp qword [rsp + 0x1150], 0
jne 0x1401605d9
mov dword [rsp + 0x730], 0
jmp 0x1401605ff
mov rax, qword [rsp + 0x1150]
mov qword [rsp + 0x1d48], rax
mov rcx, qword [rsp + 0x1d40]
call qword [rsp + 0x1d48]
mov dword [rsp + 0x730], eax
mov byte [rsp + 0x95], 0
lea rcx, [rsp + 0x1550]
call fcn.14018ddf0
nop
lea rcx, [rsp + 0x2620]
call fcn.14018ddf0
nop
lea rcx, [rsp + 0x1570]
call fcn.14018ddf0
movzx eax, byte [rsp + 0x95]
jmp 0x1401650eb
mov dword [rsp + 0x734], 0xbb6d293d
lea rax, [rsp + 0x15a0]
mov qword [rsp + 0x1158], rax
mov rax, qword [rsp + 0x1158]
mov dword [rax], 0
mov rax, qword [rsp + 0x1158]
mov eax, dword [rax]
mov dword [rsp + 0x748], eax
mov eax, dword [rsp + 0x734]
mov dword [rsp + 0x138], eax
mov eax, dword [rsp + 0x138]
mov dword [rsp + 0x738], eax
mov eax, dword [rsp + 0x738]
mov dword [rsp + 0x740], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0x1160], rax
mov rax, qword [rsp + 0x1160]
mov qword [rsp + 0x1d50], rax
mov rax, qword [rsp + 0x1d50]
mov qword [rsp + 0x2580], rax
mov byte [rsp + 0x2588], 1
mov rax, qword [rsp + 0x1160]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockShared
nop
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x1d58], rax
lea r8, [rsp + 0x740]
lea rdx, [rsp + 0x1178]
mov rcx, qword [rsp + 0x1d58]
call fcn.140096f50
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x1d60], rax
mov rax, qword [rsp + 0x1d60]
add rax, 8
mov qword [rsp + 0x1168], rax
mov rax, qword [rsp + 0x2ff0]
mov qword [rsp + 0x1170], rax
mov rax, qword [rsp + 0x1168]
mov qword [rsp + 0x1170], rax
mov rax, qword [rsp + 0x1168]
mov rax, qword [rax]
mov qword [rsp + 0x1d68], rax
mov r8, qword [rsp + 0x1170]
mov rdx, qword [rsp + 0x1d68]
lea rcx, [rsp + 0x1d70]
call fcn.14006f260
lea rax, [rsp + 0x1d70]
mov qword [rsp + 0x1d78], rax
mov rax, qword [rsp + 0x1d78]
mov rax, qword [rax]
cmp qword [rsp + 0x1178], rax
jne 0x1401607c2
mov dword [rsp + 0x310], 1
jmp 0x1401607cd
mov dword [rsp + 0x310], 0
movzx eax, byte [rsp + 0x310]
mov byte [rsp + 0x96], al
movzx eax, byte [rsp + 0x96]
test eax, eax
je 0x1401607f6
mov qword [rsp + 0x1180], 0
jmp 0x14016085e
mov rax, qword [rsp + 0x1178]
add rax, 0x10
mov qword [rsp + 0x1d80], rax
mov rax, qword [rsp + 0x1d80]
mov qword [rsp + 0x1d88], rax
mov rax, qword [rsp + 0x1d88]
mov qword [rsp + 0x1d90], rax
mov rax, qword [rsp + 0x1d90]
mov qword [rsp + 0x1d98], rax
mov rax, qword [rsp + 0x1d98]
mov qword [rsp + 0x1da0], rax
mov rax, qword [rsp + 0x1da0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1180], rax
mov rax, qword [rsp + 0x1180]
mov qword [rsp + 0x1db0], rax
movzx eax, byte [rsp + 0x2588]
test eax, eax
je 0x14016089a
mov rax, qword [rsp + 0x2580]
mov qword [rsp + 0x1da8], rax
mov rax, qword [rsp + 0x1da8]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockShared
mov rax, qword [rsp + 0x1db0]
mov qword [rsp + 0x558], rax
cmp qword [rsp + 0x558], 0
jne 0x1401616b5
mov eax, dword [rsp + 0x138]
mov dword [rsp + 0x750], eax
mov eax, dword [rsp + 0x748]
mov dword [rsp + 0x320], eax
mov eax, dword [rsp + 0x750]
mov dword [rsp + 0x348], eax
mov dword [rsp + 0x758], 0
mov eax, dword [rsp + 0x758]
cmp dword [rsp + 0x348], eax
jne 0x140160912
xor eax, eax
cmp eax, 1
je 0x140160912
mov dword [rsp + 0x314], 1
jmp 0x14016091d
mov dword [rsp + 0x314], 0
movzx eax, byte [rsp + 0x314]
mov byte [rsp + 0x97], al
movzx eax, byte [rsp + 0x97]
test eax, eax
je 0x140160949
mov qword [rsp + 0x550], 0
jmp 0x1401615b5
mov byte [rsp + 0xf4], 1
mov qword [rsp + 0x1510], 0
mov qword [rsp + 0x1518], 0
mov rax, qword gs:[0x60]
mov qword [rsp + 0x1db8], rax
mov rax, qword [rsp + 0x1db8]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1dc0], rax
mov rax, qword [rsp + 0x1dc0]
add rax, 0x10
mov qword [rsp + 0x970], rax
mov eax, 1
test eax, eax
je 0x1401609c3
mov rax, qword [rsp + 0x970]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0x1188], rax
jmp 0x1401609d6
mov rax, qword [rsp + 0x970]
mov rax, qword [rax]
mov qword [rsp + 0x1188], rax
mov rax, qword [rsp + 0x1188]
mov qword [rsp + 0x1510], rax
mov rax, qword [rsp + 0x970]
mov qword [rsp + 0x1518], rax
lea rax, [rsp + 0x1510]
mov qword [rsp + 0x1190], rax
mov rax, qword [rsp + 0x1190]
mov rax, qword [rax]
mov qword [rsp + 0x1dc8], rax
mov rax, qword [rsp + 0x1dc8]
mov qword [rsp + 0x538], rax
mov rax, qword [rsp + 0x1190]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1dd0], rax
mov rax, qword [rsp + 0x1dd0]
mov qword [rsp + 0x1dd8], rax
jmp 0x140160a62
mov rax, qword [rsp + 0x538]
mov rax, qword [rax]
mov qword [rsp + 0x538], rax
mov rax, qword [rsp + 0x1dd8]
cmp qword [rsp + 0x538], rax
je 0x140160a81
mov dword [rsp + 0x318], 1
jmp 0x140160a8c
mov dword [rsp + 0x318], 0
movzx eax, byte [rsp + 0x318]
test eax, eax
je 0x1401615a9
xor eax, eax
mov qword [rsp + 0x1de0], rax
mov rax, qword [rsp + 0x1de0]
mov rcx, qword [rsp + 0x538]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x1de8], rax
lea rax, [rsp + 0x1de8]
mov qword [rsp + 0x11a0], rax
mov dword [rsp + 0x75c], 0
mov eax, dword [rsp + 0x75c]
cmp dword [rsp + 0x320], eax
jne 0x140160b03
xor eax, eax
cmp eax, 1
je 0x140160b03
mov dword [rsp + 0x31c], 1
jmp 0x140160b0e
mov dword [rsp + 0x31c], 0
movzx eax, byte [rsp + 0x31c]
mov byte [rsp + 0x98], al
movzx eax, byte [rsp + 0x98]
test eax, eax
jne 0x140160e4d
mov rax, qword [rsp + 0x11a0]
mov rax, qword [rax]
add rax, 0x58
mov qword [rsp + 0x1df0], rax
mov rax, qword [rsp + 0x1df0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1198], rax
mov rax, qword [rsp + 0x1198]
mov qword [rsp + 0x26c8], rax
mov rax, qword [rsp + 0x1198]
mov qword [rsp + 0x1df8], rax
mov qword [rsp + 0x540], 0xffffffffffffffff
inc qword [rsp + 0x540]
mov rax, qword [rsp + 0x1df8]
mov rcx, qword [rsp + 0x540]
cmp word [rax + rcx*2], 0
jne 0x140160b84
mov rax, qword [rsp + 0x540]
mov qword [rsp + 0x1e00], rax
mov rax, qword [rsp + 0x1e00]
mov qword [rsp + 0x26d0], rax
lea rax, [rsp + 0x26c8]
mov qword [rsp + 0x1e08], rax
lea rax, [rsp + 0x2c80]
mov rdi, rax
mov rsi, qword [rsp + 0x1e08]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x320]
mov dword [rsp + 0x760], eax
lea rax, [rsp + 0x2590]
lea rcx, [rsp + 0x2c80]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x760]
mov dword [rsp + 0x338], eax
lea rax, [rsp + 0x328]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x328], 0x1b6e1b1e
lea rax, [rsp + 0x328]
mov qword [rsp + 0x1e10], rax
lea rax, [rsp + 0x2c90]
lea rcx, [rsp + 0x2590]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2ca0]
lea rcx, [rsp + 0x2c90]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2ca0]
mov rcx, qword [rsp + 0x1e10]
call fcn.140097890
mov dword [rsp + 0x764], eax
mov rax, qword [rsp + 0x2598]
mov qword [rsp + 0x1e18], rax
mov rax, qword [rsp + 0x1e18]
sub rax, 4
mov qword [rsp + 0x1e20], rax
mov r9, qword [rsp + 0x1e20]
xor r8d, r8d
lea rdx, [rsp + 0x2cb0]
lea rcx, [rsp + 0x2590]
call fcn.14019ab70
lea rax, [rsp + 0x32c]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x32c], 0x1b6e1b1e
lea rax, [rsp + 0x32c]
mov qword [rsp + 0x1e28], rax
lea rax, [rsp + 0x2cc0]
lea rcx, [rsp + 0x2cb0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2cd0]
lea rcx, [rsp + 0x2cc0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2cd0]
mov rcx, qword [rsp + 0x1e28]
call fcn.140097890
mov dword [rsp + 0x76c], eax
mov eax, dword [rsp + 0x764]
mov dword [rsp + 0x768], eax
mov eax, dword [rsp + 0x768]
cmp dword [rsp + 0x338], eax
jne 0x140160da6
xor eax, eax
cmp eax, 1
je 0x140160da6
mov dword [rsp + 0x330], 1
jmp 0x140160db1
mov dword [rsp + 0x330], 0
movzx eax, byte [rsp + 0x330]
mov byte [rsp + 0x99], al
movzx eax, byte [rsp + 0x99]
test eax, eax
jne 0x140160e31
mov eax, dword [rsp + 0x76c]
mov dword [rsp + 0x770], eax
mov eax, dword [rsp + 0x770]
cmp dword [rsp + 0x338], eax
jne 0x140160dfe
xor eax, eax
cmp eax, 1
je 0x140160dfe
mov dword [rsp + 0x340], 1
jmp 0x140160e09
mov dword [rsp + 0x340], 0
movzx eax, byte [rsp + 0x340]
mov byte [rsp + 0x9a], al
movzx eax, byte [rsp + 0x9a]
test eax, eax
jne 0x140160e31
mov dword [rsp + 0x344], 1
jmp 0x140160e3c
mov dword [rsp + 0x344], 0
movzx eax, byte [rsp + 0x344]
test eax, eax
je 0x140160e4d
jmp 0x140160a4f
mov rax, qword [rsp + 0x11a0]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x11a8], rax
mov rax, qword [rsp + 0x11a8]
mov qword [rsp + 0xa30], rax
mov rax, qword [rsp + 0x11a8]
mov qword [rsp + 0x1e30], rax
mov rax, qword [rsp + 0x1e30]
mov qword [rsp + 0x11b0], rax
mov rax, qword [rsp + 0x11b0]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x11b0]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0x1e38], rax
mov eax, dword [rsp + 0x1e38]
add rax, qword [rsp + 0xa30]
mov qword [rsp + 0x1e40], rax
mov rax, qword [rsp + 0x1e40]
mov qword [rsp + 0xa38], rax
mov eax, dword [rsp + 0x348]
mov dword [rsp + 0x774], eax
mov eax, dword [rsp + 0x774]
mov dword [rsp + 0x778], eax
lea rdx, [rsp + 0x3ba0]
lea rcx, [rsp + 0xa30]
call fcn.1401906d0
lea rcx, [rsp + 0x3640]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x3bc8]
lea rcx, [rsp + 0xa30]
call fcn.14018ec60
lea rcx, [rsp + 0x3668]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3690]
lea rcx, [rsp + 0x3640]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x36c0]
lea rcx, [rsp + 0x3668]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
mov r9d, dword [rsp + 0x778]
lea r8, [rsp + 0x3690]
lea rdx, [rsp + 0x36c0]
lea rcx, [rsp + 0x30e8]
call fcn.140097110
lea rdx, [rsp + 0x3da8]
lea rcx, [rsp + 0xa30]
call fcn.1401906d0
mov qword [rsp + 0x11b8], rax
mov rax, qword [rsp + 0x11b8]
mov rax, qword [rax + 8]
cmp qword [rsp + 0x30f0], rax
jne 0x140161002
mov rax, qword [rsp + 0x11b8]
mov rax, qword [rax]
cmp qword [rsp + 0x30e8], rax
jne 0x140161002
mov dword [rsp + 0x350], 1
jmp 0x14016100d
mov dword [rsp + 0x350], 0
movzx eax, byte [rsp + 0x350]
mov byte [rsp + 0x9b], al
movzx eax, byte [rsp + 0x9b]
test eax, eax
je 0x14016102d
jmp 0x140160a4f
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
and eax, 1
test eax, eax
jne 0x1401610f3
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
or eax, 1
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov edi, reloc.WLDAP32.dll_Ordinal_32
mov edi, edi
mov rcx, qword [rdx + rcx*8]
mov dword [rdi + rcx], eax
mov eax, 8
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
add rax, qword [rdx + rcx*8]
mov qword [rsp + 0x11c8], rax
mov rax, qword [rsp + 0x11c8]
mov qword [rsp + 0x11c0], rax
mov rax, qword [rsp + 0x11c0]
mov qword [rax], 0
mov rax, qword [rsp + 0x11c0]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0x11c8]
mov qword [rax + 0x10], 0
lea rax, [rsp + 0x30f8]
mov qword [rsp + 0x11d0], rax
mov rax, qword [rsp + 0x11d0]
mov qword [rsp + 0x2888], rax
mov rax, qword [rsp + 0x11d0]
add rax, 0x10
mov qword [rsp + 0x988], rax
mov rax, qword [rsp + 0x988]
mov rax, qword [rax]
mov qword [rsp + 0x11f0], rax
mov rax, qword [rsp + 0xa30]
mov qword [rsp + 0x1e48], rax
mov rax, qword [rsp + 0x1e48]
mov qword [rsp + 0x11d8], rax
mov rax, qword [rsp + 0x11d8]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x11d8]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0x11e0], rax
mov eax, dword [rsp + 0x11e0]
add rax, qword [rsp + 0xa30]
mov qword [rsp + 0x11e8], rax
mov eax, dword [rsp + 0x11e4]
mov rcx, qword [rsp + 0x11e8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1e50], rax
mov rax, qword [rsp + 0x11e8]
cmp qword [rsp + 0x11f0], rax
jb 0x1401611e2
mov rax, qword [rsp + 0x1e50]
cmp qword [rsp + 0x11f0], rax
jae 0x1401611e2
mov dword [rsp + 0x354], 1
jmp 0x1401611ed
mov dword [rsp + 0x354], 0
movzx eax, byte [rsp + 0x354]
mov byte [rsp + 0x9c], al
movzx eax, byte [rsp + 0x9c]
test eax, eax
je 0x14016158f
mov rax, qword [rsp + 0x988]
mov rax, qword [rax]
mov qword [rsp + 0x1e58], rax
mov rax, qword [rsp + 0x1e58]
mov qword [rsp + 0x11f8], rax
lea rax, [rsp + 0x3290]
mov qword [rsp + 0x978], rax
mov rax, qword [rsp + 0x978]
mov rcx, qword [rsp + 0x11f8]
mov qword [rax], rcx
mov rax, qword [rsp + 0x11f8]
mov qword [rsp + 0x1e60], rax
mov qword [rsp + 0x548], 0xffffffffffffffff
inc qword [rsp + 0x548]
mov rax, qword [rsp + 0x1e60]
mov rcx, qword [rsp + 0x548]
cmp byte [rax + rcx], 0
jne 0x14016126e
mov rax, qword [rsp + 0x548]
mov qword [rsp + 0x1e68], rax
mov rax, qword [rsp + 0x978]
mov rcx, qword [rsp + 0x1e68]
mov qword [rax + 8], rcx
lea rax, [rsp + 0xcf0]
mov rdi, rax
mov rsi, qword [rsp + 0x978]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov r9b, reloc.WLDAP32.dll_Ordinal_46
xor r8d, r8d
mov rdx, qword [rsp + 0xcf8]
mov rcx, qword [rsp + 0xcf0]
call fcn.140096220
mov qword [rsp + 0x980], rax
cmp qword [rsp + 0x980], 0xffffffffffffffff
je 0x140161382
mov r9, qword [rsp + 0x980]
xor r8d, r8d
lea rdx, [rsp + 0x2ce0]
lea rcx, [rsp + 0xcf0]
call fcn.14019aaa0
mov rax, qword [rsp + 0x980]
inc rax
mov r9, 0xffffffffffffffff
mov r8, rax
lea rdx, [rsp + 0x2cf0]
lea rcx, [rsp + 0xcf0]
call fcn.14019aaa0
lea rax, [rsp + 0x2808]
lea rcx, [rsp + 0x2ce0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2818]
lea rcx, [rsp + 0x2cf0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
jmp 0x1401613e1
lea rax, [rsp + 0xcf0]
mov qword [rsp + 0x1e70], rax
mov qword [rsp + 0x26d8], 0
mov qword [rsp + 0x26e0], 0
lea rax, [rsp + 0x2808]
mov rdi, rax
mov rsi, qword [rsp + 0x1e70]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2818]
lea rcx, [rsp + 0x26d8]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2808]
mov qword [rsp + 0x1e78], rax
lea rax, [rsp + 0x2818]
mov qword [rsp + 0x1e88], rax
lea rax, [rsp + 0x15a4]
mov qword [rsp + 0x1200], rax
lea rax, [rsp + 0x358]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x358], 0x1b6e1b1e
lea rax, [rsp + 0x358]
mov qword [rsp + 0x1e80], rax
lea rax, [rsp + 0x2d00]
mov rdi, rax
mov rsi, qword [rsp + 0x1e78]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2d10]
lea rcx, [rsp + 0x2d00]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2d10]
mov rcx, qword [rsp + 0x1e80]
call fcn.1400977d0
mov dword [rsp + 0x780], eax
mov rax, qword [rsp + 0x1200]
mov ecx, dword [rsp + 0x780]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1200]
mov eax, dword [rax]
mov dword [rsp + 0x790], eax
lea rax, [rsp + 0x2420]
mov qword [rsp + 0x1208], rax
lea rax, [rsp + 0x35c]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x35c], 0x1b6e1b1e
lea rax, [rsp + 0x35c]
mov qword [rsp + 0x1e90], rax
lea rax, [rsp + 0x2d20]
mov rdi, rax
mov rsi, qword [rsp + 0x1e88]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2d30]
lea rcx, [rsp + 0x2d20]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2d30]
mov rcx, qword [rsp + 0x1e90]
call fcn.1400977d0
mov dword [rsp + 0x788], eax
mov rax, qword [rsp + 0x1208]
mov ecx, dword [rsp + 0x788]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1208]
mov eax, dword [rax]
mov dword [rsp + 0x794], eax
mov r8d, dword [rsp + 0x790]
mov edx, dword [rsp + 0x794]
lea rcx, [rsp + 0x1210]
call fcn.140191150
mov qword [rsp + 0x550], rax
jmp 0x1401615b5
mov rax, qword [rsp + 0x988]
mov rax, qword [rax]
mov qword [rsp + 0x550], rax
jmp 0x1401615b5
mov qword [rsp + 0x550], 0
mov rax, qword [rsp + 0x550]
mov qword [rsp + 0x1210], rax
mov rax, qword [rsp + 0x1210]
mov qword [rsp + 0x558], rax
mov eax, dword [rsp + 0x138]
mov dword [rsp + 0x798], eax
mov rax, qword [rsp + 0x558]
mov qword [rsp + 0x1ea8], rax
mov eax, dword [rsp + 0x798]
mov dword [rsp + 0x7a0], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0x1e98], rax
mov rax, qword [rsp + 0x1e98]
mov qword [rsp + 0xd00], rax
mov byte [rsp + 0xd08], 0
mov rax, qword [rsp + 0xd00]
mov qword [rsp + 0x1ea0], rax
mov rax, qword [rsp + 0x1ea0]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rsp + 0xd08], 1
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x1eb0], rax
lea r9, [rsp + 0x1ea8]
lea r8, [rsp + 0x7a0]
lea rdx, [rsp + 0x32a0]
mov rcx, qword [rsp + 0x1eb0]
call fcn.140098320
nop
movzx eax, byte [rsp + 0xd08]
test eax, eax
je 0x1401616b5
mov rax, qword [rsp + 0xd00]
mov qword [rsp + 0x1eb8], rax
mov rax, qword [rsp + 0x1eb8]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rax, qword [rsp + 0x558]
mov qword [rsp + 0x1218], rax
mov byte [rsp + 0xf5], 0
mov byte [rsp + 0xf6], 0
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x1ec0], rax
cmp qword [rsp + 0x1218], 0
jne 0x1401616fd
mov dword [rsp + 0x7a8], 0
jmp 0x140161723
mov rax, qword [rsp + 0x1218]
mov qword [rsp + 0x1ec8], rax
mov rcx, qword [rsp + 0x1ec0]
call qword [rsp + 0x1ec8]
mov dword [rsp + 0x7a8], eax
mov dword [rsp + 0x828], 0xa
lea rax, [rsp + 0xf7]
mov qword [rsp + 0x2040], rax
mov dword [rsp + 0x820], 0
mov dword [rsp + 0x824], 1
mov dword [rsp + 0x7ac], 0xc2aa0462
lea rax, [rsp + 0x241c]
mov qword [rsp + 0x1220], rax
mov rax, qword [rsp + 0x1220]
mov dword [rax], 0
mov rax, qword [rsp + 0x1220]
mov eax, dword [rax]
mov dword [rsp + 0x7c0], eax
mov eax, dword [rsp + 0x7ac]
mov dword [rsp + 0x140], eax
mov eax, dword [rsp + 0x140]
mov dword [rsp + 0x7b0], eax
mov eax, dword [rsp + 0x7b0]
mov dword [rsp + 0x7b8], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0x1228], rax
mov rax, qword [rsp + 0x1228]
mov qword [rsp + 0x1ed0], rax
mov rax, qword [rsp + 0x1ed0]
mov qword [rsp + 0x25a0], rax
mov byte [rsp + 0x25a8], 1
mov rax, qword [rsp + 0x1228]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockShared
nop
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x1ed8], rax
lea r8, [rsp + 0x7b8]
lea rdx, [rsp + 0x1240]
mov rcx, qword [rsp + 0x1ed8]
call fcn.140096f50
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x1ee0], rax
mov rax, qword [rsp + 0x1ee0]
add rax, 8
mov qword [rsp + 0x1230], rax
mov rax, qword [rsp + 0x2890]
mov qword [rsp + 0x1238], rax
mov rax, qword [rsp + 0x1230]
mov qword [rsp + 0x1238], rax
mov rax, qword [rsp + 0x1230]
mov rax, qword [rax]
mov qword [rsp + 0x1ee8], rax
mov r8, qword [rsp + 0x1238]
mov rdx, qword [rsp + 0x1ee8]
lea rcx, [rsp + 0x1ef0]
call fcn.14006f260
lea rax, [rsp + 0x1ef0]
mov qword [rsp + 0x1ef8], rax
mov rax, qword [rsp + 0x1ef8]
mov rax, qword [rax]
cmp qword [rsp + 0x1240], rax
jne 0x1401618d9
mov dword [rsp + 0x360], 1
jmp 0x1401618e4
mov dword [rsp + 0x360], 0
movzx eax, byte [rsp + 0x360]
mov byte [rsp + 0x9d], al
movzx eax, byte [rsp + 0x9d]
test eax, eax
je 0x14016190d
mov qword [rsp + 0x1248], 0
jmp 0x140161975
mov rax, qword [rsp + 0x1240]
add rax, 0x10
mov qword [rsp + 0x1f00], rax
mov rax, qword [rsp + 0x1f00]
mov qword [rsp + 0x1f08], rax
mov rax, qword [rsp + 0x1f08]
mov qword [rsp + 0x1f10], rax
mov rax, qword [rsp + 0x1f10]
mov qword [rsp + 0x1f18], rax
mov rax, qword [rsp + 0x1f18]
mov qword [rsp + 0x1f20], rax
mov rax, qword [rsp + 0x1f20]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1248], rax
mov rax, qword [rsp + 0x1248]
mov qword [rsp + 0x1f30], rax
movzx eax, byte [rsp + 0x25a8]
test eax, eax
je 0x1401619b1
mov rax, qword [rsp + 0x25a0]
mov qword [rsp + 0x1f28], rax
mov rax, qword [rsp + 0x1f28]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockShared
mov rax, qword [rsp + 0x1f30]
mov qword [rsp + 0x580], rax
cmp qword [rsp + 0x580], 0
jne 0x1401627cc
mov eax, dword [rsp + 0x140]
mov dword [rsp + 0x7c8], eax
mov eax, dword [rsp + 0x7c0]
mov dword [rsp + 0x370], eax
mov eax, dword [rsp + 0x7c8]
mov dword [rsp + 0x398], eax
mov dword [rsp + 0x7d0], 0
mov eax, dword [rsp + 0x7d0]
cmp dword [rsp + 0x398], eax
jne 0x140161a29
xor eax, eax
cmp eax, 1
je 0x140161a29
mov dword [rsp + 0x364], 1
jmp 0x140161a34
mov dword [rsp + 0x364], 0
movzx eax, byte [rsp + 0x364]
mov byte [rsp + 0x9e], al
movzx eax, byte [rsp + 0x9e]
test eax, eax
je 0x140161a60
mov qword [rsp + 0x578], 0
jmp 0x1401626cc
mov byte [rsp + 0xf8], 1
mov qword [rsp + 0x1520], 0
mov qword [rsp + 0x1528], 0
mov rax, qword gs:[0x60]
mov qword [rsp + 0x1f38], rax
mov rax, qword [rsp + 0x1f38]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1f40], rax
mov rax, qword [rsp + 0x1f40]
add rax, 0x10
mov qword [rsp + 0x990], rax
mov eax, 1
test eax, eax
je 0x140161ada
mov rax, qword [rsp + 0x990]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0x1250], rax
jmp 0x140161aed
mov rax, qword [rsp + 0x990]
mov rax, qword [rax]
mov qword [rsp + 0x1250], rax
mov rax, qword [rsp + 0x1250]
mov qword [rsp + 0x1520], rax
mov rax, qword [rsp + 0x990]
mov qword [rsp + 0x1528], rax
lea rax, [rsp + 0x1520]
mov qword [rsp + 0x1258], rax
mov rax, qword [rsp + 0x1258]
mov rax, qword [rax]
mov qword [rsp + 0x1f48], rax
mov rax, qword [rsp + 0x1f48]
mov qword [rsp + 0x560], rax
mov rax, qword [rsp + 0x1258]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1f50], rax
mov rax, qword [rsp + 0x1f50]
mov qword [rsp + 0x1f58], rax
jmp 0x140161b79
mov rax, qword [rsp + 0x560]
mov rax, qword [rax]
mov qword [rsp + 0x560], rax
mov rax, qword [rsp + 0x1f58]
cmp qword [rsp + 0x560], rax
je 0x140161b98
mov dword [rsp + 0x368], 1
jmp 0x140161ba3
mov dword [rsp + 0x368], 0
movzx eax, byte [rsp + 0x368]
test eax, eax
je 0x1401626c0
xor eax, eax
mov qword [rsp + 0x1f60], rax
mov rax, qword [rsp + 0x1f60]
mov rcx, qword [rsp + 0x560]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x1f68], rax
lea rax, [rsp + 0x1f68]
mov qword [rsp + 0x1268], rax
mov dword [rsp + 0x7d4], 0
mov eax, dword [rsp + 0x7d4]
cmp dword [rsp + 0x370], eax
jne 0x140161c1a
xor eax, eax
cmp eax, 1
je 0x140161c1a
mov dword [rsp + 0x36c], 1
jmp 0x140161c25
mov dword [rsp + 0x36c], 0
movzx eax, byte [rsp + 0x36c]
mov byte [rsp + 0x9f], al
movzx eax, byte [rsp + 0x9f]
test eax, eax
jne 0x140161f64
mov rax, qword [rsp + 0x1268]
mov rax, qword [rax]
add rax, 0x58
mov qword [rsp + 0x1f70], rax
mov rax, qword [rsp + 0x1f70]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1260], rax
mov rax, qword [rsp + 0x1260]
mov qword [rsp + 0x26e8], rax
mov rax, qword [rsp + 0x1260]
mov qword [rsp + 0x1f78], rax
mov qword [rsp + 0x568], 0xffffffffffffffff
inc qword [rsp + 0x568]
mov rax, qword [rsp + 0x1f78]
mov rcx, qword [rsp + 0x568]
cmp word [rax + rcx*2], 0
jne 0x140161c9b
mov rax, qword [rsp + 0x568]
mov qword [rsp + 0x1f80], rax
mov rax, qword [rsp + 0x1f80]
mov qword [rsp + 0x26f0], rax
lea rax, [rsp + 0x26e8]
mov qword [rsp + 0x1f88], rax
lea rax, [rsp + 0x2d40]
mov rdi, rax
mov rsi, qword [rsp + 0x1f88]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x370]
mov dword [rsp + 0x7d8], eax
lea rax, [rsp + 0x25b0]
lea rcx, [rsp + 0x2d40]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x7d8]
mov dword [rsp + 0x388], eax
lea rax, [rsp + 0x378]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x378], 0x1b6e1b1e
lea rax, [rsp + 0x378]
mov qword [rsp + 0x1f90], rax
lea rax, [rsp + 0x2d50]
lea rcx, [rsp + 0x25b0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2d60]
lea rcx, [rsp + 0x2d50]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2d60]
mov rcx, qword [rsp + 0x1f90]
call fcn.140097890
mov dword [rsp + 0x7dc], eax
mov rax, qword [rsp + 0x25b8]
mov qword [rsp + 0x1f98], rax
mov rax, qword [rsp + 0x1f98]
sub rax, 4
mov qword [rsp + 0x1fa0], rax
mov r9, qword [rsp + 0x1fa0]
xor r8d, r8d
lea rdx, [rsp + 0x2d70]
lea rcx, [rsp + 0x25b0]
call fcn.14019ab70
lea rax, [rsp + 0x37c]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x37c], 0x1b6e1b1e
lea rax, [rsp + 0x37c]
mov qword [rsp + 0x1fa8], rax
lea rax, [rsp + 0x2d80]
lea rcx, [rsp + 0x2d70]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2d90]
lea rcx, [rsp + 0x2d80]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2d90]
mov rcx, qword [rsp + 0x1fa8]
call fcn.140097890
mov dword [rsp + 0x7e4], eax
mov eax, dword [rsp + 0x7dc]
mov dword [rsp + 0x7e0], eax
mov eax, dword [rsp + 0x7e0]
cmp dword [rsp + 0x388], eax
jne 0x140161ebd
xor eax, eax
cmp eax, 1
je 0x140161ebd
mov dword [rsp + 0x380], 1
jmp 0x140161ec8
mov dword [rsp + 0x380], 0
movzx eax, byte [rsp + 0x380]
mov byte [rsp + 0xa0], al
movzx eax, byte [rsp + 0xa0]
test eax, eax
jne 0x140161f48
mov eax, dword [rsp + 0x7e4]
mov dword [rsp + 0x7e8], eax
mov eax, dword [rsp + 0x7e8]
cmp dword [rsp + 0x388], eax
jne 0x140161f15
xor eax, eax
cmp eax, 1
je 0x140161f15
mov dword [rsp + 0x390], 1
jmp 0x140161f20
mov dword [rsp + 0x390], 0
movzx eax, byte [rsp + 0x390]
mov byte [rsp + 0xa1], al
movzx eax, byte [rsp + 0xa1]
test eax, eax
jne 0x140161f48
mov dword [rsp + 0x394], 1
jmp 0x140161f53
mov dword [rsp + 0x394], 0
movzx eax, byte [rsp + 0x394]
test eax, eax
je 0x140161f64
jmp 0x140161b66
mov rax, qword [rsp + 0x1268]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x1270], rax
mov rax, qword [rsp + 0x1270]
mov qword [rsp + 0xa20], rax
mov rax, qword [rsp + 0x1270]
mov qword [rsp + 0x1fb0], rax
mov rax, qword [rsp + 0x1fb0]
mov qword [rsp + 0x1278], rax
mov rax, qword [rsp + 0x1278]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x1278]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0x1fb8], rax
mov eax, dword [rsp + 0x1fb8]
add rax, qword [rsp + 0xa20]
mov qword [rsp + 0x1fc0], rax
mov rax, qword [rsp + 0x1fc0]
mov qword [rsp + 0xa28], rax
mov eax, dword [rsp + 0x398]
mov dword [rsp + 0x7ec], eax
mov eax, dword [rsp + 0x7ec]
mov dword [rsp + 0x7f0], eax
lea rdx, [rsp + 0x3c18]
lea rcx, [rsp + 0xa20]
call fcn.1401906d0
lea rcx, [rsp + 0x36f0]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x3c40]
lea rcx, [rsp + 0xa20]
call fcn.14018ec60
lea rcx, [rsp + 0x3718]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3740]
lea rcx, [rsp + 0x36f0]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3770]
lea rcx, [rsp + 0x3718]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
mov r9d, dword [rsp + 0x7f0]
lea r8, [rsp + 0x3740]
lea rdx, [rsp + 0x3770]
lea rcx, [rsp + 0x3110]
call fcn.140097110
lea rdx, [rsp + 0x3c68]
lea rcx, [rsp + 0xa20]
call fcn.1401906d0
mov qword [rsp + 0x1280], rax
mov rax, qword [rsp + 0x1280]
mov rax, qword [rax + 8]
cmp qword [rsp + 0x3118], rax
jne 0x140162119
mov rax, qword [rsp + 0x1280]
mov rax, qword [rax]
cmp qword [rsp + 0x3110], rax
jne 0x140162119
mov dword [rsp + 0x3a0], 1
jmp 0x140162124
mov dword [rsp + 0x3a0], 0
movzx eax, byte [rsp + 0x3a0]
mov byte [rsp + 0xa2], al
movzx eax, byte [rsp + 0xa2]
test eax, eax
je 0x140162144
jmp 0x140161b66
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
and eax, 1
test eax, eax
jne 0x14016220a
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
or eax, 1
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov edi, reloc.WLDAP32.dll_Ordinal_32
mov edi, edi
mov rcx, qword [rdx + rcx*8]
mov dword [rdi + rcx], eax
mov eax, 8
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
add rax, qword [rdx + rcx*8]
mov qword [rsp + 0x1290], rax
mov rax, qword [rsp + 0x1290]
mov qword [rsp + 0x1288], rax
mov rax, qword [rsp + 0x1288]
mov qword [rax], 0
mov rax, qword [rsp + 0x1288]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0x1290]
mov qword [rax + 0x10], 0
lea rax, [rsp + 0x3120]
mov qword [rsp + 0x1298], rax
mov rax, qword [rsp + 0x1298]
mov qword [rsp + 0x2898], rax
mov rax, qword [rsp + 0x1298]
add rax, 0x10
mov qword [rsp + 0x9a8], rax
mov rax, qword [rsp + 0x9a8]
mov rax, qword [rax]
mov qword [rsp + 0x12b8], rax
mov rax, qword [rsp + 0xa20]
mov qword [rsp + 0x1fc8], rax
mov rax, qword [rsp + 0x1fc8]
mov qword [rsp + 0x12a0], rax
mov rax, qword [rsp + 0x12a0]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x12a0]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0x12a8], rax
mov eax, dword [rsp + 0x12a8]
add rax, qword [rsp + 0xa20]
mov qword [rsp + 0x12b0], rax
mov eax, dword [rsp + 0x12ac]
mov rcx, qword [rsp + 0x12b0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1fd0], rax
mov rax, qword [rsp + 0x12b0]
cmp qword [rsp + 0x12b8], rax
jb 0x1401622f9
mov rax, qword [rsp + 0x1fd0]
cmp qword [rsp + 0x12b8], rax
jae 0x1401622f9
mov dword [rsp + 0x3a4], 1
jmp 0x140162304
mov dword [rsp + 0x3a4], 0
movzx eax, byte [rsp + 0x3a4]
mov byte [rsp + 0xa3], al
movzx eax, byte [rsp + 0xa3]
test eax, eax
je 0x1401626a6
mov rax, qword [rsp + 0x9a8]
mov rax, qword [rax]
mov qword [rsp + 0x1fd8], rax
mov rax, qword [rsp + 0x1fd8]
mov qword [rsp + 0x12c0], rax
lea rax, [rsp + 0x32b0]
mov qword [rsp + 0x998], rax
mov rax, qword [rsp + 0x998]
mov rcx, qword [rsp + 0x12c0]
mov qword [rax], rcx
mov rax, qword [rsp + 0x12c0]
mov qword [rsp + 0x1fe0], rax
mov qword [rsp + 0x570], 0xffffffffffffffff
inc qword [rsp + 0x570]
mov rax, qword [rsp + 0x1fe0]
mov rcx, qword [rsp + 0x570]
cmp byte [rax + rcx], 0
jne 0x140162385
mov rax, qword [rsp + 0x570]
mov qword [rsp + 0x1fe8], rax
mov rax, qword [rsp + 0x998]
mov rcx, qword [rsp + 0x1fe8]
mov qword [rax + 8], rcx
lea rax, [rsp + 0xd10]
mov rdi, rax
mov rsi, qword [rsp + 0x998]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov r9b, reloc.WLDAP32.dll_Ordinal_46
xor r8d, r8d
mov rdx, qword [rsp + 0xd18]
mov rcx, qword [rsp + 0xd10]
call fcn.140096220
mov qword [rsp + 0x9a0], rax
cmp qword [rsp + 0x9a0], 0xffffffffffffffff
je 0x140162499
mov r9, qword [rsp + 0x9a0]
xor r8d, r8d
lea rdx, [rsp + 0x2da0]
lea rcx, [rsp + 0xd10]
call fcn.14019aaa0
mov rax, qword [rsp + 0x9a0]
inc rax
mov r9, 0xffffffffffffffff
mov r8, rax
lea rdx, [rsp + 0x2db0]
lea rcx, [rsp + 0xd10]
call fcn.14019aaa0
lea rax, [rsp + 0x2828]
lea rcx, [rsp + 0x2da0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2838]
lea rcx, [rsp + 0x2db0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
jmp 0x1401624f8
lea rax, [rsp + 0xd10]
mov qword [rsp + 0x1ff0], rax
mov qword [rsp + 0x26f8], 0
mov qword [rsp + 0x2700], 0
lea rax, [rsp + 0x2828]
mov rdi, rax
mov rsi, qword [rsp + 0x1ff0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2838]
lea rcx, [rsp + 0x26f8]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2828]
mov qword [rsp + 0x1ff8], rax
lea rax, [rsp + 0x2838]
mov qword [rsp + 0x2008], rax
lea rax, [rsp + 0x2418]
mov qword [rsp + 0x12c8], rax
lea rax, [rsp + 0x3a8]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x3a8], 0x1b6e1b1e
lea rax, [rsp + 0x3a8]
mov qword [rsp + 0x2000], rax
lea rax, [rsp + 0x2dc0]
mov rdi, rax
mov rsi, qword [rsp + 0x1ff8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2dd0]
lea rcx, [rsp + 0x2dc0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2dd0]
mov rcx, qword [rsp + 0x2000]
call fcn.1400977d0
mov dword [rsp + 0x7f8], eax
mov rax, qword [rsp + 0x12c8]
mov ecx, dword [rsp + 0x7f8]
mov dword [rax], ecx
mov rax, qword [rsp + 0x12c8]
mov eax, dword [rax]
mov dword [rsp + 0x808], eax
lea rax, [rsp + 0x2414]
mov qword [rsp + 0x12d0], rax
lea rax, [rsp + 0x3ac]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x3ac], 0x1b6e1b1e
lea rax, [rsp + 0x3ac]
mov qword [rsp + 0x2010], rax
lea rax, [rsp + 0x2de0]
mov rdi, rax
mov rsi, qword [rsp + 0x2008]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2df0]
lea rcx, [rsp + 0x2de0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2df0]
mov rcx, qword [rsp + 0x2010]
call fcn.1400977d0
mov dword [rsp + 0x800], eax
mov rax, qword [rsp + 0x12d0]
mov ecx, dword [rsp + 0x800]
mov dword [rax], ecx
mov rax, qword [rsp + 0x12d0]
mov eax, dword [rax]
mov dword [rsp + 0x80c], eax
mov r8d, dword [rsp + 0x808]
mov edx, dword [rsp + 0x80c]
lea rcx, [rsp + 0x12d8]
call fcn.140191150
mov qword [rsp + 0x578], rax
jmp 0x1401626cc
mov rax, qword [rsp + 0x9a8]
mov rax, qword [rax]
mov qword [rsp + 0x578], rax
jmp 0x1401626cc
mov qword [rsp + 0x578], 0
mov rax, qword [rsp + 0x578]
mov qword [rsp + 0x12d8], rax
mov rax, qword [rsp + 0x12d8]
mov qword [rsp + 0x580], rax
mov eax, dword [rsp + 0x140]
mov dword [rsp + 0x810], eax
mov rax, qword [rsp + 0x580]
mov qword [rsp + 0x2028], rax
mov eax, dword [rsp + 0x810]
mov dword [rsp + 0x818], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0x2018], rax
mov rax, qword [rsp + 0x2018]
mov qword [rsp + 0xd20], rax
mov byte [rsp + 0xd28], 0
mov rax, qword [rsp + 0xd20]
mov qword [rsp + 0x2020], rax
mov rax, qword [rsp + 0x2020]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rsp + 0xd28], 1
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x2030], rax
lea r9, [rsp + 0x2028]
lea r8, [rsp + 0x818]
lea rdx, [rsp + 0x32c0]
mov rcx, qword [rsp + 0x2030]
call fcn.140098320
nop
movzx eax, byte [rsp + 0xd28]
test eax, eax
je 0x1401627cc
mov rax, qword [rsp + 0xd20]
mov qword [rsp + 0x2038], rax
mov rax, qword [rsp + 0x2038]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rax, qword [rsp + 0x580]
mov qword [rsp + 0x12e0], rax
mov byte [rsp + 0xf9], 0
mov byte [rsp + 0xfa], 0
mov rax, qword [rsp + 0x2040]
mov qword [rsp + 0x2048], rax
mov byte [rsp + 0xfb], 1
mov byte [rsp + 0xfc], 0
movsxd rax, dword [rsp + 0x820]
mov qword [rsp + 0x2050], rax
mov byte [rsp + 0xfd], 1
mov byte [rsp + 0xfe], 0
movsxd rax, dword [rsp + 0x824]
mov qword [rsp + 0x2058], rax
mov byte [rsp + 0xff], 0
mov byte [rsp + 0x100], 1
mov eax, dword [rsp + 0x828]
mov qword [rsp + 0x2060], rax
cmp qword [rsp + 0x12e0], 0
jne 0x140162873
mov dword [rsp + 0x3b0], 0
jmp 0x1401628b1
mov rax, qword [rsp + 0x12e0]
mov qword [rsp + 0x2068], rax
mov r9, qword [rsp + 0x2048]
mov r8, qword [rsp + 0x2050]
mov rdx, qword [rsp + 0x2058]
mov rcx, qword [rsp + 0x2060]
call qword [rsp + 0x2068]
mov dword [rsp + 0x3b0], eax
mov eax, dword [rsp + 0x3b0]
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0xd0], 0
jge 0x140162907
mov byte [rsp + 0xa4], 0
lea rcx, [rsp + 0x1550]
call fcn.14018ddf0
nop
lea rcx, [rsp + 0x2620]
call fcn.14018ddf0
nop
lea rcx, [rsp + 0x1570]
call fcn.14018ddf0
movzx eax, byte [rsp + 0xa4]
jmp 0x1401650eb
lea rax, [rsp + 0x3928]
lea rcx, str.naQR_DLKCgq_W__
mov rdi, rax
mov rsi, rcx
mov ecx, 0x6a
rep movsb byte [rdi], byte [rsi]
mov eax, 2
imul rax, rax, 0x34
movzx eax, word [rsp + rax + 0x3928]
test eax, eax
je 0x140162945
mov dword [rsp + 0x3b4], 1
jmp 0x140162950
mov dword [rsp + 0x3b4], 0
movzx eax, byte [rsp + 0x3b4]
test eax, eax
je 0x1401629cb
mov dword [rsp + 0xc8], 0
jmp 0x140162979
mov eax, dword [rsp + 0xc8]
inc eax
mov dword [rsp + 0xc8], eax
cmp dword [rsp + 0xc8], 0x35
jge 0x1401629cb
movsxd rax, dword [rsp + 0xc8]
movzx eax, word [rsp + rax*2 + 0x3928]
mov dword [rsp + 0x82c], eax
mov eax, dword [rsp + 0xc8]
cdq
mov ecx, Ordinal_50
idiv ecx
mov eax, edx
add eax, 0x32
mov ecx, dword [rsp + 0x82c]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xc8]
mov word [rsp + rcx*2 + 0x3928], ax
jmp 0x140162969
lea rax, [rsp + 0x3928]
lea r8, [rsp + 0x1570]
mov rdx, rax
lea rcx, [rsp + 0x2ff8]
call fcn.140091b50
nop
lea rax, [rsp + 0x2ff8]
mov qword [rsp + 0x9b0], rax
mov rax, qword [rsp + 0x9b0]
mov qword [rsp + 0x12e8], rax
mov rax, qword [rsp + 0x9b0]
cmp qword [rax + 0x18], 7
jbe 0x140162a28
mov dword [rsp + 0x3b8], 1
jmp 0x140162a33
mov dword [rsp + 0x3b8], 0
movzx eax, byte [rsp + 0x3b8]
mov byte [rsp + 0xa5], al
movzx eax, byte [rsp + 0xa5]
test eax, eax
je 0x140162a71
mov rax, qword [rsp + 0x9b0]
mov rax, qword [rax]
mov qword [rsp + 0x2070], rax
mov rax, qword [rsp + 0x2070]
mov qword [rsp + 0x12e8], rax
mov rax, qword [rsp + 0x12e8]
mov qword [rsp + 0x2078], rax
mov rax, qword [rsp + 0x2078]
mov qword [rsp + 0x2080], rax
mov rax, qword [rsp + 0x2080]
mov qword [rsp + 0x21f8], rax
lea rax, [rsp + 0x2ec0]
mov qword [rsp + 0x2200], rax
mov dword [rsp + 0x830], 0x9988a8a
lea rax, [rsp + 0x2410]
mov qword [rsp + 0x12f0], rax
mov rax, qword [rsp + 0x12f0]
mov dword [rax], 0
mov rax, qword [rsp + 0x12f0]
mov eax, dword [rax]
mov dword [rsp + 0x840], eax
mov eax, dword [rsp + 0x830]
mov dword [rsp + 0x148], eax
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x834], eax
mov eax, dword [rsp + 0x834]
mov dword [rsp + 0x838], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0x12f8], rax
mov rax, qword [rsp + 0x12f8]
mov qword [rsp + 0x2088], rax
mov rax, qword [rsp + 0x2088]
mov qword [rsp + 0x25c0], rax
mov byte [rsp + 0x25c8], 1
mov rax, qword [rsp + 0x12f8]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockShared
nop
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x2090], rax
lea r8, [rsp + 0x838]
lea rdx, [rsp + 0x1310]
mov rcx, qword [rsp + 0x2090]
call fcn.140096f50
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x2098], rax
mov rax, qword [rsp + 0x2098]
add rax, 8
mov qword [rsp + 0x1300], rax
mov rax, qword [rsp + 0x28a0]
mov qword [rsp + 0x1308], rax
mov rax, qword [rsp + 0x1300]
mov qword [rsp + 0x1308], rax
mov rax, qword [rsp + 0x1300]
mov rax, qword [rax]
mov qword [rsp + 0x20a0], rax
mov r8, qword [rsp + 0x1308]
mov rdx, qword [rsp + 0x20a0]
lea rcx, [rsp + 0x20a8]
call fcn.14006f260
lea rax, [rsp + 0x20a8]
mov qword [rsp + 0x20b0], rax
mov rax, qword [rsp + 0x20b0]
mov rax, qword [rax]
cmp qword [rsp + 0x1310], rax
jne 0x140162c36
mov dword [rsp + 0x3bc], 1
jmp 0x140162c41
mov dword [rsp + 0x3bc], 0
movzx eax, byte [rsp + 0x3bc]
mov byte [rsp + 0xa6], al
movzx eax, byte [rsp + 0xa6]
test eax, eax
je 0x140162c6a
mov qword [rsp + 0x1318], 0
jmp 0x140162cd2
mov rax, qword [rsp + 0x1310]
add rax, 0x10
mov qword [rsp + 0x20b8], rax
mov rax, qword [rsp + 0x20b8]
mov qword [rsp + 0x20c0], rax
mov rax, qword [rsp + 0x20c0]
mov qword [rsp + 0x20c8], rax
mov rax, qword [rsp + 0x20c8]
mov qword [rsp + 0x20d0], rax
mov rax, qword [rsp + 0x20d0]
mov qword [rsp + 0x20d8], rax
mov rax, qword [rsp + 0x20d8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1318], rax
mov rax, qword [rsp + 0x1318]
mov qword [rsp + 0x20e8], rax
movzx eax, byte [rsp + 0x25c8]
test eax, eax
je 0x140162d0e
mov rax, qword [rsp + 0x25c0]
mov qword [rsp + 0x20e0], rax
mov rax, qword [rsp + 0x20e0]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockShared
mov rax, qword [rsp + 0x20e8]
mov qword [rsp + 0x5a8], rax
cmp qword [rsp + 0x5a8], 0
jne 0x140163b29
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x848], eax
mov eax, dword [rsp + 0x840]
mov dword [rsp + 0x3d0], eax
mov eax, dword [rsp + 0x848]
mov dword [rsp + 0x3f8], eax
mov dword [rsp + 0x850], 0
mov eax, dword [rsp + 0x850]
cmp dword [rsp + 0x3f8], eax
jne 0x140162d86
xor eax, eax
cmp eax, 1
je 0x140162d86
mov dword [rsp + 0x3c0], 1
jmp 0x140162d91
mov dword [rsp + 0x3c0], 0
movzx eax, byte [rsp + 0x3c0]
mov byte [rsp + 0xa7], al
movzx eax, byte [rsp + 0xa7]
test eax, eax
je 0x140162dbd
mov qword [rsp + 0x5a0], 0
jmp 0x140163a29
mov byte [rsp + 0x101], 1
mov qword [rsp + 0x1530], 0
mov qword [rsp + 0x1538], 0
mov rax, qword gs:[0x60]
mov qword [rsp + 0x20f0], rax
mov rax, qword [rsp + 0x20f0]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x20f8], rax
mov rax, qword [rsp + 0x20f8]
add rax, 0x10
mov qword [rsp + 0x9b8], rax
mov eax, 1
test eax, eax
je 0x140162e37
mov rax, qword [rsp + 0x9b8]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0x1320], rax
jmp 0x140162e4a
mov rax, qword [rsp + 0x9b8]
mov rax, qword [rax]
mov qword [rsp + 0x1320], rax
mov rax, qword [rsp + 0x1320]
mov qword [rsp + 0x1530], rax
mov rax, qword [rsp + 0x9b8]
mov qword [rsp + 0x1538], rax
lea rax, [rsp + 0x1530]
mov qword [rsp + 0x1328], rax
mov rax, qword [rsp + 0x1328]
mov rax, qword [rax]
mov qword [rsp + 0x2100], rax
mov rax, qword [rsp + 0x2100]
mov qword [rsp + 0x588], rax
mov rax, qword [rsp + 0x1328]
mov rax, qword [rax + 8]
mov qword [rsp + 0x2108], rax
mov rax, qword [rsp + 0x2108]
mov qword [rsp + 0x2110], rax
jmp 0x140162ed6
mov rax, qword [rsp + 0x588]
mov rax, qword [rax]
mov qword [rsp + 0x588], rax
mov rax, qword [rsp + 0x2110]
cmp qword [rsp + 0x588], rax
je 0x140162ef5
mov dword [rsp + 0x3c4], 1
jmp 0x140162f00
mov dword [rsp + 0x3c4], 0
movzx eax, byte [rsp + 0x3c4]
test eax, eax
je 0x140163a1d
xor eax, eax
mov qword [rsp + 0x2118], rax
mov rax, qword [rsp + 0x2118]
mov rcx, qword [rsp + 0x588]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x2120], rax
lea rax, [rsp + 0x2120]
mov qword [rsp + 0x1338], rax
mov dword [rsp + 0x854], 0
mov eax, dword [rsp + 0x854]
cmp dword [rsp + 0x3d0], eax
jne 0x140162f77
xor eax, eax
cmp eax, 1
je 0x140162f77
mov dword [rsp + 0x3c8], 1
jmp 0x140162f82
mov dword [rsp + 0x3c8], 0
movzx eax, byte [rsp + 0x3c8]
mov byte [rsp + 0xa8], al
movzx eax, byte [rsp + 0xa8]
test eax, eax
jne 0x1401632c1
mov rax, qword [rsp + 0x1338]
mov rax, qword [rax]
add rax, 0x58
mov qword [rsp + 0x2128], rax
mov rax, qword [rsp + 0x2128]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1330], rax
mov rax, qword [rsp + 0x1330]
mov qword [rsp + 0x2708], rax
mov rax, qword [rsp + 0x1330]
mov qword [rsp + 0x2130], rax
mov qword [rsp + 0x590], 0xffffffffffffffff
inc qword [rsp + 0x590]
mov rax, qword [rsp + 0x2130]
mov rcx, qword [rsp + 0x590]
cmp word [rax + rcx*2], 0
jne 0x140162ff8
mov rax, qword [rsp + 0x590]
mov qword [rsp + 0x2138], rax
mov rax, qword [rsp + 0x2138]
mov qword [rsp + 0x2710], rax
lea rax, [rsp + 0x2708]
mov qword [rsp + 0x2140], rax
lea rax, [rsp + 0x2e00]
mov rdi, rax
mov rsi, qword [rsp + 0x2140]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x3d0]
mov dword [rsp + 0x858], eax
lea rax, [rsp + 0x25d0]
lea rcx, [rsp + 0x2e00]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x858]
mov dword [rsp + 0x3e8], eax
lea rax, [rsp + 0x3d8]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x3d8], 0x1b6e1b1e
lea rax, [rsp + 0x3d8]
mov qword [rsp + 0x2148], rax
lea rax, [rsp + 0x2e10]
lea rcx, [rsp + 0x25d0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2e20]
lea rcx, [rsp + 0x2e10]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2e20]
mov rcx, qword [rsp + 0x2148]
call fcn.140097890
mov dword [rsp + 0x85c], eax
mov rax, qword [rsp + 0x25d8]
mov qword [rsp + 0x2150], rax
mov rax, qword [rsp + 0x2150]
sub rax, 4
mov qword [rsp + 0x2158], rax
mov r9, qword [rsp + 0x2158]
xor r8d, r8d
lea rdx, [rsp + 0x2e30]
lea rcx, [rsp + 0x25d0]
call fcn.14019ab70
lea rax, [rsp + 0x3dc]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x3dc], 0x1b6e1b1e
lea rax, [rsp + 0x3dc]
mov qword [rsp + 0x2160], rax
lea rax, [rsp + 0x2e40]
lea rcx, [rsp + 0x2e30]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2e50]
lea rcx, [rsp + 0x2e40]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2e50]
mov rcx, qword [rsp + 0x2160]
call fcn.140097890
mov dword [rsp + 0x864], eax
mov eax, dword [rsp + 0x85c]
mov dword [rsp + 0x860], eax
mov eax, dword [rsp + 0x860]
cmp dword [rsp + 0x3e8], eax
jne 0x14016321a
xor eax, eax
cmp eax, 1
je 0x14016321a
mov dword [rsp + 0x3e0], 1
jmp 0x140163225
mov dword [rsp + 0x3e0], 0
movzx eax, byte [rsp + 0x3e0]
mov byte [rsp + 0xa9], al
movzx eax, byte [rsp + 0xa9]
test eax, eax
jne 0x1401632a5
mov eax, dword [rsp + 0x864]
mov dword [rsp + 0x868], eax
mov eax, dword [rsp + 0x868]
cmp dword [rsp + 0x3e8], eax
jne 0x140163272
xor eax, eax
cmp eax, 1
je 0x140163272
mov dword [rsp + 0x3f0], 1
jmp 0x14016327d
mov dword [rsp + 0x3f0], 0
movzx eax, byte [rsp + 0x3f0]
mov byte [rsp + 0xaa], al
movzx eax, byte [rsp + 0xaa]
test eax, eax
jne 0x1401632a5
mov dword [rsp + 0x3f4], 1
jmp 0x1401632b0
mov dword [rsp + 0x3f4], 0
movzx eax, byte [rsp + 0x3f4]
test eax, eax
je 0x1401632c1
jmp 0x140162ec3
mov rax, qword [rsp + 0x1338]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x1340], rax
mov rax, qword [rsp + 0x1340]
mov qword [rsp + 0xa10], rax
mov rax, qword [rsp + 0x1340]
mov qword [rsp + 0x2168], rax
mov rax, qword [rsp + 0x2168]
mov qword [rsp + 0x1348], rax
mov rax, qword [rsp + 0x1348]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x1348]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0x2170], rax
mov eax, dword [rsp + 0x2170]
add rax, qword [rsp + 0xa10]
mov qword [rsp + 0x2178], rax
mov rax, qword [rsp + 0x2178]
mov qword [rsp + 0xa18], rax
mov eax, dword [rsp + 0x3f8]
mov dword [rsp + 0x86c], eax
mov eax, dword [rsp + 0x86c]
mov dword [rsp + 0x870], eax
lea rdx, [rsp + 0x3c90]
lea rcx, [rsp + 0xa10]
call fcn.1401906d0
lea rcx, [rsp + 0x37a0]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x3cb8]
lea rcx, [rsp + 0xa10]
call fcn.14018ec60
lea rcx, [rsp + 0x37c8]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x37f0]
lea rcx, [rsp + 0x37a0]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3820]
lea rcx, [rsp + 0x37c8]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
mov r9d, dword [rsp + 0x870]
lea r8, [rsp + 0x37f0]
lea rdx, [rsp + 0x3820]
lea rcx, [rsp + 0x3138]
call fcn.140097110
lea rdx, [rsp + 0x3ce0]
lea rcx, [rsp + 0xa10]
call fcn.1401906d0
mov qword [rsp + 0x1350], rax
mov rax, qword [rsp + 0x1350]
mov rax, qword [rax + 8]
cmp qword [rsp + 0x3140], rax
jne 0x140163476
mov rax, qword [rsp + 0x1350]
mov rax, qword [rax]
cmp qword [rsp + 0x3138], rax
jne 0x140163476
mov dword [rsp + 0x400], 1
jmp 0x140163481
mov dword [rsp + 0x400], 0
movzx eax, byte [rsp + 0x400]
mov byte [rsp + 0xab], al
movzx eax, byte [rsp + 0xab]
test eax, eax
je 0x1401634a1
jmp 0x140162ec3
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
and eax, 1
test eax, eax
jne 0x140163567
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
or eax, 1
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov edi, reloc.WLDAP32.dll_Ordinal_32
mov edi, edi
mov rcx, qword [rdx + rcx*8]
mov dword [rdi + rcx], eax
mov eax, 8
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
add rax, qword [rdx + rcx*8]
mov qword [rsp + 0x1360], rax
mov rax, qword [rsp + 0x1360]
mov qword [rsp + 0x1358], rax
mov rax, qword [rsp + 0x1358]
mov qword [rax], 0
mov rax, qword [rsp + 0x1358]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0x1360]
mov qword [rax + 0x10], 0
lea rax, [rsp + 0x3148]
mov qword [rsp + 0x1368], rax
mov rax, qword [rsp + 0x1368]
mov qword [rsp + 0x28a8], rax
mov rax, qword [rsp + 0x1368]
add rax, 0x10
mov qword [rsp + 0x9d0], rax
mov rax, qword [rsp + 0x9d0]
mov rax, qword [rax]
mov qword [rsp + 0x1388], rax
mov rax, qword [rsp + 0xa10]
mov qword [rsp + 0x2180], rax
mov rax, qword [rsp + 0x2180]
mov qword [rsp + 0x1370], rax
mov rax, qword [rsp + 0x1370]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x1370]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0x1378], rax
mov eax, dword [rsp + 0x1378]
add rax, qword [rsp + 0xa10]
mov qword [rsp + 0x1380], rax
mov eax, dword [rsp + 0x137c]
mov rcx, qword [rsp + 0x1380]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2188], rax
mov rax, qword [rsp + 0x1380]
cmp qword [rsp + 0x1388], rax
jb 0x140163656
mov rax, qword [rsp + 0x2188]
cmp qword [rsp + 0x1388], rax
jae 0x140163656
mov dword [rsp + 0x404], 1
jmp 0x140163661
mov dword [rsp + 0x404], 0
movzx eax, byte [rsp + 0x404]
mov byte [rsp + 0xac], al
movzx eax, byte [rsp + 0xac]
test eax, eax
je 0x140163a03
mov rax, qword [rsp + 0x9d0]
mov rax, qword [rax]
mov qword [rsp + 0x2190], rax
mov rax, qword [rsp + 0x2190]
mov qword [rsp + 0x1390], rax
lea rax, [rsp + 0x32d0]
mov qword [rsp + 0x9c0], rax
mov rax, qword [rsp + 0x9c0]
mov rcx, qword [rsp + 0x1390]
mov qword [rax], rcx
mov rax, qword [rsp + 0x1390]
mov qword [rsp + 0x2198], rax
mov qword [rsp + 0x598], 0xffffffffffffffff
inc qword [rsp + 0x598]
mov rax, qword [rsp + 0x2198]
mov rcx, qword [rsp + 0x598]
cmp byte [rax + rcx], 0
jne 0x1401636e2
mov rax, qword [rsp + 0x598]
mov qword [rsp + 0x21a0], rax
mov rax, qword [rsp + 0x9c0]
mov rcx, qword [rsp + 0x21a0]
mov qword [rax + 8], rcx
lea rax, [rsp + 0xd30]
mov rdi, rax
mov rsi, qword [rsp + 0x9c0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov r9b, reloc.WLDAP32.dll_Ordinal_46
xor r8d, r8d
mov rdx, qword [rsp + 0xd38]
mov rcx, qword [rsp + 0xd30]
call fcn.140096220
mov qword [rsp + 0x9c8], rax
cmp qword [rsp + 0x9c8], 0xffffffffffffffff
je 0x1401637f6
mov r9, qword [rsp + 0x9c8]
xor r8d, r8d
lea rdx, [rsp + 0x2e60]
lea rcx, [rsp + 0xd30]
call fcn.14019aaa0
mov rax, qword [rsp + 0x9c8]
inc rax
mov r9, 0xffffffffffffffff
mov r8, rax
lea rdx, [rsp + 0x2e70]
lea rcx, [rsp + 0xd30]
call fcn.14019aaa0
lea rax, [rsp + 0x2848]
lea rcx, [rsp + 0x2e60]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2858]
lea rcx, [rsp + 0x2e70]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
jmp 0x140163855
lea rax, [rsp + 0xd30]
mov qword [rsp + 0x21a8], rax
mov qword [rsp + 0x2718], 0
mov qword [rsp + 0x2720], 0
lea rax, [rsp + 0x2848]
mov rdi, rax
mov rsi, qword [rsp + 0x21a8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2858]
lea rcx, [rsp + 0x2718]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2848]
mov qword [rsp + 0x21b0], rax
lea rax, [rsp + 0x2858]
mov qword [rsp + 0x21c0], rax
lea rax, [rsp + 0x240c]
mov qword [rsp + 0x1398], rax
lea rax, [rsp + 0x408]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x408], 0x1b6e1b1e
lea rax, [rsp + 0x408]
mov qword [rsp + 0x21b8], rax
lea rax, [rsp + 0x2e80]
mov rdi, rax
mov rsi, qword [rsp + 0x21b0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2e90]
lea rcx, [rsp + 0x2e80]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2e90]
mov rcx, qword [rsp + 0x21b8]
call fcn.1400977d0
mov dword [rsp + 0x878], eax
mov rax, qword [rsp + 0x1398]
mov ecx, dword [rsp + 0x878]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1398]
mov eax, dword [rax]
mov dword [rsp + 0x888], eax
lea rax, [rsp + 0x2408]
mov qword [rsp + 0x13a0], rax
lea rax, [rsp + 0x40c]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x40c], 0x1b6e1b1e
lea rax, [rsp + 0x40c]
mov qword [rsp + 0x21c8], rax
lea rax, [rsp + 0x2ea0]
mov rdi, rax
mov rsi, qword [rsp + 0x21c0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2eb0]
lea rcx, [rsp + 0x2ea0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2eb0]
mov rcx, qword [rsp + 0x21c8]
call fcn.1400977d0
mov dword [rsp + 0x880], eax
mov rax, qword [rsp + 0x13a0]
mov ecx, dword [rsp + 0x880]
mov dword [rax], ecx
mov rax, qword [rsp + 0x13a0]
mov eax, dword [rax]
mov dword [rsp + 0x88c], eax
mov r8d, dword [rsp + 0x888]
mov edx, dword [rsp + 0x88c]
lea rcx, [rsp + 0x13a8]
call fcn.140191150
mov qword [rsp + 0x5a0], rax
jmp 0x140163a29
mov rax, qword [rsp + 0x9d0]
mov rax, qword [rax]
mov qword [rsp + 0x5a0], rax
jmp 0x140163a29
mov qword [rsp + 0x5a0], 0
mov rax, qword [rsp + 0x5a0]
mov qword [rsp + 0x13a8], rax
mov rax, qword [rsp + 0x13a8]
mov qword [rsp + 0x5a8], rax
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x890], eax
mov rax, qword [rsp + 0x5a8]
mov qword [rsp + 0x21e0], rax
mov eax, dword [rsp + 0x890]
mov dword [rsp + 0x898], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0x21d0], rax
mov rax, qword [rsp + 0x21d0]
mov qword [rsp + 0xd40], rax
mov byte [rsp + 0xd48], 0
mov rax, qword [rsp + 0xd40]
mov qword [rsp + 0x21d8], rax
mov rax, qword [rsp + 0x21d8]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rsp + 0xd48], 1
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x21e8], rax
lea r9, [rsp + 0x21e0]
lea r8, [rsp + 0x898]
lea rdx, [rsp + 0x3270]
mov rcx, qword [rsp + 0x21e8]
call fcn.140098320
nop
movzx eax, byte [rsp + 0xd48]
test eax, eax
je 0x140163b29
mov rax, qword [rsp + 0xd40]
mov qword [rsp + 0x21f0], rax
mov rax, qword [rsp + 0x21f0]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rax, qword [rsp + 0x5a8]
mov qword [rsp + 0x13b0], rax
mov byte [rsp + 0x102], 0
mov byte [rsp + 0x103], 0
mov rax, qword [rsp + 0x21f8]
mov qword [rsp + 0x2208], rax
mov byte [rsp + 0x104], 0
mov byte [rsp + 0x105], 0
mov rax, qword [rsp + 0x2200]
mov qword [rsp + 0x2210], rax
cmp qword [rsp + 0x13b0], 0
jne 0x140163b86
jmp 0x140163bae
mov rax, qword [rsp + 0x13b0]
mov qword [rsp + 0x2218], rax
mov rdx, qword [rsp + 0x2208]
mov rcx, qword [rsp + 0x2210]
call qword [rsp + 0x2218]
nop
lea rax, [rsp + 0x2ec0]
mov qword [rsp + 0x2228], rax
mov dword [rsp + 0x8a0], 0x350330af
mov eax, dword [rsp + 0x8a0]
mov dword [rsp + 0x8a8], eax
mov eax, dword [rsp + 0x8a8]
mov dword [rsp + 0x8b0], eax
mov eax, dword [rsp + 0x8b0]
mov dword [rsp + 0x1498], eax
mov dword [rsp + 0x149c], 0
lea rax, [rsp + 0x14a0]
mov qword [rsp + 0x2220], rax
mov dword [rsp + 0x8e4], 0x49
mov dword [rsp + 0x8e0], 0x89
mov dword [rsp + 0x8dc], 0xca
mov dword [rsp + 0x8d8], 0x48
mov dword [rsp + 0x8d4], 0xc7
mov dword [rsp + 0x8d0], 0xc0
mov dword [rsp + 0x8cc], 0x3f
mov dword [rsp + 0x8c8], 0x10
mov dword [rsp + 0x8c4], 0
mov dword [rsp + 0x8c0], 0
mov dword [rsp + 0x8bc], 0xf
mov dword [rsp + 0x8b8], 5
mov dword [rsp + 0x8b4], 0xc3
lea rax, [rsp + 0x8b4]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x8b8]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x8bc]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x8c0]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x8c4]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x8c8]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x8cc]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x8d0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x8d4]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x8d8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x8dc]
lea r8, [rsp + 0x8e0]
lea rdx, [rsp + 0x8e4]
mov rcx, qword [rsp + 0x2220]
call fcn.14008f900
mov byte [rsp + 0x106], 0
mov byte [rsp + 0x107], 0
mov rax, qword [rsp + 0x2228]
mov qword [rsp + 0x23e8], rax
mov eax, dword [rsp + 0x1498]
mov dword [rsp + 0x8e8], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0x13b8], rax
mov rax, qword [rsp + 0x13b8]
mov qword [rsp + 0x2230], rax
mov rax, qword [rsp + 0x2230]
mov qword [rsp + 0x25e0], rax
mov byte [rsp + 0x25e8], 1
mov rax, qword [rsp + 0x13b8]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockShared
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x2238], rax
lea r8, [rsp + 0x8e8]
lea rdx, [rsp + 0x13d0]
mov rcx, qword [rsp + 0x2238]
call fcn.140096f50
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x2240], rax
mov rax, qword [rsp + 0x2240]
add rax, 8
mov qword [rsp + 0x13c0], rax
mov rax, qword [rsp + 0x2f90]
mov qword [rsp + 0x13c8], rax
mov rax, qword [rsp + 0x13c0]
mov qword [rsp + 0x13c8], rax
mov rax, qword [rsp + 0x13c0]
mov rax, qword [rax]
mov qword [rsp + 0x2248], rax
mov r8, qword [rsp + 0x13c8]
mov rdx, qword [rsp + 0x2248]
lea rcx, [rsp + 0x2250]
call fcn.14006f260
lea rax, [rsp + 0x2250]
mov qword [rsp + 0x2258], rax
mov rax, qword [rsp + 0x2258]
mov rax, qword [rax]
cmp qword [rsp + 0x13d0], rax
jne 0x140163e92
mov dword [rsp + 0x410], 1
jmp 0x140163e9d
mov dword [rsp + 0x410], 0
movzx eax, byte [rsp + 0x410]
mov byte [rsp + 0xad], al
movzx eax, byte [rsp + 0xad]
test eax, eax
je 0x140163ec6
mov qword [rsp + 0x13d8], 0
jmp 0x140163f2e
mov rax, qword [rsp + 0x13d0]
add rax, 0x10
mov qword [rsp + 0x2260], rax
mov rax, qword [rsp + 0x2260]
mov qword [rsp + 0x2268], rax
mov rax, qword [rsp + 0x2268]
mov qword [rsp + 0x2270], rax
mov rax, qword [rsp + 0x2270]
mov qword [rsp + 0x2278], rax
mov rax, qword [rsp + 0x2278]
mov qword [rsp + 0x2280], rax
mov rax, qword [rsp + 0x2280]
mov rax, qword [rax + 8]
mov qword [rsp + 0x13d8], rax
mov rax, qword [rsp + 0x13d8]
mov qword [rsp + 0x2290], rax
movzx eax, byte [rsp + 0x25e8]
test eax, eax
je 0x140163f6a
mov rax, qword [rsp + 0x25e0]
mov qword [rsp + 0x2288], rax
mov rax, qword [rsp + 0x2288]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockShared
mov rax, qword [rsp + 0x2290]
mov qword [rsp + 0x13e0], rax
cmp qword [rsp + 0x13e0], 0
je 0x140163faa
mov rax, qword [rsp + 0x13e0]
mov eax, dword [rax + 4]
mov dword [rsp + 0x8f0], eax
mov eax, dword [rsp + 0x8f0]
mov dword [rsp + 0x149c], eax
jmp 0x140164e46
lea rax, [rsp + 0x2404]
mov qword [rsp + 0x13e8], rax
mov rax, qword [rsp + 0x13e8]
mov dword [rax], 0
mov rax, qword [rsp + 0x13e8]
mov eax, dword [rax]
mov dword [rsp + 0x900], eax
lea rax, [rsp + 0x2400]
mov qword [rsp + 0x13f0], rax
mov eax, dword [rsp + 0x1498]
mov dword [rsp + 0x8f8], eax
mov rax, qword [rsp + 0x13f0]
mov ecx, dword [rsp + 0x8f8]
mov dword [rax], ecx
mov rax, qword [rsp + 0x13f0]
mov eax, dword [rax]
mov dword [rsp + 0x904], eax
mov eax, dword [rsp + 0x900]
mov dword [rsp + 0x420], eax
mov eax, dword [rsp + 0x904]
mov dword [rsp + 0x448], eax
mov dword [rsp + 0x908], 0
mov eax, dword [rsp + 0x908]
cmp dword [rsp + 0x448], eax
jne 0x140164064
xor eax, eax
cmp eax, 1
je 0x140164064
mov dword [rsp + 0x414], 1
jmp 0x14016406f
mov dword [rsp + 0x414], 0
movzx eax, byte [rsp + 0x414]
mov byte [rsp + 0xae], al
movzx eax, byte [rsp + 0xae]
test eax, eax
je 0x14016409b
mov qword [rsp + 0x5c8], 0
jmp 0x140164d07
mov byte [rsp + 0x108], 1
mov qword [rsp + 0x1540], 0
mov qword [rsp + 0x1548], 0
mov rax, qword gs:[0x60]
mov qword [rsp + 0x2298], rax
mov rax, qword [rsp + 0x2298]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x22a0], rax
mov rax, qword [rsp + 0x22a0]
add rax, 0x10
mov qword [rsp + 0x9d8], rax
mov eax, 1
test eax, eax
je 0x140164115
mov rax, qword [rsp + 0x9d8]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0x13f8], rax
jmp 0x140164128
mov rax, qword [rsp + 0x9d8]
mov rax, qword [rax]
mov qword [rsp + 0x13f8], rax
mov rax, qword [rsp + 0x13f8]
mov qword [rsp + 0x1540], rax
mov rax, qword [rsp + 0x9d8]
mov qword [rsp + 0x1548], rax
lea rax, [rsp + 0x1540]
mov qword [rsp + 0x1400], rax
mov rax, qword [rsp + 0x1400]
mov rax, qword [rax]
mov qword [rsp + 0x22a8], rax
mov rax, qword [rsp + 0x22a8]
mov qword [rsp + 0x5b0], rax
mov rax, qword [rsp + 0x1400]
mov rax, qword [rax + 8]
mov qword [rsp + 0x22b0], rax
mov rax, qword [rsp + 0x22b0]
mov qword [rsp + 0x22b8], rax
jmp 0x1401641b4
mov rax, qword [rsp + 0x5b0]
mov rax, qword [rax]
mov qword [rsp + 0x5b0], rax
mov rax, qword [rsp + 0x22b8]
cmp qword [rsp + 0x5b0], rax
je 0x1401641d3
mov dword [rsp + 0x418], 1
jmp 0x1401641de
mov dword [rsp + 0x418], 0
movzx eax, byte [rsp + 0x418]
test eax, eax
je 0x140164cfb
xor eax, eax
mov qword [rsp + 0x22c0], rax
mov rax, qword [rsp + 0x22c0]
mov rcx, qword [rsp + 0x5b0]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x22c8], rax
lea rax, [rsp + 0x22c8]
mov qword [rsp + 0x1410], rax
mov dword [rsp + 0x90c], 0
mov eax, dword [rsp + 0x90c]
cmp dword [rsp + 0x420], eax
jne 0x140164255
xor eax, eax
cmp eax, 1
je 0x140164255
mov dword [rsp + 0x41c], 1
jmp 0x140164260
mov dword [rsp + 0x41c], 0
movzx eax, byte [rsp + 0x41c]
mov byte [rsp + 0xaf], al
movzx eax, byte [rsp + 0xaf]
test eax, eax
jne 0x14016459f
mov rax, qword [rsp + 0x1410]
mov rax, qword [rax]
add rax, 0x58
mov qword [rsp + 0x22d0], rax
mov rax, qword [rsp + 0x22d0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1408], rax
mov rax, qword [rsp + 0x1408]
mov qword [rsp + 0x2648], rax
mov rax, qword [rsp + 0x1408]
mov qword [rsp + 0x22d8], rax
mov qword [rsp + 0x5b8], 0xffffffffffffffff
inc qword [rsp + 0x5b8]
mov rax, qword [rsp + 0x22d8]
mov rcx, qword [rsp + 0x5b8]
cmp word [rax + rcx*2], 0
jne 0x1401642d6
mov rax, qword [rsp + 0x5b8]
mov qword [rsp + 0x22e0], rax
mov rax, qword [rsp + 0x22e0]
mov qword [rsp + 0x2650], rax
lea rax, [rsp + 0x2648]
mov qword [rsp + 0x22e8], rax
lea rax, [rsp + 0x2ed0]
mov rdi, rax
mov rsi, qword [rsp + 0x22e8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x420]
mov dword [rsp + 0x910], eax
lea rax, [rsp + 0x25f0]
lea rcx, [rsp + 0x2ed0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x910]
mov dword [rsp + 0x438], eax
lea rax, [rsp + 0x428]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x428], 0x1b6e1b1e
lea rax, [rsp + 0x428]
mov qword [rsp + 0x22f0], rax
lea rax, [rsp + 0x2ee0]
lea rcx, [rsp + 0x25f0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2ef0]
lea rcx, [rsp + 0x2ee0]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2ef0]
mov rcx, qword [rsp + 0x22f0]
call fcn.140097890
mov dword [rsp + 0x914], eax
mov rax, qword [rsp + 0x25f8]
mov qword [rsp + 0x22f8], rax
mov rax, qword [rsp + 0x22f8]
sub rax, 4
mov qword [rsp + 0x2300], rax
mov r9, qword [rsp + 0x2300]
xor r8d, r8d
lea rdx, [rsp + 0x2f00]
lea rcx, [rsp + 0x25f0]
call fcn.14019ab70
lea rax, [rsp + 0x42c]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x42c], 0x1b6e1b1e
lea rax, [rsp + 0x42c]
mov qword [rsp + 0x2308], rax
lea rax, [rsp + 0x2f10]
lea rcx, [rsp + 0x2f00]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2f20]
lea rcx, [rsp + 0x2f10]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2f20]
mov rcx, qword [rsp + 0x2308]
call fcn.140097890
mov dword [rsp + 0x91c], eax
mov eax, dword [rsp + 0x914]
mov dword [rsp + 0x918], eax
mov eax, dword [rsp + 0x918]
cmp dword [rsp + 0x438], eax
jne 0x1401644f8
xor eax, eax
cmp eax, 1
je 0x1401644f8
mov dword [rsp + 0x430], 1
jmp 0x140164503
mov dword [rsp + 0x430], 0
movzx eax, byte [rsp + 0x430]
mov byte [rsp + 0xb0], al
movzx eax, byte [rsp + 0xb0]
test eax, eax
jne 0x140164583
mov eax, dword [rsp + 0x91c]
mov dword [rsp + 0x920], eax
mov eax, dword [rsp + 0x920]
cmp dword [rsp + 0x438], eax
jne 0x140164550
xor eax, eax
cmp eax, 1
je 0x140164550
mov dword [rsp + 0x440], 1
jmp 0x14016455b
mov dword [rsp + 0x440], 0
movzx eax, byte [rsp + 0x440]
mov byte [rsp + 0xb1], al
movzx eax, byte [rsp + 0xb1]
test eax, eax
jne 0x140164583
mov dword [rsp + 0x444], 1
jmp 0x14016458e
mov dword [rsp + 0x444], 0
movzx eax, byte [rsp + 0x444]
test eax, eax
je 0x14016459f
jmp 0x1401641a1
mov rax, qword [rsp + 0x1410]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x1418], rax
mov rax, qword [rsp + 0x1418]
mov qword [rsp + 0xa00], rax
mov rax, qword [rsp + 0x1418]
mov qword [rsp + 0x2310], rax
mov rax, qword [rsp + 0x2310]
mov qword [rsp + 0x1420], rax
mov rax, qword [rsp + 0x1420]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x1420]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0x2318], rax
mov eax, dword [rsp + 0x2318]
add rax, qword [rsp + 0xa00]
mov qword [rsp + 0x2320], rax
mov rax, qword [rsp + 0x2320]
mov qword [rsp + 0xa08], rax
mov eax, dword [rsp + 0x448]
mov dword [rsp + 0x924], eax
mov eax, dword [rsp + 0x924]
mov dword [rsp + 0x928], eax
lea rdx, [rsp + 0x3d08]
lea rcx, [rsp + 0xa00]
call fcn.1401906d0
lea rcx, [rsp + 0x3850]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x3d30]
lea rcx, [rsp + 0xa00]
call fcn.14018ec60
lea rcx, [rsp + 0x3878]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x38a0]
lea rcx, [rsp + 0x3850]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x38d0]
lea rcx, [rsp + 0x3878]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_41
rep movsb byte [rdi], byte [rsi]
mov r9d, dword [rsp + 0x928]
lea r8, [rsp + 0x38a0]
lea rdx, [rsp + 0x38d0]
lea rcx, [rsp + 0x3160]
call fcn.140097110
lea rdx, [rsp + 0x3d58]
lea rcx, [rsp + 0xa00]
call fcn.1401906d0
mov qword [rsp + 0x1428], rax
mov rax, qword [rsp + 0x1428]
mov rax, qword [rax + 8]
cmp qword [rsp + 0x3168], rax
jne 0x140164754
mov rax, qword [rsp + 0x1428]
mov rax, qword [rax]
cmp qword [rsp + 0x3160], rax
jne 0x140164754
mov dword [rsp + 0x450], 1
jmp 0x14016475f
mov dword [rsp + 0x450], 0
movzx eax, byte [rsp + 0x450]
mov byte [rsp + 0xb2], al
movzx eax, byte [rsp + 0xb2]
test eax, eax
je 0x14016477f
jmp 0x1401641a1
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
and eax, 1
test eax, eax
jne 0x140164845
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rcx + rax]
or eax, 1
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
mov edi, reloc.WLDAP32.dll_Ordinal_32
mov edi, edi
mov rcx, qword [rdx + rcx*8]
mov dword [rdi + rcx], eax
mov eax, 8
mov eax, eax
mov ecx, dword [0x1404d6060]
mov rdx, qword gs:[0x58]
add rax, qword [rdx + rcx*8]
mov qword [rsp + 0x1438], rax
mov rax, qword [rsp + 0x1438]
mov qword [rsp + 0x1430], rax
mov rax, qword [rsp + 0x1430]
mov qword [rax], 0
mov rax, qword [rsp + 0x1430]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0x1438]
mov qword [rax + 0x10], 0
lea rax, [rsp + 0x3170]
mov qword [rsp + 0x1440], rax
mov rax, qword [rsp + 0x1440]
mov qword [rsp + 0x2f98], rax
mov rax, qword [rsp + 0x1440]
add rax, 0x10
mov qword [rsp + 0x9f0], rax
mov rax, qword [rsp + 0x9f0]
mov rax, qword [rax]
mov qword [rsp + 0x1460], rax
mov rax, qword [rsp + 0xa00]
mov qword [rsp + 0x2328], rax
mov rax, qword [rsp + 0x2328]
mov qword [rsp + 0x1448], rax
mov rax, qword [rsp + 0x1448]
mov eax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x1448]
mov rax, qword [rcx + rax + 0x88]
mov qword [rsp + 0x1450], rax
mov eax, dword [rsp + 0x1450]
add rax, qword [rsp + 0xa00]
mov qword [rsp + 0x1458], rax
mov eax, dword [rsp + 0x1454]
mov rcx, qword [rsp + 0x1458]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2330], rax
mov rax, qword [rsp + 0x1458]
cmp qword [rsp + 0x1460], rax
jb 0x140164934
mov rax, qword [rsp + 0x2330]
cmp qword [rsp + 0x1460], rax
jae 0x140164934
mov dword [rsp + 0x454], 1
jmp 0x14016493f
mov dword [rsp + 0x454], 0
movzx eax, byte [rsp + 0x454]
mov byte [rsp + 0xb3], al
movzx eax, byte [rsp + 0xb3]
test eax, eax
je 0x140164ce1
mov rax, qword [rsp + 0x9f0]
mov rax, qword [rax]
mov qword [rsp + 0x2338], rax
mov rax, qword [rsp + 0x2338]
mov qword [rsp + 0x1468], rax
lea rax, [rsp + 0x31d0]
mov qword [rsp + 0x9e0], rax
mov rax, qword [rsp + 0x9e0]
mov rcx, qword [rsp + 0x1468]
mov qword [rax], rcx
mov rax, qword [rsp + 0x1468]
mov qword [rsp + 0x2340], rax
mov qword [rsp + 0x5c0], 0xffffffffffffffff
inc qword [rsp + 0x5c0]
mov rax, qword [rsp + 0x2340]
mov rcx, qword [rsp + 0x5c0]
cmp byte [rax + rcx], 0
jne 0x1401649c0
mov rax, qword [rsp + 0x5c0]
mov qword [rsp + 0x2348], rax
mov rax, qword [rsp + 0x9e0]
mov rcx, qword [rsp + 0x2348]
mov qword [rax + 8], rcx
lea rax, [rsp + 0xd50]
mov rdi, rax
mov rsi, qword [rsp + 0x9e0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov r9b, reloc.WLDAP32.dll_Ordinal_46
xor r8d, r8d
mov rdx, qword [rsp + 0xd58]
mov rcx, qword [rsp + 0xd50]
call fcn.140096220
mov qword [rsp + 0x9e8], rax
cmp qword [rsp + 0x9e8], 0xffffffffffffffff
je 0x140164ad4
mov r9, qword [rsp + 0x9e8]
xor r8d, r8d
lea rdx, [rsp + 0x2f30]
lea rcx, [rsp + 0xd50]
call fcn.14019aaa0
mov rax, qword [rsp + 0x9e8]
inc rax
mov r9, 0xffffffffffffffff
mov r8, rax
lea rdx, [rsp + 0x2f40]
lea rcx, [rsp + 0xd50]
call fcn.14019aaa0
lea rax, [rsp + 0x2868]
lea rcx, [rsp + 0x2f30]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2878]
lea rcx, [rsp + 0x2f40]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
jmp 0x140164b33
lea rax, [rsp + 0xd50]
mov qword [rsp + 0x2350], rax
mov qword [rsp + 0x2728], 0
mov qword [rsp + 0x2730], 0
lea rax, [rsp + 0x2868]
mov rdi, rax
mov rsi, qword [rsp + 0x2350]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2878]
lea rcx, [rsp + 0x2728]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2868]
mov qword [rsp + 0x2358], rax
lea rax, [rsp + 0x2878]
mov qword [rsp + 0x2368], rax
lea rax, [rsp + 0x23fc]
mov qword [rsp + 0x1470], rax
lea rax, [rsp + 0x458]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x458], 0x1b6e1b1e
lea rax, [rsp + 0x458]
mov qword [rsp + 0x2360], rax
lea rax, [rsp + 0x2f50]
mov rdi, rax
mov rsi, qword [rsp + 0x2358]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2f60]
lea rcx, [rsp + 0x2f50]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2f60]
mov rcx, qword [rsp + 0x2360]
call fcn.1400977d0
mov dword [rsp + 0x930], eax
mov rax, qword [rsp + 0x1470]
mov ecx, dword [rsp + 0x930]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1470]
mov eax, dword [rax]
mov dword [rsp + 0x940], eax
lea rax, [rsp + 0x23f8]
mov qword [rsp + 0x1478], rax
lea rax, [rsp + 0x45c]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov dword [rsp + 0x45c], 0x1b6e1b1e
lea rax, [rsp + 0x45c]
mov qword [rsp + 0x2370], rax
lea rax, [rsp + 0x2f70]
mov rdi, rax
mov rsi, qword [rsp + 0x2368]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2f80]
lea rcx, [rsp + 0x2f70]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2f80]
mov rcx, qword [rsp + 0x2370]
call fcn.1400977d0
mov dword [rsp + 0x938], eax
mov rax, qword [rsp + 0x1478]
mov ecx, dword [rsp + 0x938]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1478]
mov eax, dword [rax]
mov dword [rsp + 0x944], eax
mov r8d, dword [rsp + 0x940]
mov edx, dword [rsp + 0x944]
lea rcx, [rsp + 0x9f8]
call fcn.140191150
mov qword [rsp + 0x5c8], rax
jmp 0x140164d07
mov rax, qword [rsp + 0x9f0]
mov rax, qword [rax]
mov qword [rsp + 0x5c8], rax
jmp 0x140164d07
mov qword [rsp + 0x5c8], 0
mov rax, qword [rsp + 0x5c8]
mov qword [rsp + 0x9f8], rax
mov rax, qword [rsp + 0x2fa0]
mov qword [rsp + 0x1480], rax
mov rax, qword [rsp + 0x9f8]
mov qword [rsp + 0x1480], rax
mov eax, dword [rsp + 0x1498]
mov dword [rsp + 0x948], eax
mov rax, qword [rsp + 0x1480]
mov qword [rsp + 0x2388], rax
mov eax, dword [rsp + 0x948]
mov dword [rsp + 0x950], eax
lea rax, [0x1404d0cf0]
mov qword [rsp + 0x2378], rax
mov rax, qword [rsp + 0x2378]
mov qword [rsp + 0xd60], rax
mov byte [rsp + 0xd68], 0
mov rax, qword [rsp + 0xd60]
mov qword [rsp + 0x2380], rax
mov rax, qword [rsp + 0x2380]
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rsp + 0xd68], 1
lea rax, [0x1404d0cf0]
add rax, 8
mov qword [rsp + 0x2390], rax
lea r9, [rsp + 0x2388]
lea r8, [rsp + 0x950]
lea rdx, [rsp + 0x31e0]
mov rcx, qword [rsp + 0x2390]
call fcn.140098320
movzx eax, byte [rsp + 0xd68]
test eax, eax
je 0x140164e16
mov rax, qword [rsp + 0xd60]
mov qword [rsp + 0x2398], rax
mov rax, qword [rsp + 0x2398]
mov rcx, rax
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rax, qword [rsp + 0x9f8]
mov qword [rsp + 0x23a0], rax
mov rax, qword [rsp + 0x23a0]
mov eax, dword [rax + 4]
mov dword [rsp + 0x958], eax
mov eax, dword [rsp + 0x958]
mov dword [rsp + 0x149c], eax
lea rax, [rsp + 0x14a0]
mov qword [rsp + 0x23a8], rax
mov eax, dword [rsp + 0x149c]
mov dword [rsp + 0x960], eax
mov rax, qword [rsp + 0x23a8]
add rax, 0x11
mov qword [rsp + 0x23b0], rax
mov eax, 6
mov rcx, qword [rsp + 0x23b0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x23b8], rax
mov rax, qword [rsp + 0x23b8]
mov ecx, dword [rsp + 0x960]
mov dword [rax], ecx
lea rax, [rsp + 0x14a0]
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x150]
add rax, 0x10
mov qword [rsp + 0x2fa8], rax
mov rax, qword [0x1404d0cd8]
mov qword [rsp + 0x23c0], rax
mov qword [rsp + 0x1488], 0
mov qword [rsp + 0x23c8], 0xd
mov rax, qword [rsp + 0x23c0]
mov qword [rsp + 0x23d0], rax
mov eax, 0x3000
and eax, 0xffffffc0
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x23c8]
xor r8d, r8d
lea rdx, [rsp + 0x1488]
mov rcx, 0xffffffffffffffff
call qword [rsp + 0x23d0]
mov dword [rsp + 0x968], eax
cmp dword [rsp + 0x968], 0
jl 0x140164f57
mov rax, qword [rsp + 0x1488]
mov qword [rsp + 0x1490], rax
jmp 0x140164f63
mov qword [rsp + 0x1490], 0
mov rax, qword [rsp + 0x1490]
mov qword [rsp + 0x23d8], rax
mov rax, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x23d8]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x150]
cmp qword [rax + 8], 0
jne 0x140164f98
jmp 0x140164fe1
mov rax, qword [rsp + 0x150]
add rax, 0x11
mov qword [rsp + 0x23e0], rax
mov rax, qword [rsp + 0x150]
mov rax, qword [rax + 8]
mov rdi, rax
mov rsi, qword [rsp + 0x23e0]
mov ecx, reloc.WS2_32.dll_listen
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x150]
mov rcx, qword [rcx + 8]
mov qword [rax], rcx
mov rax, qword [rsp + 0x14a0]
mov qword [rsp + 0x23f0], rax
mov rcx, qword [rsp + 0x23e8]
call qword [rsp + 0x23f0]
mov dword [rsp + 0x96c], eax
lea rax, [rsp + 0x14a0]
mov rcx, rax
call fcn.1400a0db0
mov eax, dword [rsp + 0x96c]
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0xd0], 0xc000010e
jne 0x14016507b
mov byte [rsp + 0xb4], 1
lea rcx, [rsp + 0x2ff8]
call fcn.14018ddf0
nop
lea rcx, [rsp + 0x1550]
call fcn.14018ddf0
nop
lea rcx, [rsp + 0x2620]
call fcn.14018ddf0
nop
lea rcx, [rsp + 0x1570]
call fcn.14018ddf0
movzx eax, byte [rsp + 0xb4]
jmp 0x1401650eb
cmp dword [rsp + 0xd0], 0
jl 0x140165092
mov dword [rsp + 0x460], 1
jmp 0x14016509d
mov dword [rsp + 0x460], 0
movzx eax, byte [rsp + 0x460]
mov byte [rsp + 0xb5], al
lea rcx, [rsp + 0x2ff8]
call fcn.14018ddf0
nop
lea rcx, [rsp + 0x1550]
call fcn.14018ddf0
nop
lea rcx, [rsp + 0x2620]
call fcn.14018ddf0
nop
lea rcx, [rsp + 0x1570]
call fcn.14018ddf0
movzx eax, byte [rsp + 0xb5]
add rsp, 0x3dd8
pop rdi
pop rsi
ret