Function at 0x1400046cd
Capabilities:
Connect socket
Resolve dns

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x140f8
call fcn.140001685
sub rsp, rax
movaps xmmword [rsp + 0x140e0], xmm6
mov r12, r8
mov rdi, rdx
mov rbx, rcx
mov r14, qword [rdx]
mov r15, qword [rdx + 8]
movzx ebp, word [rdx + 0x40]
movups xmm0, xmmword [rdx + 0x30]
xorps xmm6, xmm6
lea rcx, [rsp + 0x670]
movaps xmmword [rcx], xmm0
movaps xmmword [rcx + 0x10], xmm6
mov r13, qword [rsp + 0x14138]
mov edx, 0x40
mov r8b, 3
call fcn.14001108a
test rax, rax
je 0x1400047dd
mov rsi, rax
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x40], rbx
lea r12, [rdi + 0x30]
movaps xmm0, xmmword [rsp + 0x670]
movaps xmm1, xmmword [rsp + 0x680]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movups xmmword [rax + 0x30], xmm6
movups xmm0, xmmword [r12]
lea rdx, [rsp + 0x140]
movaps xmmword [rdx], xmm0
lea rbx, [rsp + 0xe0]
mov rcx, rbx
mov r8, r14
mov r9, r15
call fcn.14000ef37
movzx r13d, word [rbx + 0x10]
test r13w, r13w
jne 0x140004888
mov qword [rsp + 0x70], r12
mov r15, rsi
add r15, 0x30
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x38], rax
and qword [rsp + 0x78], 0
mov r12, qword [rsp + 0xe8]
mov cx, 0x64
xor r8d, r8d
mov eax, ebp
cmp ax, 0x64
jb 0x1400047f4
xor edx, edx
div cx
add r8, 2
jmp 0x1400047cc
lea rcx, [rsp + 0x670]
call fcn.14001104e
mov r13w, 2
jmp 0x140004895
cmp ax, 0xa
sbb r8, 0
add r8, 2
lea r13, [rsp + 0x78]
lea rbx, [rsp + 0x90]
mov qword [rbx], r13
mov rcx, rbx
mov rdx, r8
call fcn.140011195
mov qword [rbx], r13
lea r14, [rsp + 0x90]
mov edx, 1
mov rcx, r14
call fcn.140011195
mov r8, qword [r13]
mov rax, qword [rsp + 0x70]
movups xmm0, xmmword [rax]
lea rdx, [rsp + 0x150]
movaps xmmword [rdx], xmm0
lea rbx, [rsp + 0x118]
mov rcx, rbx
call fcn.140003d54
movzx r13d, word [rbx + 0x10]
test r13w, r13w
je 0x1400048b6
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
inc r12
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x38]
mov r8, r12
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, rsi
call fcn.140011173
mov rbx, qword [rsp + 0x40]
mov word [rbx + 0x10], r13w
movaps xmm6, xmmword [rsp + 0x140e0]
add rsp, 0x140f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movups xmm0, xmmword [rsp + 0x118]
movups xmmword [rsp + 0x90], xmm0
and qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], r14
mov r8d, 0xf
mov r9w, 0x64
lea rcx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
cmp bp, 0x64
jb 0x14000490c
mov eax, ebp
xor edx, edx
div r9w
movzx edx, dx
movzx edx, word [rcx + rdx*2]
mov word [rsp + r8 + 0x78], dx
add r8, 0xfffffffffffffffe
mov ebp, eax
jmp 0x1400048e9
cmp bp, 9
ja 0x140004920
add bpl, 0x30
mov byte [rsp + r8 + 0x79], bpl
inc r8
jmp 0x14000492d
movzx eax, bp
movzx eax, word [rcx + rax*2]
mov word [rsp + r8 + 0x78], ax
lea rcx, [rsp + r8]
add rcx, 0x78
mov edx, 0x11
sub rdx, r8
lea r8, [rsp + 0xa8]
call fcn.140010d0e
test ax, ax
jne 0x140004975
lea rcx, [rsp + 0x110]
mov qword [rcx], r14
lea rdx, [0x140030048]
mov r8d, 1
call fcn.140010542
test ax, ax
je 0x140004a71
lea r14, [rsp + 0x68]
and qword [r14], 0
xor ebp, ebp
lea rbx, [0x14002fe20]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x50]
mov r8, rbx
mov r9, r14
call sub.WS2_32.dll_getaddrinfo
cmp ax, 0x276d
jne 0x1400049f3
test bpl, 1
jne 0x140004ce7
call fcn.1400041fb
mov bpl, 1
test ax, ax
je 0x140004987
mov r13d, eax
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov rbx, qword [rsp + 0x48]
mov qword [rsp + 0x20], rbx
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
inc r12
mov qword [rsp + 0x20], rbx
jmp 0x14000487a
movzx eax, ax
cmp eax, 0x2afb
mov rbx, qword [rsp + 0x40]
je 0x140004a90
mov rbp, r12
cmp eax, 8
mov r12, qword [rsp + 0x48]
mov r8, qword [rsp + 0x58]
je 0x140004ae2
cmp eax, 0x273f
je 0x140004b17
cmp eax, 0x277d
je 0x140004b5f
cmp eax, 0x2af9
je 0x140004ba7
cmp eax, 0x2afa
je 0x140004bef
test eax, eax
jne 0x140004c37
xor r13d, r13d
mov r12, rbp
mov r14, qword [r14]
test r14, r14
je 0x140004c7f
cmp qword [r14 + 0x20], 1
sbb r13, 0xffffffffffffffff
add r14, 0x28
jmp 0x140004a56
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x58], rax
jmp 0x140004975
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov r14, qword [rsp + 0x48]
mov qword [rsp + 0x20], r14
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
inc r12
mov qword [rsp + 0x20], r14
mov rdx, qword [rsp + 0x38]
mov r8, r12
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, rsi
call fcn.140011173
mov r13w, 0x35
jmp 0x140004895
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x20], r12
mov rdx, qword [rsp + 0x50]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov r8, rbp
inc r8
mov qword [rsp + 0x20], r12
mov rdx, qword [rsp + 0x38]
jmp 0x140004cd4
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x20], r12
mov rdx, qword [rsp + 0x50]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov r8, rbp
inc r8
mov qword [rsp + 0x20], r12
mov rdx, qword [rsp + 0x38]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, rsi
call fcn.140011173
mov r13w, 0x26
jmp 0x140004895
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x20], r12
mov rdx, qword [rsp + 0x50]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov r8, rbp
inc r8
mov qword [rsp + 0x20], r12
mov rdx, qword [rsp + 0x38]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, rsi
call fcn.140011173
mov r13w, 0x37
jmp 0x140004895
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x20], r12
mov rdx, qword [rsp + 0x50]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov r8, rbp
inc r8
mov qword [rsp + 0x20], r12
mov rdx, qword [rsp + 0x38]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, rsi
call fcn.140011173
mov r13w, 0x36
jmp 0x140004895
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x20], r12
mov rdx, qword [rsp + 0x50]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov r8, rbp
inc r8
mov qword [rsp + 0x20], r12
mov rdx, qword [rsp + 0x38]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, rsi
call fcn.140011173
mov r13w, 0x34
jmp 0x140004895
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x20], r12
mov rdx, qword [rsp + 0x50]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov r8, rbp
inc r8
mov qword [rsp + 0x20], r12
mov rdx, qword [rsp + 0x38]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, rsi
call fcn.140011173
mov r13w, 0xe
jmp 0x140004895
mov ecx, 0x1c
mov rax, r13
mul rcx
jno 0x140004d39
mov rcx, qword [rsp + 0x68]
call sub.WS2_32.dll_freeaddrinfo
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov r14, qword [rsp + 0x48]
mov qword [rsp + 0x20], r14
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
inc r12
mov qword [rsp + 0x20], r14
mov rdx, qword [rsp + 0x38]
mov r8, r12
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, rsi
call fcn.140011173
jmp 0x1400047ea
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov rbx, qword [rsp + 0x48]
mov qword [rsp + 0x20], rbx
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
inc r12
mov qword [rsp + 0x20], rbx
mov rdx, qword [rsp + 0x38]
mov r8, r12
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, rsi
call fcn.140011173
mov r13w, 0xe
jmp 0x140004890
test rax, rax
je 0x140004d56
mov rcx, rsi
mov rdx, rax
mov r8b, 2
call fcn.14001108a
test rax, rax
jne 0x140004d5d
jmp 0x140004c90
mov rax, 0xfffffffffffffffc
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x28], r13
lea rbx, [rsp + 0x68]
xor r14d, r14d
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
mov rbx, qword [rbx]
test rbx, rbx
je 0x140004e54
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140004e4b
imul rax, r14, 0x1c
add rax, qword [rsi + 0x20]
cmp word [rcx], 2
jne 0x140004da3
movups xmm0, xmmword [rcx]
jmp 0x140004db2
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0xc]
movups xmmword [rsp + 0x16c], xmm1
movaps xmmword [rsp + 0x160], xmm0
movups xmm0, xmmword [rsp + 0x16c]
movups xmmword [rax + 0xc], xmm0
movaps xmm0, xmmword [rsp + 0x160]
movups xmmword [rax], xmm0
mov r8, qword [rbx + 0x18]
test r8, r8
je 0x140004e48
cmp qword [r15], 0
jne 0x140004e48
mov qword [rsp + 0xb0], rsi
lea rax, fcn.14001108a
mov qword [rsp + 0xb8], rax
mov r9, 0xffffffffffffffff
cmp byte [r8 + r9 + 1], 0
lea r9, [r9 + 1]
jne 0x140004dfe
lea rcx, [rsp + 0xf8]
lea rdx, [rsp + 0xb0]
call fcn.140004044
movzx r13d, word [rsp + 0x108]
test r13w, r13w
jne 0x14000503b
movups xmm0, xmmword [rsp + 0xf8]
movups xmmword [rsi + 0x30], xmm0
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
inc r14
add rbx, 0x28
jmp 0x140004d77
mov rcx, qword [rsp + 0x68]
call sub.WS2_32.dll_freeaddrinfo
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x20], r12
mov rdx, qword [rsp + 0x50]
mov r8, r13
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov r8, rbp
inc r8
mov qword [rsp + 0x20], r12
mov rdx, qword [rsp + 0x38]
xor r9d, r9d
call qword [rax + 0x10]
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x14000501d
mov rcx, qword [rsi + 0x20]
xor r15d, r15d
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x38], rcx
cmp r15, rax
je 0x1400050a4
imul rax, r15, 0x1c
movzx ebx, word [rcx + rax]
movups xmm0, xmmword [rcx + rax + 0xc]
movups xmmword [rsp + 0xca], xmm0
movups xmm0, xmmword [rcx + rax + 2]
movaps xmmword [rsp + 0xc0], xmm0
movzx ebp, bx
xor r12d, r12d
and dword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
mov ecx, ebp
mov edx, 1
mov r8d, 6
xor r9d, r9d
call sub.WS2_32.dll_WSASocketW
cmp rax, 0xffffffffffffffff
jne 0x140004f43
call sub.WS2_32.dll_WSAGetLastError
cmp ax, 0x276d
jne 0x140004fe6
test r12b, 1
jne 0x14000502f
call fcn.1400041fb
mov r12b, 1
test ax, ax
je 0x140004eeb
mov r13d, eax
mov rbx, qword [rsp + 0x40]
jmp 0x140004fc9
mov r14, rax
mov word [rsp + 0x670], bx
movups xmm0, xmmword [rsp + 0xca]
lea rax, [rsp + 0x672]
movups xmmword [rax + 0xa], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [rax], xmm0
cmp bx, 2
mov r8d, 0x1c
mov eax, 0x10
cmove r8d, eax
mov rcx, r14
lea rdx, [rsp + 0x670]
call sub.WS2_32.dll_connect
test eax, eax
je 0x1400050b6
call sub.WS2_32.dll_WSAGetLastError
add eax, 0xffffd8c1
mov r13w, 0xe
cmp ax, 0x12
mov rbx, qword [rsp + 0x40]
ja 0x140004fc1
movzx eax, ax
lea rcx, [0x140030270]
movzx r13d, word [rcx + rax*2]
mov rcx, r14
call fcn.1400111ae
inc r15
cmp r13w, 0x42
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
je 0x140004eba
jmp 0x140005097
movzx eax, ax
cmp eax, 0x2728
mov rbx, qword [rsp + 0x40]
je 0x140005084
cmp eax, 0x273b
je 0x14000508b
cmp eax, 0x273f
je 0x140005092
cmp eax, 0x2747
jne 0x14000502f
mov r13w, 0x15
jmp 0x140005034
mov rcx, rsi
call fcn.140011173
mov r13w, 0x36
jmp 0x140004890
mov r13w, 0xe
mov rbx, qword [rsp + 0x40]
jmp 0x140005097
mov rcx, qword [rsp + 0x68]
call sub.WS2_32.dll_freeaddrinfo
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov rbx, qword [rsp + 0x48]
mov qword [rsp + 0x20], rbx
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
xor r9d, r9d
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov r8, rbp
inc r8
mov qword [rsp + 0x20], rbx
mov rdx, qword [rsp + 0x38]
jmp 0x140004882
mov r13w, 0x12
jmp 0x140005097
mov r13w, 0x28
jmp 0x140005097
mov r13w, 0x26
mov rcx, rsi
call fcn.140011173
jmp 0x140004895
mov rcx, rsi
call fcn.140011173
mov r13w, 0x42
jmp 0x140004895
mov rcx, rsi
call fcn.140011173
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x48], rax
mov r13, qword [rdi + 0x18]
lea rcx, [rsp + 0x678]
mov qword [rcx - 8], r14
lea r14, [rsp + 0x1508]
xor r15d, r15d
mov r8d, 0xe88
xor edx, edx
call fcn.140002794
mov dword [r14 - 0x8f0], 0x3030301
lea rbx, [rsp + 0x1510]
mov r8d, 0xc48
mov rcx, rbx
xor edx, edx
call fcn.140002794
lea rax, [0x140032648]
mov qword [rbx - 8], rax
lea rax, [0x140033468]
mov qword [rbx + 0xa90], rax
lea r12, [rsp + 0xc1c]
xorps xmm0, xmm0
movups xmmword [r12 + 0x1184], xmm0
lea rsi, [0x140031d70]
mov ecx, 0x5a
mov rdi, r12
rep movsb byte [rdi], byte [rsi]
mov byte [r12 + 0x60], 0x2d
lea rax, [fcn.1400278da]
mov qword [rbx - 0x10], rax
lea rax, [0x140027748]
mov qword [r14 - 0x80], rax
lea rax, [0x140031d00]
mov qword [r12 + 0x864], rax
lea rcx, [0x1400171b7]
mov qword [rbx - 0x80], rcx
mov rcx, qword [r14 - 0x80]
mov qword [r12 + 0x153c], rcx
mov rcx, qword [r14 - 0x78]
mov qword [r12 + 0x1544], rcx
mov qword [r12 + 0x154c], rax
lea rax, [0x140031dd0]
movaps xmm0, xmmword [r15 + rax]
movups xmmword [rsp + r15 + 0x1378], xmm0
movups xmmword [rsp + r15 + 0x1f28], xmm0
add r15, 0x10
cmp r15, 0x30
jne 0x1400051ad
mov qword [rsp + 0x13a8], r14
lea rax, [0x14001a688]
mov qword [rsp + 0x13e0], rax
lea rax, [0x14001b11e]
mov qword [rsp + 0x13e8], rax
lea rax, [0x14001b5b0]
mov qword [rsp + 0x13f0], rax
lea rcx, [rsp + 0x678]
call fcn.14001a5dd
lea rax, [0x140031e00]
mov qword [rsp + 0x1470], rax
lea rax, [0x140031e20]
mov qword [rsp + 0x1478], rax
xor eax, eax
xchg rbx, r8
cpuid
xchg rbx, r8
lea r9, [0x140032040]
lea r8, [0x140031e40]
mov dword [rsp + 0x38], eax
test eax, eax
je 0x140005276
mov eax, 1
xchg rbx, r10
cpuid
xchg rbx, r10
not ecx
test ecx, 0x2080000
jne 0x1400052a6
lea rax, [0x140031ee0]
mov qword [rsp + 0x1410], rax
jmp 0x1400052ae
mov qword [rsp + 0x1410], r9
mov qword [rsp + 0x1450], r8
lea rax, [0x140031e60]
mov qword [rsp + 0x1458], rax
lea rax, [0x140031f80]
mov qword [rsp + 0x1408], rax
jmp 0x140005306
mov qword [rsp + 0x1410], r9
mov qword [rsp + 0x1450], r8
lea rax, [0x140031e60]
mov qword [rsp + 0x1458], rax
mov eax, 1
xchg rbx, r8
cpuid
xchg rbx, r8
not ecx
test ecx, 0x2080000
jne 0x1400052e5
lea rax, [0x140032000]
jmp 0x1400052ec
lea rax, [0x140031f80]
mov qword [rsp + 0x1408], rax
mov eax, 1
xchg rbx, r8
cpuid
xchg rbx, r8
test cl, 2
jne 0x14000530f
lea rax, [0x140025969]
jmp 0x140005316
lea rax, [0x14002395e]
lea rsi, [rsp + 0x2198]
mov qword [rsi - 0xd70], rax
lea rax, [0x140031cc0]
mov qword [rsi - 0xd58], rax
lea rax, [0x140031ce0]
mov qword [rsi - 0xd50], rax
lea rax, [0x140031f18]
mov qword [rsi - 0xd80], rax
lea rax, [0x140032020]
mov qword [rsi - 0xd78], rax
lea rax, [0x140031e80]
mov qword [rsi - 0xd38], rax
lea rax, [0x140031ea0]
mov qword [rsi - 0xd30], rax
lea rax, [0x14001c941]
mov qword [rsi - 0xd68], rax
lea rax, [0x14001f575]
mov qword [rsi - 0xd60], rax
movzx r14d, byte [rsi - 0x151c]
lea r8, [r14 + r14]
mov rcx, rsi
mov rdx, r12
call fcn.1400027aa
lea rdi, [r14 - 6]
cmp rdi, 2
jae 0x1400055f7
lea ebx, [r14 - 5]
lea rdi, [rsp + 0x160]
mov r8d, 4
mov rdx, rdi
call fcn.140003eb4
mov ecx, dword [rdi]
movzx ebx, bl
imul rcx, rbx
cmp ecx, ebx
jae 0x140005428
mov al, 5
sub al, r14b
add r14b, 0xfa
movzx ebp, al
cmp bpl, r14b
jbe 0x140005401
sub ebp, ebx
cmp ebp, ebx
jb 0x140005401
movzx eax, bpl
div bl
movzx ebp, ah
lea rdi, [rsp + 0x160]
cmp ecx, ebp
jae 0x140005428
mov r8d, 4
mov rdx, rdi
call fcn.140003eb4
mov ecx, dword [rsp + 0x160]
imul rcx, rbx
jmp 0x140005409
shr rcx, 0x20
add cl, 6
mov byte [rsp + 0xc7c], cl
mov ecx, 0x18
mov rdi, r12
rep movsd dword [rdi], dword [rsi]
xor esi, esi
lea rdi, [rsp + 0x160]
xor ebx, ebx
xor ebp, ebp
cmp rsi, 5
je 0x140005483
mov r8d, 1
mov rdx, rdi
call fcn.140003eb4
movzx eax, byte [rsp + 0x160]
and eax, 1
add ebp, eax
mov edx, 4
mov ecx, esi
shl edx, cl
neg eax
and edx, eax
or ebx, edx
inc rsi
jmp 0x14000544e
lea rdx, [rsp + 0x21f8]
mov dword [rdx - 0xd5c], ebp
mov dword [rdx - 0xd60], ebx
lea rsi, [rsp + 0x624d]
mov qword [rsp + 0x20], 0x4055
mov r8d, 0x4145
lea rbx, [rsp + 0x678]
mov rcx, rbx
mov r9, rsi
call fcn.14001a737
lea rcx, [rsp + 0x160]
mov rdx, qword [rsp + 0x48]
mov r8, r13
call fcn.1400027aa
xor edi, edi
mov byte [rsp + r13 + 0x160], dil
and qword [rsp + 0x20], 0
mov rcx, rbx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.14001a737
movzx eax, word [rsi - 0x5635]
mov word [rsi - 0x5b6d], ax
mov byte [rsi - 0x546f], dil
mov r8d, dword [rsi - 0x563d]
test r8d, r8d
jne 0x1400055a7
mov r14, qword [rsp + 0x1390]
test r14, r14
jne 0x140005546
mov r14, qword [rsp + 0x1398]
test r14, r14
jne 0x140005546
mov r14, qword [rsp + 0x1380]
test r14, r14
je 0x140005b19
lea rsi, [rsp + 0xb80]
lea rax, [0x140032088]
mov qword [rsi], rax
mov edi, dword [r14 + 8]
shr edi, 8
and edi, 0x7f
lea rcx, [rsp + 0xb88]
xor edx, edx
mov r8, rdi
call fcn.140002794
lea rbx, [rsp + 0xbc8]
mov rcx, rbx
mov dl, 1
mov r8, rdi
call fcn.140002794
mov qword [rbx + 0x40], r14
mov rcx, rsi
xor edx, edx
xor r8d, r8d
call fcn.140022ca5
mov dword [rbx + 0x48], 1
mov r8d, 1
cmp dword [rsp + 0xc14], 0
jne 0x140005656
cmp dword [rsp + 0x38], 0
je 0x14000564b
mov eax, 1
xchg rbx, r9
cpuid
xchg rbx, r9
bt ecx, 0x1e
jae 0x14000564b
lea rcx, [rsp + 0xb80]
call fcn.14002324f
test eax, eax
je 0x140005643
mov dword [rsp + 0xc10], 2
mov r8d, 2
jmp 0x14000564b
lea r15, [r14 - 7]
xor ebp, ebp
lea rbx, [0x14002f858]
cmp r15, rbp
je 0x1400053ba
mov rcx, rbx
mov rdx, rdi
call fcn.1400111ca
add rax, rbp
movzx ecx, word [rsp + rbp*2 + 0x21a4]
movzx edx, word [rsp + rax*2 + 0x21a4]
mov word [rsp + rbp*2 + 0x21a4], dx
mov word [rsp + rax*2 + 0x21a4], cx
inc rbp
dec rdi
jmp 0x140005604
mov r8d, dword [rsp + 0xc10]
mov dword [rsp + 0xc14], 1
cmp r8d, 1
jg 0x140005682
cmp byte [rsp + 0x6d8], 0
je 0x14000576c
mov byte [rsp + 0x6d8], 0
mov dword [rsp + 0x678], 8
jmp 0x14000576c
mov byte [rsp + 0xe9b], 0
lea rcx, [rsp + 0x160]
call sub.msvcrt.dll_strlen
inc rax
cmp rax, 0x101
jb 0x1400056c8
cmp byte [rsp + 0x6d8], 0
je 0x14000576c
mov byte [rsp + 0x6d8], 0
mov dword [rsp + 0x678], 1
jmp 0x14000576c
lea rsi, [rsp + 0xc7d]
lea rdx, [rsp + 0x160]
mov rcx, rsi
mov r8, rax
call fcn.1400027aa
xorps xmm0, xmm0
movups xmmword [rsi - 0x5d5], xmm0
mov qword [rsi - 0x5c5], 5
cmp byte [rsi - 0x5a5], 1
jne 0x140005709
mov byte [rsp + 0x6d8], 3
lea rsi, [rsp + 0x678]
mov rcx, rsi
call fcn.14001a809
lea rax, [rsp + 0xed0]
mov qword [rax - 0x18], rax
lea rcx, [rsp + 0xf54]
mov qword [rax - 0x10], rcx
and dword [rcx - 4], 0
lea rdx, [0x140030f13]
mov qword [rax - 8], rdx
lea rax, [0x140017964]
mov qword [rcx + 0x2a4], rax
xor eax, eax
mov byte [rcx - 0x87a], al
mov byte [rcx - 0x3dc], al
mov byte [rcx + 0x2ad], al
mov rcx, rsi
xor edx, edx
call fcn.14001a997
lea rax, [rsp + 0x678]
mov qword [rsp + 0x2170], rax
lea rax, [0x140011254]
mov qword [rsp + 0x2178], rax
lea rdx, [rsp + 0x670]
mov qword [rsp + 0x2180], rdx
lea rax, [0x14001129b]
mov qword [rsp + 0x2188], rax
mov qword [rsp + 0x2190], rdx
lea rcx, [rsp + 0xa398]
mov r8d, 0x9d28
call fcn.1400027aa
mov rax, qword [rsp + 0x60]
mov r14, qword [rax]
mov rbx, qword [rax + 8]
lea rsi, [rsp + 0xbe98]
mov rdi, qword [rsi]
test rbx, rbx
je 0x14000586b
mov rcx, rsi
mov edx, 8
call fcn.14001b8bc
test eax, eax
js 0x140005a01
test byte [rdi + 0x500], 1
mov r15d, 0
mov ecx, 0
je 0x140005837
mov al, byte [rdi + 0x60]
and al, 0xfe
mov r15d, 0
mov ecx, 0
cmp al, 2
jne 0x140005837
mov rcx, qword [rdi + 0x48]
mov r15, qword [rdi + 0x50]
sub r15, rcx
jne 0x140005833
xor ecx, ecx
jmp 0x140005837
add rcx, qword [rdi + 0x10]
cmp r15, rbx
cmovae r15, rbx
mov rdx, r14
mov r8, r15
call fcn.1400027aa
mov rcx, rdi
mov rdx, r15
call fcn.14001a8ca
mov eax, r15d
add r14, rax
sub rbx, rax
test r15d, r15d
jns 0x1400057dc
jmp 0x140005a01
cmp byte [rdi + 0x60], 0
je 0x140005882
test byte [rdi + 0x500], 1
je 0x140005882
mov rcx, rdi
call fcn.14001a8f9
mov rcx, rsi
mov edx, 0x18
call fcn.14001b8bc
test eax, eax
js 0x140005a01
mov rax, qword [rsp + 0x60]
and qword [rax + 8], 0
xor r13d, r13d
lea r15, [rsp + 0x260]
mov r8d, 0x410
mov rcx, r15
xor edx, edx
call fcn.140002794
lea rax, [rdi + 0x30]
mov qword [rsp + 0x48], rax
mov ebp, 0x400
lea r12, [rsp + 0x670]
xorps xmm6, xmm6
xor eax, eax
cmp rax, 0x400
je 0x1400059ab
add r13, rax
mov r14, r13
sub r14, rbp
cmovb r14, r13
cmovae r13, rax
sub r13, rbp
je 0x140005a2c
mov rcx, rsi
mov edx, 0x10
call fcn.14001b8bc
test eax, eax
js 0x140005a1e
lea rax, [rsp + 0x270]
add r14, rax
neg r13
mov rcx, rdi
mov rdx, r12
call fcn.14001a95c
mov rcx, qword [rsp + 0x670]
cmp rcx, r13
cmovb r13, rcx
mov qword [rsp + 0x670], r13
mov rcx, r14
mov rdx, rax
mov r8, r13
call fcn.1400027aa
mov rax, qword [rdi + 0x30]
add rax, r13
mov qword [rdi + 0x30], rax
cmp rax, qword [rdi + 0x38]
jne 0x140005991
cmp qword [rdi + 0x40], 0
je 0x140005977
mov eax, 5
mov qword [rdi + 0x38], rax
mov qword [rdi + 0x30], rax
jmp 0x140005991
mov rax, qword [rsp + 0x48]
movups xmmword [rax], xmm6
mov qword [rdi + 0x40], 5
cmp byte [rdi + 0x60], 1
jne 0x140005991
mov byte [rdi + 0x60], 3
test r13d, r13d
js 0x140005a1e
je 0x140005a2c
mov eax, r13d
add qword [rsp + 0x268], rax
mov rcx, r15
call fcn.1400113fa
mov r14, rdx
mov rcx, qword [rsp + 0x60]
mov rdx, rax
mov r8, r14
call fcn.1400042c1
test ax, ax
jne 0x140005a89
mov rax, qword [rsp + 0x268]
mov r13d, dword [rsp + 0x260]
add r13d, r14d
and r13d, 0x3ff
mov qword [rsp + 0x260], r13
sub rax, r14
mov qword [rsp + 0x268], rax
jmp 0x1400058d7
lea rcx, [rsp + 0xa398]
call fcn.1400112d6
mov rax, qword [rsp + 0x40]
mov word [rax + 0x10], 5
jmp 0x14000489a
mov bx, 5
cmp dword [rsp + 0xa3a0], 0
jne 0x140005a8b
lea rsi, [rsp + 0x260]
mov rax, qword [rsi + 8]
test rax, rax
je 0x140005aa6
mov rcx, rsi
call fcn.1400113fa
mov rdi, rdx
mov rcx, qword [rsp + 0x60]
mov rdx, rax
mov r8, rdi
call fcn.1400042c1
test ax, ax
jne 0x140005a89
mov rax, qword [rsp + 0x268]
mov ecx, dword [rsp + 0x260]
add ecx, edi
and ecx, 0x3ff
mov qword [rsp + 0x260], rcx
sub rax, rdi
mov qword [rsp + 0x268], rax
jmp 0x140005a38
mov ebx, eax
lea rcx, [rsp + 0xa398]
call fcn.1400112d6
mov rax, qword [rsp + 0x40]
mov word [rax + 0x10], bx
jmp 0x14000489a
mov rax, qword [rsp + 0x60]
mov rsi, qword [rax + 8]
cmp rsi, 4
jae 0x140005ade
lea rcx, [rsp + 0xa398]
call fcn.1400112d6
movups xmm0, xmmword [0x14002f208]
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 5
jmp 0x14000489a
mov rax, qword [rsp + 0x60]
mov rbx, qword [rax]
add rsi, 0xfffffffffffffffc
xor r14d, r14d
lea rdi, str._r_n_r_n
cmp r14, rsi
ja 0x140005ab5
lea rcx, [rbx + r14]
mov edx, 4
mov r9d, 4
mov r8, rdi
call fcn.140005c99
test al, 1
jne 0x140005b3f
inc r14
jmp 0x140005af4
cmp byte [rsp + 0x6d8], 0
je 0x14000576c
mov byte [rsp + 0x6d8], 0
mov dword [rsp + 0x678], 2
jmp 0x14000576c
mov rax, qword [rsp + 0x70]
movups xmm0, xmmword [rax]
lea rdx, [rsp + 0x130]
movaps xmmword [rdx], xmm0
lea r8, [rbx + r14]
add r8, 4
sub rsi, r14
mov rcx, qword [rsp + 0x40]
mov r9, rsi
call fcn.140004044
lea rcx, [rsp + 0xa398]
call fcn.1400112d6
jmp 0x14000489a