Function at 0x14013d460
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x378
mov qword [rsp + 0x2f0], 0xfffffffffffffffe
mov rax, qword [0x1402a15c0]
xor rax, rsp
mov qword [rsp + 0x360], rax
mov rax, qword [rsp + 0x3b8]
mov rcx, qword [rsp + 0x3a8]
add rcx, rax
mov rax, qword [rsp + 0x3a0]
cmp rcx, qword [rax + 0x208]
jbe 0x14013d4e5
mov r8, qword [rsp + 0x3a0]
lea rdx, [0x1402326c0]
mov ecx, 1
call fcn.1400dc610
mov rax, qword [rsp + 0x3b8]
jmp 0x14013eaf2
mov rax, qword [rsp + 0x398]
cmp dword [rax + 4], 0
je 0x14013d58d
mov byte [rsp + 0x68], reloc.OLEAUT32.dll_VariantTimeToSystemTime
mov byte [rsp + 0x69], 0x40
mov byte [rsp + 0x6a], 0
mov byte [rsp + 0x6b], 0x50
mov byte [rsp + 0x6c], 0x1f
mov byte [rsp + 0x6d], 0xc7
mov byte [rsp + 0x6e], 6
mov byte [rsp + 0x6f], WSACleanup
mov byte [rsp + 0x70], 0
mov byte [rsp + 0x71], reloc.WS2_32.dll_gethostbyname
mov byte [rsp + 0x72], reloc.WS2_32.dll_select
mov byte [rsp + 0x73], reloc.OLEAUT32.dll_VariantTimeToSystemTime
mov byte [rsp + 0x74], 0xff
mov byte [rsp + 0x75], 0xff
mov byte [rsp + 0x76], 0x50
mov byte [rsp + 0x77], reloc.OLEAUT32.dll_VariantTimeToSystemTime
mov byte [rsp + 0x78], 0
mov byte [rsp + 0x79], 0
mov byte [rsp + 0x7a], 0x50
mov byte [rsp + 0x7b], 0xcb
mov rcx, qword [rsp + 0x3b0]
call fcn.140133220
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
lea rdx, [rsp + 0x68]
mov rcx, qword [rsp + 0x3b0]
call fcn.1400a8d30
mov rax, qword [rsp + 0x3b8]
jmp 0x14013eaf2
mov eax, dword [rsp + 0x3b8]
mov dword [rsp + 0x50], eax
cmp qword [rsp + 0x3b8], 0
jne 0x14013d5b0
mov rax, qword [rsp + 0x3b8]
jmp 0x14013eaf2
mov dword [rsp + 0x54], 0
mov dword [rsp + 0x138], 0
mov rcx, qword [rsp + 0x390]
add rcx, 0x518
call fcn.140010210
mov rcx, qword [rsp + 0x390]
add rcx, 0x4e0
lea r8, [rsp + 0x58]
mov rax, qword [rsp + 0x398]
mov edx, dword [rax]
call fcn.14001ecf0
mov dword [rsp + 0x2f8], eax
cmp dword [rsp + 0x2f8], 0
je 0x14013d619
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x84], 0
jne 0x14013d647
mov rcx, qword [rsp + 0x390]
add rcx, 0x518
mov rax, qword [rsp + 0x390]
mov rax, qword [rax + 0x518]
call qword [rax + 0x28]
mov rax, qword [rsp + 0x3b8]
jmp 0x14013eaf2
mov rcx, qword [rsp + 0x390]
add rcx, 0x518
mov rax, qword [rsp + 0x390]
mov rax, qword [rax + 0x518]
call qword [rax + 0x28]
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x20000000
jbe 0x14013d6b1
call fcn.1400ab1e0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013d6b1
call fcn.1400ab1e0
cdq
mov ecx, reloc.OLEAUT32.dll_SafeArrayLock
idiv ecx
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rdx, qword [rsp + 0x3a0]
lea rcx, [rsp + 0x88]
call fcn.1400020d0
mov qword [rsp + 0x300], rax
cmp dword [rsp + 0x3c0], 0
je 0x14013d6ea
mov dword [rsp + 0x54], 1
mov rcx, qword [rsp + 0x58]
call fcn.14001d590
mov rax, qword [rsp + 0x398]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x58]
call fcn.14001d570
test eax, eax
jne 0x14013d7dd
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x20000000
jbe 0x14013d750
call fcn.1400ab1e0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013d750
call fcn.1400ab1e0
cdq
mov ecx, reloc.OLEAUT32.dll_SafeArrayLock
idiv ecx
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [rsp + 0x398]
mov r9d, dword [rax + 0xc]
mov r8, qword [rsp + 0x58]
mov r8, qword [r8 + 0x48]
lea rdx, str._s_reopen_targetid_d
xor ecx, ecx
call fcn.1400dc610
mov r8d, 1
mov rax, qword [rsp + 0x398]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x58]
call fcn.14013b240
mov dword [rsp + 0x308], eax
cmp dword [rsp + 0x308], 0
jne 0x14013d7dd
cmp dword [rsp + 0x3c0], 0
je 0x14013d7b3
mov rcx, qword [rsp + 0x58]
call fcn.14001d5c0
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x268], rax
lea rcx, [rsp + 0x88]
call fcn.140001490
mov rax, qword [rsp + 0x268]
jmp 0x14013eaf2
lea rcx, [rsp + 0x88]
call fcn.140023510
lea r8, [rsp + 0x90]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.14001e710
mov dword [rsp + 0x30c], eax
cmp dword [rsp + 0x30c], 0
jne 0x14013d8e7
cmp qword [rsp + 0x398], 0
je 0x14013d837
mov rax, qword [rsp + 0x398]
add rax, 0xb0
mov qword [rsp + 0x310], rax
jmp 0x14013d846
lea rax, [0x1402112f7]
mov qword [rsp + 0x310], rax
mov rax, qword [rsp + 0x398]
mov eax, dword [rax]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x3b0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x3a8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x3a0]
mov r8, qword [rsp + 0x310]
lea rdx, [0x140232750]
mov ecx, 1
call fcn.1400dc610
cmp dword [rsp + 0x3c0], 0
je 0x14013d8bd
mov rcx, qword [rsp + 0x58]
call fcn.14001d5c0
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x270], rax
lea rcx, [rsp + 0x88]
call fcn.140001490
mov rax, qword [rsp + 0x270]
jmp 0x14013eaf2
cmp qword [rsp + 0x90], 0
jne 0x14013d9bb
cmp dword [rsp + 0x3c0], 0
je 0x14013d90a
mov rcx, qword [rsp + 0x58]
call fcn.14001d5c0
cmp qword [rsp + 0x398], 0
je 0x14013d92d
mov rax, qword [rsp + 0x398]
add rax, 0xb0
mov qword [rsp + 0x318], rax
jmp 0x14013d93c
lea rax, [0x1402112fd]
mov qword [rsp + 0x318], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x3b0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x3a8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x3a0]
mov r8, qword [rsp + 0x318]
lea rdx, str._ERROR__extent_read_hVdisk__NULL_ip_S__xp_p__off_I64d__buf_p__cc_I64d__image_s
mov ecx, 1
call fcn.1400dc610
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x278], rax
lea rcx, [rsp + 0x88]
call fcn.140001490
mov rax, qword [rsp + 0x278]
jmp 0x14013eaf2
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x20000000
jbe 0x14013da04
call fcn.1400ab1e0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013da04
call fcn.1400ab1e0
cdq
mov ecx, reloc.OLEAUT32.dll_SafeArrayLock
idiv ecx
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x98]
call fcn.14001db60
mov qword [rsp + 0x320], rax
lea rcx, [rsp + 0x108]
call fcn.14001db60
mov qword [rsp + 0x328], rax
lea rcx, [rsp + 0xd0]
call fcn.14001db60
mov qword [rsp + 0x330], rax
mov dword [rsp + 0xcc], 0
mov rcx, qword [rsp + 0x58]
add rcx, 0x78
call fcn.140001a40
test eax, eax
je 0x14013db0a
mov dword [rsp + 0x140], 0
cmp dword [rsp + 0x140], 0xffffffff
je 0x14013db0a
mov rcx, qword [rsp + 0x58]
add rcx, 0x78
lea r9, [rsp + 0x140]
lea r8, [0x14022f374]
lea rdx, [rsp + 0x148]
call fcn.1400065a0
lea rcx, [rsp + 0x148]
call fcn.140006e20
movzx eax, al
test eax, eax
je 0x14013dac5
lea rcx, [rsp + 0x148]
call fcn.140001490
jmp 0x14013db0a
mov rdx, qword [rsp + 0x3a0]
lea rcx, [rsp + 0x148]
call fcn.1400060b0
test eax, eax
jne 0x14013daf8
mov dword [rsp + 0xcc], 1
lea rcx, [rsp + 0x148]
call fcn.140001490
jmp 0x14013db0a
lea rcx, [rsp + 0x148]
call fcn.140001490
jmp 0x14013da6f
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x20000000
jbe 0x14013db53
call fcn.1400ab1e0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013db53
call fcn.1400ab1e0
cdq
mov ecx, reloc.OLEAUT32.dll_SafeArrayLock
idiv ecx
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov dword [rsp + 0xc8], 0
cmp dword [rsp + 0xcc], 0
je 0x14013dbbf
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0xf8], 0
jne 0x14013dbbf
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x3b8]
mov r8, qword [rsp + 0x3b0]
mov rdx, qword [rsp + 0x3a8]
mov rcx, qword [rsp + 0x90]
call fcn.140100950
mov dword [rsp + 0x338], eax
mov eax, dword [rsp + 0x338]
mov dword [rsp + 0xc8], eax
jmp 0x14013dc06
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x3b8]
mov r8, qword [rsp + 0x3b0]
mov rdx, qword [rsp + 0x3a8]
mov rcx, qword [rsp + 0x90]
call fcn.140100950
mov dword [rsp + 0x33c], eax
mov eax, dword [rsp + 0x33c]
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0x150], 0
jmp 0x14013dc24
mov eax, dword [rsp + 0x150]
add eax, 1
mov dword [rsp + 0x150], eax
lea rcx, [rsp + 0x98]
call fcn.14001dbb0
mov rdx, rax
movsxd rax, dword [rsp + 0x150]
cmp rax, rdx
jae 0x14013dcec
mov dword [rsp + 0x154], 0
movsxd rdx, dword [rsp + 0x150]
lea rcx, [rsp + 0x98]
call fcn.14001dbd0
mov rdi, rax
movsxd rdx, dword [rsp + 0x150]
lea rcx, [rsp + 0x98]
call fcn.14001dbd0
mov r9d, 1
lea r8, [rsp + 0x154]
mov rdx, qword [rdi]
mov rcx, qword [rax + 8]
call qword [sym.imp.KERNEL32.dll_GetOverlappedResult]
movsxd rdx, dword [rsp + 0x150]
lea rcx, [rsp + 0x98]
call fcn.14001dbd0
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movsxd rdx, dword [rsp + 0x150]
lea rcx, [rsp + 0x98]
call fcn.14001dbd0
mov rax, qword [rax]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
call fcn.140071aa8
jmp 0x14013dc13
lea rcx, [rsp + 0x98]
call fcn.14001dc20
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x20000000
jbe 0x14013dd42
call fcn.1400ab1e0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013dd42
call fcn.1400ab1e0
cdq
mov ecx, reloc.OLEAUT32.dll_SafeArrayLock
idiv ecx
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [rsp + 0x3b8]
mov dword [rsp + 0x13c], eax
lea rcx, [rsp + 0x158]
call fcn.140006e60
cmp qword [rsp + 0x90], 0
je 0x14013dd81
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x494]
mov qword [rsp + 0x90], rax
jmp 0x14013dd5d
mov dword [rsp + 0x188], 0
jmp 0x14013dd9f
mov eax, dword [rsp + 0x188]
add eax, 1
mov dword [rsp + 0x188], eax
lea rcx, [rsp + 0x98]
call fcn.14001dbb0
mov rdx, rax
movsxd rax, dword [rsp + 0x188]
cmp rax, rdx
jae 0x14013de67
mov dword [rsp + 0x18c], 0
movsxd rdx, dword [rsp + 0x188]
lea rcx, [rsp + 0x98]
call fcn.14001dbd0
mov rdi, rax
movsxd rdx, dword [rsp + 0x188]
lea rcx, [rsp + 0x98]
call fcn.14001dbd0
mov r9d, 1
lea r8, [rsp + 0x18c]
mov rdx, qword [rdi]
mov rcx, qword [rax + 8]
call qword [sym.imp.KERNEL32.dll_GetOverlappedResult]
movsxd rdx, dword [rsp + 0x188]
lea rcx, [rsp + 0x98]
call fcn.14001dbd0
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movsxd rdx, dword [rsp + 0x188]
lea rcx, [rsp + 0x98]
call fcn.14001dbd0
mov rax, qword [rax]
mov qword [rsp + 0x288], rax
mov rcx, qword [rsp + 0x288]
call fcn.140071aa8
jmp 0x14013dd8e
lea rcx, [rsp + 0x98]
call fcn.14001dc20
lea rcx, [rsp + 0x158]
call fcn.14001dd50
lea rcx, [rsp + 0x158]
call fcn.14001dd20
mov qword [rsp + 0x100], 0
lea rcx, [rsp + 0x88]
call fcn.140023510
lea r8, [rsp + 0x100]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.14001e710
mov rdx, qword [rsp + 0x100]
add rdx, 0xc
mov rcx, qword [rsp + 0x3a0]
call fcn.1400aa18c
test eax, eax
je 0x14013def2
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0x494]
mov qword [rsp + 0x100], rax
jmp 0x14013debc
cmp dword [rsp + 0x3c0], 0
je 0x14013df06
mov rcx, qword [rsp + 0x58]
call fcn.14001d5c0
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x20000000
jbe 0x14013df4f
call fcn.1400ab1e0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013df4f
call fcn.1400ab1e0
cdq
mov ecx, reloc.OLEAUT32.dll_SafeArrayLock
idiv ecx
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [rsp + 0xc8], 0
jne 0x14013dfad
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x290], rax
lea rcx, [rsp + 0xd0]
call fcn.14001dcf0
nop
lea rcx, [rsp + 0x108]
call fcn.14001dcf0
nop
lea rcx, [rsp + 0x98]
call fcn.14001dcf0
nop
lea rcx, [rsp + 0x88]
call fcn.140001490
mov rax, qword [rsp + 0x290]
jmp 0x14013eaf2
cmp qword [rsp + 0x3a8], 0
jne 0x14013e147
mov rcx, qword [rsp + 0x3a0]
call fcn.1400f9010
mov dword [rsp + 0x340], eax
mov eax, dword [rsp + 0x340]
mov dword [rsp + 0x190], eax
cmp dword [rsp + 0x190], 4
je 0x14013e000
cmp dword [rsp + 0x190], 5
je 0x14013e000
cmp dword [rsp + 0x190], 7
jne 0x14013e119
mov rax, qword [rsp + 0x100]
cmp dword [rax + 0x4b4], 0
jne 0x14013e119
mov dword [rsp + 0x1a0], 0
mov rdx, qword [rsp + 0x3b0]
add rdx, 0x1b8
mov r8d, 4
lea rcx, [rsp + 0x1a0]
call fcn.1400a8d30
cmp dword [rsp + 0x190], 4
jne 0x14013e070
mov rcx, qword [rsp + 0x3a0]
call fcn.1400a8204
mov rdx, rax
mov rax, qword [rsp + 0x3a0]
movzx eax, word [rax + rdx*2 - 2]
mov dword [rsp + 0x1a0], eax
mov rax, qword [rsp + 0x3a0]
cmp dword [rax + 0x210], 0
jne 0x14013e092
mov eax, dword [rsp + 0x1a0]
add eax, 1
mov dword [rsp + 0x1a0], eax
cmp dword [rsp + 0xcc], 0
je 0x14013e0f7
mov rax, qword [rsp + 0x3a0]
cmp dword [rax + 0x210], 0
jne 0x14013e0f7
mov dword [rsp + reloc.OLEAUT32.dll_OleTranslateColor], reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, [rsp + reloc.OLEAUT32.dll_OleTranslateColor]
lea rdx, [rsp + 0x1a8]
mov rcx, qword [rsp + 0x398]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.WS2_32.dll_getsockname]
movzx edx, byte [rsp + 0x1a0]
mov byte [rsp + 0x1ac], dl
mov eax, dword [rsp + 0x1ac]
mov dword [rsp + 0x1a0], eax
mov rcx, qword [rsp + 0x3b0]
add rcx, 0x1b8
mov r8d, 4
lea rdx, [rsp + 0x1a0]
call fcn.1400a8d30
mov rax, qword [rsp + 0x3b0]
add rax, 0x1c6
mov qword [rsp + 0x198], rax
mov rcx, qword [rsp + 0x3a0]
mov rax, qword [rsp + 0x198]
mov eax, dword [rax]
mov dword [rcx + 0x214], eax
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x20000000
jbe 0x14013e190
call fcn.1400ab1e0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013e190
call fcn.1400ab1e0
cdq
mov ecx, reloc.OLEAUT32.dll_SafeArrayLock
idiv ecx
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsp + 0x3a0]
call fcn.1400f9010
mov dword [rsp + 0x344], eax
mov eax, dword [rsp + 0x344]
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x80], 4
je 0x14013e1ca
cmp dword [rsp + 0x80], 5
jne 0x14013e926
mov rax, qword [rsp + 0x100]
cmp dword [rax + 0x4b4], 1
jne 0x14013e926
cmp qword [rsp + 0x3a8], 0
jl 0x14013e926
cmp qword [rsp + 0x3a8], 0xc00
jge 0x14013e926
mov rcx, qword [rsp + 0x3b8]
mov rax, qword [rsp + 0x3a8]
add rax, rcx
cmp rax, 0x200
jbe 0x14013e926
mov rax, qword [rsp + 0x100]
cmp dword [rax], 5
jne 0x14013e490
cmp qword [rsp + 0x3a8], 0x500
jge 0x14013e490
cmp dword [rsp + 0xcc], 0
je 0x14013e490
mov ecx, 0x200000
call fcn.1400f89b0
mov qword [rsp + 0x1b8], rax
mov r8d, 0x200000
xor edx, edx
mov rcx, qword [rsp + 0x1b8]
call fcn.1400a8080
mov qword [rsp + 0x20], 0
mov r9d, 0x200000
mov r8, qword [rsp + 0x1b8]
xor edx, edx
mov rcx, qword [rsp + 0x100]
call fcn.140100950
mov rax, qword [rsp + 0x1b8]
add rax, 0x200
mov qword [rsp + 0x200], rax
lea rdi, [rsp + 0x2e0]
mov rsi, qword [rsp + 0x200]
add rsi, 0x38
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x1c0]
lea rsi, [rsp + 0x2e0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x1d0], reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, [rsp + 0x1d0]
lea rdx, [rsp + 0x1d8]
mov rcx, qword [rsp + 0x398]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.WS2_32.dll_getsockname]
mov r8d, 4
lea rdx, [rsp + 0x1dc]
lea rcx, [rsp + 0x1c8]
call fcn.1400a8d30
mov rdi, qword [rsp + 0x200]
lea rsi, [rsp + 0x1c0]
add rdi, 0x38
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x1b8]
add rax, 0x400
mov qword [rsp + 0x1f8], rax
lea rdi, [rsp + 0x2d0]
mov rsi, qword [rsp + 0x1f8]
add rsi, 0x10
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x1e8]
lea rsi, [rsp + 0x2d0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
mov r8d, 4
lea rdx, [rsp + 0x1dc]
lea rcx, [rsp + 0x1f0]
call fcn.1400a8d30
mov rdi, qword [rsp + 0x1f8]
lea rsi, [rsp + 0x1e8]
add rdi, 0x10
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x200]
mov dword [rax + 0x10], 0
mov edx, 0x4000
mov rcx, qword [rsp + 0x1f8]
call fcn.1400f8250
mov edx, eax
mov rax, qword [rsp + 0x200]
mov dword [rax + 0x58], edx
mov rax, qword [rsp + 0x200]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x200]
call fcn.1400f8250
mov edx, eax
mov rax, qword [rsp + 0x200]
mov dword [rax + 0x10], edx
mov rcx, qword [rsp + 0x3b8]
mov rax, qword [rsp + 0x3a8]
add rax, rcx
cmp rax, 0x200000
jbe 0x14013e44b
mov eax, 0x200000
sub rax, qword [rsp + 0x3a8]
mov qword [rsp + 0x348], rax
jmp 0x14013e45b
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x348], rax
mov rax, qword [rsp + 0x3a8]
mov rdx, qword [rsp + 0x1b8]
add rdx, rax
mov r8, qword [rsp + 0x348]
mov rcx, qword [rsp + 0x3b0]
call fcn.1400a8d30
mov rcx, qword [rsp + 0x1b8]
call fcn.1400f8970
mov rax, qword [rsp + 0x100]
cmp dword [rax], 4
jne 0x14013e926
mov ecx, 0x200000
call fcn.1400f89b0
mov qword [rsp + 0x210], rax
mov r8d, 0x200000
xor edx, edx
mov rcx, qword [rsp + 0x210]
call fcn.1400a8080
mov qword [rsp + 0x20], 0
mov r9d, 0x200000
mov r8, qword [rsp + 0x210]
xor edx, edx
mov rcx, qword [rsp + 0x100]
call fcn.140100950
mov rcx, qword [rsp + 0x3a0]
call fcn.1400a8204
mov rdx, rax
mov rax, qword [rsp + 0x3a0]
movzx eax, word [rax + rdx*2 - 2]
mov dword [rsp + 0x208], eax
mov rcx, qword [rsp + 0x210]
add rcx, 0x1b8
mov r8d, 4
lea rdx, [rsp + 0x208]
call fcn.1400a8d30
mov rax, qword [rsp + 0x210]
add rax, 0x200
mov qword [rsp + 0x240], rax
lea rdi, [rsp + 0x2c0]
mov rsi, qword [rsp + 0x240]
add rsi, 0x38
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x218]
lea rsi, [rsp + 0x2c0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x218]
add eax, 1
mov dword [rsp + 0x218], eax
mov rdi, qword [rsp + 0x240]
lea rsi, [rsp + 0x218]
add rdi, 0x38
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x210]
add rax, 0x400
mov qword [rsp + 0x238], rax
mov dword [rsp + 0x248], 0
jmp 0x14013e5dc
mov eax, dword [rsp + 0x248]
add eax, 1
mov dword [rsp + 0x248], eax
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x50]
cmp dword [rsp + 0x248], eax
jae 0x14013e694
movsxd rcx, dword [rsp + 0x248]
imul rcx, rcx, 0x80
lea rdi, [rsp + 0x2b0]
mov rax, qword [rsp + 0x238]
lea rsi, [rax + rcx + 0x10]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x228]
lea rsi, [rsp + 0x2b0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea rdx, [0x14020d0e0]
lea rcx, [rsp + 0x228]
call fcn.140020130
test eax, eax
je 0x14013e653
jmp 0x14013e5cb
mov eax, dword [rsp + 0x228]
add eax, 1
mov dword [rsp + 0x228], eax
movsxd rcx, dword [rsp + 0x248]
imul rcx, rcx, 0x80
mov rax, qword [rsp + 0x238]
lea rsi, [rsp + 0x228]
lea rdi, [rax + rcx + 0x10]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
jmp 0x14013e5cb
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x10], 0
mov rcx, qword [rsp + 0x240]
mov rax, qword [rsp + 0x240]
mov edx, dword [rcx + 0x50]
imul edx, dword [rax + 0x54]
mov rcx, qword [rsp + 0x238]
call fcn.1400f8250
mov edx, eax
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x58], edx
mov rax, qword [rsp + 0x240]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x240]
call fcn.1400f8250
mov edx, eax
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x10], edx
cmp dword [rsp + 0xcc], 0
je 0x14013e8af
mov dword [rsp + 0x24c], reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, [rsp + 0x24c]
lea rdx, [rsp + 0x250]
mov rcx, qword [rsp + 0x398]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.WS2_32.dll_getsockname]
mov r8d, 4
lea rdx, [rsp + 0x254]
lea rcx, [rsp + 0x220]
call fcn.1400a8d30
mov rdi, qword [rsp + 0x240]
lea rsi, [rsp + 0x218]
add rdi, 0x38
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x260], 0
jmp 0x14013e788
mov eax, dword [rsp + 0x260]
add eax, 1
mov dword [rsp + 0x260], eax
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x50]
cmp dword [rsp + 0x260], eax
jae 0x14013e84a
movsxd rcx, dword [rsp + 0x260]
imul rcx, rcx, 0x80
lea rdi, [rsp + 0x2a0]
mov rax, qword [rsp + 0x238]
lea rsi, [rax + rcx + 0x10]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x228]
lea rsi, [rsp + 0x2a0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea rdx, [0x14020d0e0]
lea rcx, [rsp + 0x228]
call fcn.140020130
test eax, eax
je 0x14013e7ff
jmp 0x14013e777
mov r8d, 4
lea rdx, [rsp + 0x254]
lea rcx, [rsp + 0x230]
call fcn.1400a8d30
movsxd rcx, dword [rsp + 0x260]
imul rcx, rcx, 0x80
mov rax, qword [rsp + 0x238]
lea rsi, [rsp + 0x228]
lea rdi, [rax + rcx + 0x10]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
jmp 0x14013e777
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x10], 0
mov rcx, qword [rsp + 0x240]
mov rax, qword [rsp + 0x240]
mov edx, dword [rcx + 0x50]
imul edx, dword [rax + 0x54]
mov rcx, qword [rsp + 0x238]
call fcn.1400f8250
mov edx, eax
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x58], edx
mov rax, qword [rsp + 0x240]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x240]
call fcn.1400f8250
mov edx, eax
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x10], edx
mov rcx, qword [rsp + 0x3b8]
mov rax, qword [rsp + 0x3a8]
add rax, rcx
cmp rax, 0x200000
jbe 0x14013e8e1
mov eax, 0x200000
sub rax, qword [rsp + 0x3a8]
mov qword [rsp + 0x350], rax
jmp 0x14013e8f1
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x350], rax
mov rax, qword [rsp + 0x3a8]
mov rdx, qword [rsp + 0x210]
add rdx, rax
mov r8, qword [rsp + 0x350]
mov rcx, qword [rsp + 0x3b0]
call fcn.1400a8d30
mov rcx, qword [rsp + 0x210]
call fcn.1400f8970
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x20000000
jbe 0x14013e96f
call fcn.1400ab1e0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013e96f
call fcn.1400ab1e0
cdq
mov ecx, reloc.OLEAUT32.dll_SafeArrayLock
idiv ecx
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [rsp + 0x3c0], 0
je 0x14013e999
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0xd8]
add rcx, qword [rsp + 0x3b8]
mov rax, qword [rsp + 0x58]
mov qword [rax + 0xd8], rcx
cmp dword [rsp + 0x3c0], 0
je 0x14013ea98
mov rax, qword [rsp + 0x3a0]
cmp dword [rax + 0x210], 0
je 0x14013ea29
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x98]
add rcx, qword [rsp + 0x3b8]
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x98], rcx
mov eax, dword [rsp + 0x13c]
mov rcx, qword [rsp + 0x3b8]
sub rcx, rax
mov rax, qword [rsp + 0x58]
add rcx, qword [rax + 0xa0]
mov rax, qword [rsp + 0x58]
mov qword [rax + 0xa0], rcx
mov ecx, dword [rsp + 0x13c]
mov rax, qword [rsp + 0x390]
add rcx, qword [rax + 0x498]
mov rax, qword [rsp + 0x390]
mov qword [rax + 0x498], rcx
jmp 0x14013ea98
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0xa8]
add rcx, qword [rsp + 0x3b8]
mov rax, qword [rsp + 0x58]
mov qword [rax + 0xa8], rcx
mov eax, dword [rsp + 0x13c]
mov rcx, qword [rsp + 0x3b8]
sub rcx, rax
mov rax, qword [rsp + 0x58]
add rcx, qword [rax + 0xb0]
mov rax, qword [rsp + 0x58]
mov qword [rax + 0xb0], rcx
mov ecx, dword [rsp + 0x13c]
mov rax, qword [rsp + 0x390]
add rcx, qword [rax + 0x4a0]
mov rax, qword [rsp + 0x390]
mov qword [rax + 0x4a0], rcx
cmp dword [rsp + 0x3c0], 0
je 0x14013eaaa
mov dword [rsp + 0x54], 0
lea rcx, [rsp + 0xd0]
call fcn.14001dcf0
nop
lea rcx, [rsp + 0x108]
call fcn.14001dcf0
nop
lea rcx, [rsp + 0x98]
call fcn.14001dcf0
nop
lea rcx, [rsp + 0x88]
call fcn.140001490
nop
jmp 0x14013eaee
mov eax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x360]
xor rcx, rsp
call fcn.1400a8050
add rsp, 0x378
pop rdi
pop rsi
ret