Function at 0x140149d20
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 [0x1402bd5c0]
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 0x140149da5
mov r8, qword [rsp + 0x3a0]
lea rdx, [0x1402497f0]
mov ecx, 1
call fcn.1400de020
mov rax, qword [rsp + 0x3b8]
jmp 0x14014b2c3
mov rax, qword [rsp + 0x398]
cmp dword [rax + 4], 0
je 0x140149e4d
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.14013c0e0
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
lea rdx, [rsp + 0x68]
mov rcx, qword [rsp + 0x3b0]
call fcn.1400aa500
mov rax, qword [rsp + 0x3b8]
jmp 0x14014b2c3
mov eax, dword [rsp + 0x3b8]
mov dword [rsp + 0x50], eax
cmp qword [rsp + 0x3b8], 0
jne 0x140149e70
mov rax, qword [rsp + 0x3b8]
jmp 0x14014b2c3
mov dword [rsp + 0x54], 0
mov dword [rsp + 0x138], 0
mov rcx, qword [rsp + 0x390]
add rcx, 0x508
call fcn.14000f140
mov rcx, qword [rsp + 0x390]
add rcx, 0x4d0
lea r8, [rsp + 0x58]
mov rax, qword [rsp + 0x398]
mov edx, dword [rax]
call fcn.14001e1f0
mov dword [rsp + 0x2f8], eax
cmp dword [rsp + 0x2f8], 0
je 0x140149ed9
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x84], 0
jne 0x140149f07
mov rcx, qword [rsp + 0x390]
add rcx, 0x508
mov rax, qword [rsp + 0x390]
mov rax, qword [rax + 0x508]
call qword [rax + 0x28]
mov rax, qword [rsp + 0x3b8]
jmp 0x14014b2c3
mov rcx, qword [rsp + 0x390]
add rcx, 0x508
mov rax, qword [rsp + 0x390]
mov rax, qword [rax + 0x508]
call qword [rax + 0x28]
mov rdx, qword [rsp + 0x3a0]
lea rcx, [rsp + 0x88]
call fcn.140002050
mov qword [rsp + 0x300], rax
cmp dword [rsp + 0x3c0], 0
je 0x140149f61
mov dword [rsp + 0x54], 1
mov rcx, qword [rsp + 0x58]
call fcn.14001cd90
mov rax, qword [rsp + 0x398]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x58]
call fcn.14001cd70
test eax, eax
jne 0x14014a00b
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.1400de020
mov r8d, 1
mov rax, qword [rsp + 0x398]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x58]
call fcn.140145b30
mov dword [rsp + 0x308], eax
cmp dword [rsp + 0x308], 0
jne 0x14014a00b
cmp dword [rsp + 0x3c0], 0
je 0x140149fe1
mov rcx, qword [rsp + 0x58]
call fcn.14001cdc0
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x268], rax
lea rcx, [rsp + 0x88]
call fcn.140007060
mov rax, qword [rsp + 0x268]
jmp 0x14014b2c3
lea rcx, [rsp + 0x88]
call fcn.140050200
lea r8, [rsp + 0x90]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.14001dc40
mov dword [rsp + 0x30c], eax
cmp dword [rsp + 0x30c], 0
jne 0x14014a115
cmp qword [rsp + 0x398], 0
je 0x14014a065
mov rax, qword [rsp + 0x398]
add rax, 0xb0
mov qword [rsp + 0x310], rax
jmp 0x14014a074
lea rax, [0x14022829f]
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, str._ERROR__extent_read_unfound_hVdisk_ip_S__xp_p__off_I64d__buf_p__cc_I64d__image_s__userid_d
mov ecx, 1
call fcn.1400de020
cmp dword [rsp + 0x3c0], 0
je 0x14014a0eb
mov rcx, qword [rsp + 0x58]
call fcn.14001cdc0
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x270], rax
lea rcx, [rsp + 0x88]
call fcn.140007060
mov rax, qword [rsp + 0x270]
jmp 0x14014b2c3
cmp qword [rsp + 0x90], 0
jne 0x14014a1e9
cmp dword [rsp + 0x3c0], 0
je 0x14014a138
mov rcx, qword [rsp + 0x58]
call fcn.14001cdc0
cmp qword [rsp + 0x398], 0
je 0x14014a15b
mov rax, qword [rsp + 0x398]
add rax, 0xb0
mov qword [rsp + 0x318], rax
jmp 0x14014a16a
lea rax, [0x1402282a3]
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.1400de020
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x278], rax
lea rcx, [rsp + 0x88]
call fcn.140007060
mov rax, qword [rsp + 0x278]
jmp 0x14014b2c3
lea rcx, [rsp + 0x98]
call fcn.14001d3d0
mov qword [rsp + 0x320], rax
lea rcx, [rsp + 0x108]
call fcn.14001d3d0
mov qword [rsp + 0x328], rax
lea rcx, [rsp + 0xd0]
call fcn.14001d3d0
mov qword [rsp + 0x330], rax
mov dword [rsp + 0xcc], 0
mov rcx, qword [rsp + 0x58]
add rcx, 0x78
call fcn.1400019a0
test eax, eax
je 0x14014a2ef
mov dword [rsp + 0x140], 0
cmp dword [rsp + 0x140], 0xffffffff
je 0x14014a2ef
mov rcx, qword [rsp + 0x58]
add rcx, 0x78
lea r9, [rsp + 0x140]
lea r8, [0x1402474dc]
lea rdx, [rsp + 0x148]
call fcn.140006620
lea rcx, [rsp + 0x148]
call fcn.140006ea0
movzx eax, al
test eax, eax
je 0x14014a2aa
lea rcx, [rsp + 0x148]
call fcn.140007060
jmp 0x14014a2ef
mov rdx, qword [rsp + 0x3a0]
lea rcx, [rsp + 0x148]
call fcn.140006130
test eax, eax
jne 0x14014a2dd
mov dword [rsp + 0xcc], 1
lea rcx, [rsp + 0x148]
call fcn.140007060
jmp 0x14014a2ef
lea rcx, [rsp + 0x148]
call fcn.140007060
jmp 0x14014a254
mov dword [rsp + 0xc8], 0
cmp dword [rsp + 0xcc], 0
je 0x14014a376
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0xf8], 0
jne 0x14014a376
lea rax, [rsp + 0x98]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0x3b8]
mov r8, qword [rsp + 0x3b0]
mov rdx, qword [rsp + 0x3a8]
mov rcx, qword [rsp + 0x90]
call fcn.140104020
mov dword [rsp + 0x338], eax
mov eax, dword [rsp + 0x338]
mov dword [rsp + 0xc8], eax
jmp 0x14014a3e0
lea rax, [rsp + 0x98]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x108]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0x3b8]
mov r8, qword [rsp + 0x3b0]
mov rdx, qword [rsp + 0x3a8]
mov rcx, qword [rsp + 0x90]
call fcn.140104020
mov dword [rsp + 0x33c], eax
mov eax, dword [rsp + 0x33c]
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0x150], 0
jmp 0x14014a3fe
mov eax, dword [rsp + 0x150]
add eax, 1
mov dword [rsp + 0x150], eax
lea rcx, [rsp + 0x98]
call fcn.140027e80
mov rdx, rax
movsxd rax, dword [rsp + 0x150]
cmp rax, rdx
jae 0x14014a4c6
mov dword [rsp + 0x154], 0
movsxd rdx, dword [rsp + 0x150]
lea rcx, [rsp + 0x98]
call fcn.140027ea0
mov rdi, rax
movsxd rdx, dword [rsp + 0x150]
lea rcx, [rsp + 0x98]
call fcn.140027ea0
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.140027ea0
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.140027ea0
mov rax, qword [rax]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
call fcn.140073288
jmp 0x14014a3ed
lea rcx, [rsp + 0x98]
call fcn.14001d300
mov edx, dword [rsp + 0x3b8]
mov dword [rsp + 0x13c], edx
lea rcx, [rsp + 0x158]
call fcn.140006ee0
cmp qword [rsp + 0x90], 0
je 0x14014a512
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x494]
mov qword [rsp + 0x90], rax
jmp 0x14014a4ee
mov dword [rsp + 0x188], 0
jmp 0x14014a530
mov eax, dword [rsp + 0x188]
add eax, 1
mov dword [rsp + 0x188], eax
lea rcx, [rsp + 0x98]
call fcn.140027e80
mov rdx, rax
movsxd rax, dword [rsp + 0x188]
cmp rax, rdx
jae 0x14014a5f8
mov dword [rsp + 0x18c], 0
movsxd rdx, dword [rsp + 0x188]
lea rcx, [rsp + 0x98]
call fcn.140027ea0
mov rdi, rax
movsxd rdx, dword [rsp + 0x188]
lea rcx, [rsp + 0x98]
call fcn.140027ea0
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.140027ea0
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.140027ea0
mov rax, qword [rax]
mov qword [rsp + 0x288], rax
mov rcx, qword [rsp + 0x288]
call fcn.140073288
jmp 0x14014a51f
lea rcx, [rsp + 0x98]
call fcn.14001d300
lea rcx, [rsp + 0x158]
call fcn.140006f30
lea rcx, [rsp + 0x158]
call fcn.14001d420
mov qword [rsp + 0x100], 0
lea rcx, [rsp + 0x88]
call fcn.140050200
lea r8, [rsp + 0x100]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.14001dc40
mov rdx, qword [rsp + 0x100]
add rdx, 0xc
mov rcx, qword [rsp + 0x3a0]
call fcn.1400ab9f8
test eax, eax
je 0x14014a683
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0x494]
mov qword [rsp + 0x100], rax
jmp 0x14014a64d
cmp dword [rsp + 0x3c0], 0
je 0x14014a697
mov rcx, qword [rsp + 0x58]
call fcn.14001cdc0
cmp dword [rsp + 0xc8], 0
jne 0x14014a6f5
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x290], rax
lea rcx, [rsp + 0xd0]
call fcn.14001d2d0
nop
lea rcx, [rsp + 0x108]
call fcn.14001d2d0
nop
lea rcx, [rsp + 0x98]
call fcn.14001d2d0
nop
lea rcx, [rsp + 0x88]
call fcn.140007060
mov rax, qword [rsp + 0x290]
jmp 0x14014b2c3
cmp qword [rsp + 0x3a8], 0
jne 0x14014a88f
mov rcx, qword [rsp + 0x3a0]
call fcn.1400fabb0
mov dword [rsp + 0x340], eax
mov eax, dword [rsp + 0x340]
mov dword [rsp + 0x190], eax
cmp dword [rsp + 0x190], 4
je 0x14014a748
cmp dword [rsp + 0x190], 5
je 0x14014a748
cmp dword [rsp + 0x190], 7
jne 0x14014a861
mov rax, qword [rsp + 0x100]
cmp dword [rax + 0x4b4], 0
jne 0x14014a861
mov dword [rsp + 0x1a0], 0
mov rdx, qword [rsp + 0x3b0]
add rdx, 0x1b8
mov r8d, 4
lea rcx, [rsp + 0x1a0]
call fcn.1400aa500
cmp dword [rsp + 0x190], 4
jne 0x14014a7b8
mov rcx, qword [rsp + 0x3a0]
call fcn.1400a99d4
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 0x14014a7da
mov eax, dword [rsp + 0x1a0]
add eax, 1
mov dword [rsp + 0x1a0], eax
cmp dword [rsp + 0xcc], 0
je 0x14014a83f
mov rax, qword [rsp + 0x3a0]
cmp dword [rax + 0x210], 0
jne 0x14014a83f
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.1400aa500
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 rcx, qword [rsp + 0x3a0]
call fcn.1400fabb0
mov dword [rsp + 0x344], eax
mov eax, dword [rsp + 0x344]
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x80], 4
je 0x14014a8c9
cmp dword [rsp + 0x80], 5
jne 0x14014b05b
mov rax, qword [rsp + 0x100]
cmp dword [rax + 0x4b4], 1
jne 0x14014b05b
cmp qword [rsp + 0x3a8], 0
jl 0x14014b05b
cmp qword [rsp + 0x3a8], 0xc00
jge 0x14014b05b
mov rcx, qword [rsp + 0x3b8]
mov rax, qword [rsp + 0x3a8]
add rax, rcx
cmp rax, 0x200
jbe 0x14014b05b
mov rax, qword [rsp + 0x100]
cmp dword [rax], 5
jne 0x14014abaa
cmp qword [rsp + 0x3a8], 0x500
jge 0x14014abaa
cmp dword [rsp + 0xcc], 0
je 0x14014abaa
mov ecx, 0x200000
call fcn.1400fa550
mov qword [rsp + 0x1b8], rax
mov r8d, 0x200000
xor edx, edx
mov rcx, qword [rsp + 0x1b8]
call fcn.1400a9850
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0x200000
mov r8, qword [rsp + 0x1b8]
xor edx, edx
mov rcx, qword [rsp + 0x100]
call fcn.140104020
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.1400aa500
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.1400aa500
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.1400f9df0
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.1400f9df0
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 0x14014ab65
mov eax, 0x200000
sub rax, qword [rsp + 0x3a8]
mov qword [rsp + 0x348], rax
jmp 0x14014ab75
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.1400aa500
mov rcx, qword [rsp + 0x1b8]
call fcn.1400fa510
mov rax, qword [rsp + 0x100]
cmp dword [rax], 4
jne 0x14014b05b
mov ecx, 0x200000
call fcn.1400fa550
mov qword [rsp + 0x210], rax
mov r8d, 0x200000
xor edx, edx
mov rcx, qword [rsp + 0x210]
call fcn.1400a9850
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0x200000
mov r8, qword [rsp + 0x210]
xor edx, edx
mov rcx, qword [rsp + 0x100]
call fcn.140104020
mov rcx, qword [rsp + 0x3a0]
call fcn.1400a99d4
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.1400aa500
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 0x14014ad11
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 0x14014adc9
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, [0x140224080]
lea rcx, [rsp + 0x228]
call fcn.14001f210
test eax, eax
je 0x14014ad88
jmp 0x14014ad00
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 0x14014ad00
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.1400f9df0
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.1400f9df0
mov edx, eax
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x10], edx
cmp dword [rsp + 0xcc], 0
je 0x14014afe4
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.1400aa500
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 0x14014aebd
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 0x14014af7f
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, [0x140224080]
lea rcx, [rsp + 0x228]
call fcn.14001f210
test eax, eax
je 0x14014af34
jmp 0x14014aeac
mov r8d, 4
lea rdx, [rsp + 0x254]
lea rcx, [rsp + 0x230]
call fcn.1400aa500
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 0x14014aeac
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.1400f9df0
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.1400f9df0
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 0x14014b016
mov eax, 0x200000
sub rax, qword [rsp + 0x3a8]
mov qword [rsp + 0x350], rax
jmp 0x14014b026
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.1400aa500
mov rcx, qword [rsp + 0x210]
call fcn.1400fa510
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x19000000
jbe 0x14014b0cd
cmp dword [rsp + 0xcc], 0
jne 0x14014b0cd
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x90], 0
je 0x14014b0cd
mov rax, qword [rsp + 0x390]
cmp dword [rax + 0x4b8], 0
je 0x14014b0cd
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x8024
xor edx, edx
lea rcx, [0x1403c8910]
call fcn.1401cf1e0
mov r8, qword [rsp + 0x3b8]
xor edx, edx
mov rcx, qword [rsp + 0x3b0]
call fcn.1400a9850
cmp dword [rsp + 0x3c0], 0
je 0x14014b0f7
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 0x14014b1f6
mov rax, qword [rsp + 0x3a0]
cmp dword [rax + 0x210], 0
je 0x14014b187
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 0x14014b1f6
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 0x14014b208
mov dword [rsp + 0x54], 0
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x19000000
jbe 0x14014b27b
cmp dword [rsp + 0xcc], 0
jne 0x14014b27b
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x90], 0
je 0x14014b27b
mov rax, qword [rsp + 0x390]
cmp dword [rax + 0x4c8], 0
je 0x14014b27b
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x8024
xor edx, edx
lea rcx, [0x1403c8910]
call fcn.1401cf1e0
mov r8, qword [rsp + 0x3b8]
xor edx, edx
mov rcx, qword [rsp + 0x3b0]
call fcn.1400a9850
nop
lea rcx, [rsp + 0xd0]
call fcn.14001d2d0
nop
lea rcx, [rsp + 0x108]
call fcn.14001d2d0
nop
lea rcx, [rsp + 0x98]
call fcn.14001d2d0
nop
lea rcx, [rsp + 0x88]
call fcn.140007060
nop
jmp 0x14014b2bf
mov eax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x360]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0x378
pop rdi
pop rsi
ret