Function at 0x14013d3a0
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 [0x1402a25c0]
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 0x14013d425
mov r8, qword [rsp + 0x3a0]
lea rdx, [0x1402336c0]
mov ecx, 1
call fcn.1400dc5d0
mov rax, qword [rsp + 0x3b8]
jmp 0x14013ea32
mov rax, qword [rsp + 0x398]
cmp dword [rax + 4], 0
je 0x14013d4cd
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.1401331b0
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
lea rdx, [rsp + 0x68]
mov rcx, qword [rsp + 0x3b0]
call fcn.1400a8d20
mov rax, qword [rsp + 0x3b8]
jmp 0x14013ea32
mov eax, dword [rsp + 0x3b8]
mov dword [rsp + 0x50], eax
cmp qword [rsp + 0x3b8], 0
jne 0x14013d4f0
mov rax, qword [rsp + 0x3b8]
jmp 0x14013ea32
mov dword [rsp + 0x54], 0
mov dword [rsp + 0x138], 0
mov rcx, qword [rsp + 0x390]
add rcx, 0x518
call fcn.140010ae0
mov rcx, qword [rsp + 0x390]
add rcx, 0x4e0
lea r8, [rsp + 0x58]
mov rax, qword [rsp + 0x398]
mov edx, dword [rax]
call fcn.14001fb20
mov dword [rsp + 0x2f8], eax
cmp dword [rsp + 0x2f8], 0
je 0x14013d559
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x84], 0
jne 0x14013d587
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 0x14013ea32
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 0x14013d5f1
call fcn.1400ab1c0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013d5f1
call fcn.1400ab1c0
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.140002090
mov qword [rsp + 0x300], rax
cmp dword [rsp + 0x3c0], 0
je 0x14013d62a
mov dword [rsp + 0x54], 1
mov rcx, qword [rsp + 0x58]
call fcn.14001e350
mov rax, qword [rsp + 0x398]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x58]
call fcn.14001e330
test eax, eax
jne 0x14013d71d
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x20000000
jbe 0x14013d690
call fcn.1400ab1c0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013d690
call fcn.1400ab1c0
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.1400dc5d0
mov r8d, 1
mov rax, qword [rsp + 0x398]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x58]
call fcn.14013b180
mov dword [rsp + 0x308], eax
cmp dword [rsp + 0x308], 0
jne 0x14013d71d
cmp dword [rsp + 0x3c0], 0
je 0x14013d6f3
mov rcx, qword [rsp + 0x58]
call fcn.14001e380
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x268], rax
lea rcx, [rsp + 0x88]
call fcn.140001470
mov rax, qword [rsp + 0x268]
jmp 0x14013ea32
lea rcx, [rsp + 0x88]
call fcn.1400012c0
lea r8, [rsp + 0x90]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.14001f570
mov dword [rsp + 0x30c], eax
cmp dword [rsp + 0x30c], 0
jne 0x14013d827
cmp qword [rsp + 0x398], 0
je 0x14013d777
mov rax, qword [rsp + 0x398]
add rax, 0xb0
mov qword [rsp + 0x310], rax
jmp 0x14013d786
lea rax, [0x1402122f7]
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, [0x140233750]
mov ecx, 1
call fcn.1400dc5d0
cmp dword [rsp + 0x3c0], 0
je 0x14013d7fd
mov rcx, qword [rsp + 0x58]
call fcn.14001e380
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x270], rax
lea rcx, [rsp + 0x88]
call fcn.140001470
mov rax, qword [rsp + 0x270]
jmp 0x14013ea32
cmp qword [rsp + 0x90], 0
jne 0x14013d8fb
cmp dword [rsp + 0x3c0], 0
je 0x14013d84a
mov rcx, qword [rsp + 0x58]
call fcn.14001e380
cmp qword [rsp + 0x398], 0
je 0x14013d86d
mov rax, qword [rsp + 0x398]
add rax, 0xb0
mov qword [rsp + 0x318], rax
jmp 0x14013d87c
lea rax, [0x1402122fd]
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.1400dc5d0
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x278], rax
lea rcx, [rsp + 0x88]
call fcn.140001470
mov rax, qword [rsp + 0x278]
jmp 0x14013ea32
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x20000000
jbe 0x14013d944
call fcn.1400ab1c0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013d944
call fcn.1400ab1c0
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.14001e9d0
mov qword [rsp + 0x320], rax
lea rcx, [rsp + 0x108]
call fcn.14001e9d0
mov qword [rsp + 0x328], rax
lea rcx, [rsp + 0xd0]
call fcn.14001e9d0
mov qword [rsp + 0x330], rax
mov dword [rsp + 0xcc], 0
mov rcx, qword [rsp + 0x58]
add rcx, 0x78
call fcn.1400019f0
test eax, eax
je 0x14013da4a
mov dword [rsp + 0x140], 0
cmp dword [rsp + 0x140], 0xffffffff
je 0x14013da4a
mov rcx, qword [rsp + 0x58]
add rcx, 0x78
lea r9, [rsp + 0x140]
lea r8, [0x140230374]
lea rdx, [rsp + 0x148]
call fcn.140006540
lea rcx, [rsp + 0x148]
call fcn.140007b70
movzx eax, al
test eax, eax
je 0x14013da05
lea rcx, [rsp + 0x148]
call fcn.140001470
jmp 0x14013da4a
mov rdx, qword [rsp + 0x3a0]
lea rcx, [rsp + 0x148]
call fcn.140006050
test eax, eax
jne 0x14013da38
mov dword [rsp + 0xcc], 1
lea rcx, [rsp + 0x148]
call fcn.140001470
jmp 0x14013da4a
lea rcx, [rsp + 0x148]
call fcn.140001470
jmp 0x14013d9af
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x20000000
jbe 0x14013da93
call fcn.1400ab1c0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013da93
call fcn.1400ab1c0
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 0x14013daff
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0xf8], 0
jne 0x14013daff
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.1401008e0
mov dword [rsp + 0x338], eax
mov eax, dword [rsp + 0x338]
mov dword [rsp + 0xc8], eax
jmp 0x14013db46
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.1401008e0
mov dword [rsp + 0x33c], eax
mov eax, dword [rsp + 0x33c]
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0x150], 0
jmp 0x14013db64
mov eax, dword [rsp + 0x150]
add eax, 1
mov dword [rsp + 0x150], eax
lea rcx, [rsp + 0x98]
call fcn.140029420
mov rdx, rax
movsxd rax, dword [rsp + 0x150]
cmp rax, rdx
jae 0x14013dc2c
mov dword [rsp + 0x154], 0
movsxd rdx, dword [rsp + 0x150]
lea rcx, [rsp + 0x98]
call fcn.14001ea20
mov rdi, rax
movsxd rdx, dword [rsp + 0x150]
lea rcx, [rsp + 0x98]
call fcn.14001ea20
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.14001ea20
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.14001ea20
mov rax, qword [rax]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
call fcn.140071ab0
jmp 0x14013db53
lea rcx, [rsp + 0x98]
call fcn.14001ea70
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x20000000
jbe 0x14013dc82
call fcn.1400ab1c0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013dc82
call fcn.1400ab1c0
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.140006dc0
cmp qword [rsp + 0x90], 0
je 0x14013dcc1
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x494]
mov qword [rsp + 0x90], rax
jmp 0x14013dc9d
mov dword [rsp + 0x188], 0
jmp 0x14013dcdf
mov eax, dword [rsp + 0x188]
add eax, 1
mov dword [rsp + 0x188], eax
lea rcx, [rsp + 0x98]
call fcn.140029420
mov rdx, rax
movsxd rax, dword [rsp + 0x188]
cmp rax, rdx
jae 0x14013dda7
mov dword [rsp + 0x18c], 0
movsxd rdx, dword [rsp + 0x188]
lea rcx, [rsp + 0x98]
call fcn.14001ea20
mov rdi, rax
movsxd rdx, dword [rsp + 0x188]
lea rcx, [rsp + 0x98]
call fcn.14001ea20
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.14001ea20
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.14001ea20
mov rax, qword [rax]
mov qword [rsp + 0x288], rax
mov rcx, qword [rsp + 0x288]
call fcn.140071ab0
jmp 0x14013dcce
lea rcx, [rsp + 0x98]
call fcn.14001ea70
lea rcx, [rsp + 0x158]
call fcn.140006e40
lea rcx, [rsp + 0x158]
call fcn.140006e10
mov qword [rsp + 0x100], 0
lea rcx, [rsp + 0x88]
call fcn.1400012c0
lea r8, [rsp + 0x100]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.14001f570
mov rdx, qword [rsp + 0x100]
add rdx, 0xc
mov rcx, qword [rsp + 0x3a0]
call fcn.1400aa17c
test eax, eax
je 0x14013de32
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0x494]
mov qword [rsp + 0x100], rax
jmp 0x14013ddfc
cmp dword [rsp + 0x3c0], 0
je 0x14013de46
mov rcx, qword [rsp + 0x58]
call fcn.14001e380
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x20000000
jbe 0x14013de8f
call fcn.1400ab1c0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013de8f
call fcn.1400ab1c0
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 0x14013deed
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x290], rax
lea rcx, [rsp + 0xd0]
call fcn.14001eb40
nop
lea rcx, [rsp + 0x108]
call fcn.14001eb40
nop
lea rcx, [rsp + 0x98]
call fcn.14001eb40
nop
lea rcx, [rsp + 0x88]
call fcn.140001470
mov rax, qword [rsp + 0x290]
jmp 0x14013ea32
cmp qword [rsp + 0x3a8], 0
jne 0x14013e087
mov rcx, qword [rsp + 0x3a0]
call fcn.1400f8fa0
mov dword [rsp + 0x340], eax
mov eax, dword [rsp + 0x340]
mov dword [rsp + 0x190], eax
cmp dword [rsp + 0x190], 4
je 0x14013df40
cmp dword [rsp + 0x190], 5
je 0x14013df40
cmp dword [rsp + 0x190], 7
jne 0x14013e059
mov rax, qword [rsp + 0x100]
cmp dword [rax + 0x4b4], 0
jne 0x14013e059
mov dword [rsp + 0x1a0], 0
mov rdx, qword [rsp + 0x3b0]
add rdx, 0x1b8
mov r8d, 4
lea rcx, [rsp + 0x1a0]
call fcn.1400a8d20
cmp dword [rsp + 0x190], 4
jne 0x14013dfb0
mov rcx, qword [rsp + 0x3a0]
call fcn.1400a81f4
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 0x14013dfd2
mov eax, dword [rsp + 0x1a0]
add eax, 1
mov dword [rsp + 0x1a0], eax
cmp dword [rsp + 0xcc], 0
je 0x14013e037
mov rax, qword [rsp + 0x3a0]
cmp dword [rax + 0x210], 0
jne 0x14013e037
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.1400a8d20
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 0x14013e0d0
call fcn.1400ab1c0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013e0d0
call fcn.1400ab1c0
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.1400f8fa0
mov dword [rsp + 0x344], eax
mov eax, dword [rsp + 0x344]
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x80], 4
je 0x14013e10a
cmp dword [rsp + 0x80], 5
jne 0x14013e866
mov rax, qword [rsp + 0x100]
cmp dword [rax + 0x4b4], 1
jne 0x14013e866
cmp qword [rsp + 0x3a8], 0
jl 0x14013e866
cmp qword [rsp + 0x3a8], 0xc00
jge 0x14013e866
mov rcx, qword [rsp + 0x3b8]
mov rax, qword [rsp + 0x3a8]
add rax, rcx
cmp rax, 0x200
jbe 0x14013e866
mov rax, qword [rsp + 0x100]
cmp dword [rax], 5
jne 0x14013e3d0
cmp qword [rsp + 0x3a8], 0x500
jge 0x14013e3d0
cmp dword [rsp + 0xcc], 0
je 0x14013e3d0
mov ecx, 0x200000
call fcn.1400f8940
mov qword [rsp + 0x1b8], rax
mov r8d, 0x200000
xor edx, edx
mov rcx, qword [rsp + 0x1b8]
call fcn.1400a8070
mov qword [rsp + 0x20], 0
mov r9d, 0x200000
mov r8, qword [rsp + 0x1b8]
xor edx, edx
mov rcx, qword [rsp + 0x100]
call fcn.1401008e0
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.1400a8d20
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.1400a8d20
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.1400f81e0
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.1400f81e0
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 0x14013e38b
mov eax, 0x200000
sub rax, qword [rsp + 0x3a8]
mov qword [rsp + 0x348], rax
jmp 0x14013e39b
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.1400a8d20
mov rcx, qword [rsp + 0x1b8]
call fcn.1400f8900
mov rax, qword [rsp + 0x100]
cmp dword [rax], 4
jne 0x14013e866
mov ecx, 0x200000
call fcn.1400f8940
mov qword [rsp + 0x210], rax
mov r8d, 0x200000
xor edx, edx
mov rcx, qword [rsp + 0x210]
call fcn.1400a8070
mov qword [rsp + 0x20], 0
mov r9d, 0x200000
mov r8, qword [rsp + 0x210]
xor edx, edx
mov rcx, qword [rsp + 0x100]
call fcn.1401008e0
mov rcx, qword [rsp + 0x3a0]
call fcn.1400a81f4
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.1400a8d20
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 0x14013e51c
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 0x14013e5d4
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, [0x14020e0e0]
lea rcx, [rsp + 0x228]
call fcn.140020ef0
test eax, eax
je 0x14013e593
jmp 0x14013e50b
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 0x14013e50b
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.1400f81e0
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.1400f81e0
mov edx, eax
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x10], edx
cmp dword [rsp + 0xcc], 0
je 0x14013e7ef
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.1400a8d20
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 0x14013e6c8
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 0x14013e78a
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, [0x14020e0e0]
lea rcx, [rsp + 0x228]
call fcn.140020ef0
test eax, eax
je 0x14013e73f
jmp 0x14013e6b7
mov r8d, 4
lea rdx, [rsp + 0x254]
lea rcx, [rsp + 0x230]
call fcn.1400a8d20
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 0x14013e6b7
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.1400f81e0
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.1400f81e0
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 0x14013e821
mov eax, 0x200000
sub rax, qword [rsp + 0x3a8]
mov qword [rsp + 0x350], rax
jmp 0x14013e831
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.1400a8d20
mov rcx, qword [rsp + 0x210]
call fcn.1400f8900
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xd8], 0x20000000
jbe 0x14013e8af
call fcn.1400ab1c0
cdq
mov ecx, 0xa
idiv ecx
movsxd rcx, edx
mov rax, qword [rsp + 0x390]
cmp dword [rax + rcx*4 + 0x4ac], 0
je 0x14013e8af
call fcn.1400ab1c0
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 0x14013e8d9
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 0x14013e9d8
mov rax, qword [rsp + 0x3a0]
cmp dword [rax + 0x210], 0
je 0x14013e969
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 0x14013e9d8
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 0x14013e9ea
mov dword [rsp + 0x54], 0
lea rcx, [rsp + 0xd0]
call fcn.14001eb40
nop
lea rcx, [rsp + 0x108]
call fcn.14001eb40
nop
lea rcx, [rsp + 0x98]
call fcn.14001eb40
nop
lea rcx, [rsp + 0x88]
call fcn.140001470
nop
jmp 0x14013ea2e
mov eax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x360]
xor rcx, rsp
call fcn.1400a8040
add rsp, 0x378
pop rdi
pop rsi
ret