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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x298
mov rax, qword [rsp + 0x308]
mov dword [rax], 0
mov rsi, r8
mov rbp, r9
mov r12, rcx
mov rax, qword [rsp + 0x310]
lea rbx, [rsp + 0xd0]
mov r14d, edx
mov dword [rax], 0
mov qword [rsp + 0x28], r9
mov r9d, 0x40
mov qword [rsp + 0x20], r8
xor r8d, r8d
mov qword [rsp + 0x30], rbx
call fcn.00443880
test eax, eax
je 0x442abd
mov rax, qword [rsp + 0xd0]
cmp byte [rax], 0x4d
je 0x442af0
mov r9, rbp
mov r8, rsi
mov rdx, rbx
mov rcx, r12
call fcn.004439b0
xor r8d, r8d
mov qword [rsp + 0x30], rbx
mov edx, r14d
mov qword [rsp + 0x28], rbp
mov r9d, 0x18
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.00443880
test eax, eax
jne 0x442c30
cmp r14d, 0xffffffff
jne 0x442ae0
nop dword [rax + rax]
xor eax, eax
add rsp, 0x298
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8, rbp
mov rdx, rsi
mov ecx, r14d
call fcn.00442840
jmp 0x442ac8
cmp byte [rax + 1], 0x5a
jne 0x442a81
mov edi, dword [rax + 0x3c]
mov r9, rbp
mov r8, rsi
mov rdx, rbx
mov rcx, r12
call fcn.004439b0
mov qword [rsp + 0x30], rbx
mov edx, r14d
mov rcx, r12
mov qword [rsp + 0x28], rbp
mov r9d, 0x18
mov qword [rsp + 0x20], rsi
mov r8, rdi
call fcn.00443880
test eax, eax
je 0x442abd
test rdi, rdi
je 0x442c30
mov rax, qword [rsp + 0xd0]
mov r9, rbp
mov r8, rsi
mov rcx, r12
lea rdx, [rax + 4]
mov r13d, dword [rax]
mov rax, qword [rax + 4]
mov qword [rsp + 0xb0], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0xb8], rax
mov eax, dword [rdx + 0x10]
mov rdx, rbx
mov dword [rsp + 0xc0], eax
call fcn.004439b0
cmp r13d, 0x4550
jne 0x442c41
mov eax, dword [rsp + 0xbc]
mov qword [rsp + 0x28], rbp
lea r8, [rdi + 0x18]
mov edx, r14d
movzx ebx, word [rsp + 0xb2]
lea rcx, [rsp + 0xf0]
mov qword [rsp + 0x20], rsi
movzx r13d, word [rsp + 0xc0]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x30], rcx
mov rcx, r12
mov dword [rsp + 0x50], eax
movzx eax, bx
lea rax, [rax + rax*4]
lea r9, [r13 + rax*8]
call fcn.00443880
test eax, eax
je 0x442abd
mov rax, qword [rsp + 0xf0]
cmp r13w, 0x20
lea rdi, [rax + r13]
mov qword [rsp + 0x70], rdi
jbe 0x442c5f
movzx edx, word [rax]
cmp dx, 0x10b
je 0x443232
cmp dx, 0x20b
jne 0x44327f
mov dword [rsp + 0xa4], 1
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xa8], rax
jmp 0x442c76
mov r9, rbp
mov r8, rsi
mov rdx, rbx
mov rcx, r12
call fcn.004439b0
lea rdx, str.executable_file_is_not_COFF
xor r8d, r8d
mov rcx, rbp
call rsi
cmp r14d, 0xffffffff
je 0x442ac8
jmp 0x442ae0
mov qword [rsp + 0xa8], 0
mov dword [rsp + 0xa4], 0
mov edx, dword [rsp + 0xb8]
movzx eax, bx
mov dword [rsp + 0x58], eax
test edx, edx
je 0x442d2e
mov eax, dword [rsp + 0x50]
mov edi, edx
mov qword [rsp + 0x28], rbp
mov edx, r14d
lea r15, [rsp + 0x130]
mov qword [rsp + 0x20], rsi
mov r8, rdi
mov rcx, r12
mov qword [rsp + 0x30], r15
lea eax, [rax + rax*8]
lea r13d, [rax + rax]
lea r9, [r13 + 4]
mov qword [rsp + 0x78], r13
call fcn.00443880
test eax, eax
je 0x44328e
mov rax, qword [rsp + 0x130]
mov dword [rsp + 0x6c], 0
mov eax, dword [rax + r13]
cmp rax, 4
mov qword [rsp + 0x88], rax
ja 0x4434b8
mov r10d, dword [rsp + 0x58]
lea rdi, [rsp + 0x170]
xor eax, eax
mov ecx, 0x12
mov qword [rsp + 0x80], rdi
rep stosq qword [rdi], rax
test r10d, r10d
je 0x443664
mov dword [rsp + 0xa0], 1
mov edx, dword [rsp + 0x50]
jmp 0x442d7c
lea rdi, [rsp + 0x170]
xor eax, eax
mov ecx, 0x12
mov qword [rsp + 0x80], rdi
rep stosq qword [rdi], rax
mov ecx, dword [rsp + 0x58]
test ecx, ecx
je 0x4435f0
mov dword [rsp + 0xa0], 0
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x88], 0
mov dword [rsp + 0x6c], 0
mov r15, qword [rsp + 0x70]
mov qword [rsp + 0x2f0], rsi
lea r13, [0x004d5400]
mov dword [rsp + 0x50], 0
mov word [rsp + 0x90], bx
mov dword [rsp + 0x98], edx
mov qword [rsp + 0x2e0], r12
mov rsi, r15
mov dword [rsp + 0x2e8], r14d
mov qword [rsp + 0x2f8], rbp
nop word [rax + rax]
xor r14d, r14d
xor edi, edi
cmp byte [rsi], 0x2f
je 0x443200
mov r12, qword [rsp + 0x110]
xor r15d, r15d
mov rbx, qword [rsp + 0x120]
add r12, r14
test edi, edi
mov rcx, qword [r13 + r15*8]
mov ebp, r15d
jne 0x442e42
xor eax, eax
nop word [rax + rax]
movzx edx, byte [rcx + rax]
cmp dl, byte [rsi + rax]
jne 0x4431b0
test dl, dl
je 0x4431cb
add rax, 1
cmp rax, 8
jne 0x442e00
xor eax, eax
cmp byte [rcx + 8], 0
sete al
jmp 0x442e57
add r15, 1
cmp r15, 9
je 0x442e69
mov rcx, qword [r13 + r15*8]
mov ebp, r15d
cmp r14, rbx
jae 0x442e30
mov rdx, r12
call sub.msvcrt.dll_strcmp
test eax, eax
sete al
movzx eax, al
test eax, eax
jne 0x4431cb
add r15, 1
cmp r15, 9
jne 0x442dec
add dword [rsp + 0x50], 1
add rsi, 0x28
mov eax, dword [rsp + 0x50]
mov edi, dword [rsp + 0x58]
cmp eax, edi
jb 0x442dc8
mov edx, dword [rsp + 0x98]
movzx ebx, word [rsp + 0x90]
mov r12, qword [rsp + 0x2e0]
mov r14d, dword [rsp + 0x2e8]
test edx, edx
mov rsi, qword [rsp + 0x2f0]
mov rbp, qword [rsp + 0x2f8]
je 0x443048
mov r9, rbp
mov r8, rsi
mov edx, 0x18
mov rcx, r12
call fcn.00442260
test rax, rax
mov qword [rsp + 0x50], rax
je 0x4432d0
mov rax, qword [rsp + 0x110]
movabs rdx, 0xe38e38e38e38e38f
mov r13, qword [rsp + 0x130]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x78]
mul rdx
mov rdi, rdx
shr rdi, 4
cmp qword [rsp + 0x78], 0x11
jbe 0x4436c9
mov r11, qword [rsp + 0x88]
xor r10d, r10d
xor r15d, r15d
xor edx, edx
jmp 0x442f61
mov r8d, dword [rax + 4]
cmp r8, r11
jae 0x4432a6
shr cx, 4
cmp cx, 2
jne 0x442f4f
cmp r9b, 1
sbb r15, 0xffffffffffffffff
movzx eax, byte [rax + 0x11]
lea rdx, [rdx + rax + 1]
cmp rdx, rdi
jae 0x443367
lea rax, [rdx + rdx*8]
lea rax, [r13 + rax*2]
movzx r8d, word [rax + 0xc]
movzx ecx, word [rax + 0xe]
test r8w, r8w
setg r9b
cmp bx, r8w
jae 0x442f8a
test r9b, r9b
jne 0x4432a6
cmp byte [rax], 0
je 0x442f30
shr cx, 4
cmp cx, 2
jne 0x442f4f
test r9b, r9b
je 0x442f4f
add r15, 1
xor ecx, ecx
cmp byte [rax + rcx], 0
je 0x442fb4
add rcx, 1
cmp rcx, 8
jne 0x442fa4
lea r10, [rcx + r10 + 1]
jmp 0x442f4f
mov r15, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x2f0]
mov rdi, qword [rsp + 0x58]
mov r8d, 0x10
mov rdx, r15
mov qword [r11], 0
mov qword [r11 + 8], 0xffffffffffffffff
lea r9, [0x004428d0]
mov rcx, rdi
call fcn.0044a040
mov rax, qword [rsp + 0x50]
lea rcx, [r12 + 0x30]
mov qword [rax], 0
mov qword [rax + 8], rdi
mov qword [rax + 0x10], r15
mov rax, qword [rsp + 0x308]
mov dword [rax], 1
mov r13d, dword [r12 + 8]
test r13d, r13d
je 0x443492
mov rdx, rcx
jmp 0x443034
mov rdx, rax
mov rax, qword [rdx]
test rax, rax
jne 0x443031
mov rdi, qword [rsp + 0x50]
lock cmpxchg qword [rdx], rdi
jne 0x44302c
mov rdx, qword [rsp + 0x60]
mov r9, rbp
mov r8, rsi
mov rcx, r12
call fcn.004439b0
mov edi, dword [rsp + 0xa0]
test edi, edi
jne 0x443214
mov rdx, qword [rsp + 0x80]
lea rdi, [rsp + 0x200]
xor r9d, r9d
xor ebx, ebx
nop
mov rcx, qword [rdx + 8]
test rcx, rcx
je 0x4430aa
mov rax, qword [rdx]
cmp rbx, rax
mov r8, rax
cmovle r8, rbx
test rbx, rbx
mov rbx, r8
cmove rbx, rax
add rax, rcx
cmp r9, rax
cmovl r9, rax
add rdx, 0x10
cmp rdx, rdi
jne 0x443080
test rbx, rbx
je 0x44324d
test r9, r9
je 0x44324d
sub r9, rbx
mov qword [rsp + 0x28], rbp
mov r8, rbx
mov edx, r14d
lea r13, [rsp + 0x150]
mov qword [rsp + 0x20], rsi
mov rcx, r12
mov qword [rsp + 0x30], r13
call fcn.00443880
test eax, eax
je 0x443340
mov r8, rbp
mov rdx, rsi
mov ecx, r14d
call fcn.00442840
test eax, eax
je 0x4435b0
mov r10, qword [rsp + 0x80]
lea rax, [rsp + 0x178]
mov r9, qword [rsp + 0x150]
lea rdx, [rsp + 0x248]
add r10, 0x98
mov r8, qword [rax]
xor ecx, ecx
test r8, r8
mov qword [rdx], r8
je 0x443149
mov rcx, r9
sub rcx, rbx
add rcx, qword [rax - 8]
add rax, 0x10
mov qword [rdx - 0x48], rcx
add rdx, 8
cmp r10, rax
jne 0x443132
mov rax, qword [rsp + 0x300]
xor r9d, r9d
xor edx, edx
mov r8, rdi
mov qword [rsp + 0x40], 0
mov rcx, r12
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], 0
call fcn.00449150
test eax, eax
je 0x443693
mov rax, qword [rsp + 0x310]
mov dword [rax], 1
jmp 0x443275
add r15, 1
cmp r15, 9
je 0x442e69
mov rcx, qword [r13 + r15*8]
mov ebp, r15d
jmp 0x442df8
mov eax, dword [rsi + 0x14]
movsxd r9, ebp
shl r9, 4
mov edx, dword [rsi + 0x10]
mov qword [rsp + r9 + 0x170], rax
mov eax, dword [rsi + 8]
cmp eax, edx
cmova rax, rdx
mov qword [rsp + r9 + 0x178], rax
jmp 0x442e69
lea rcx, [rsi + 1]
call sub.msvcrt.dll_atoi
mov r14d, eax
mov rdi, r14
jmp 0x442dd6
lea r15, [rsp + 0x130]
mov r9, rbp
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.004439b0
jmp 0x44306a
mov dword [rsp + 0xa4], 0
mov eax, dword [rax + 0x1c]
mov qword [rsp + 0xa8], rax
jmp 0x442c76
mov r8, rbp
mov rdx, rsi
mov ecx, r14d
call fcn.00442840
test eax, eax
je 0x443340
mov rax, qword [rsp + 0x300]
lea rdi, [0x00442890]
mov qword [rax], rdi
mov eax, 1
jmp 0x442aca
lea rdx, str.bad_magic_in_PE_optional_header
xor r8d, r8d
mov rcx, rbp
call rsi
mov rdx, qword [rsp + 0x60]
mov r9, rbp
mov r8, rsi
mov rcx, r12
call fcn.004439b0
jmp 0x442abd
lea rdx, str.invalid_section_or_offset_in_coff_symbol
xor r8d, r8d
mov rcx, rbp
call rsi
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rbp
mov r9, rsi
mov rcx, r12
mov r8d, 0x18
call fcn.004422b0
mov rdx, qword [rsp + 0x60]
mov r9, rbp
mov r8, rsi
mov rcx, r12
call fcn.004439b0
mov r9d, dword [rsp + 0x6c]
test r9d, r9d
je 0x44372e
mov r8, rsi
mov r9, rbp
mov rcx, r12
lea rdx, [rsp + 0x110]
call fcn.004439b0
mov r8d, dword [rsp + 0xa0]
test r8d, r8d
je 0x442abd
lea r15, [rsp + 0x130]
mov r9, rbp
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.004439b0
cmp r14d, 0xffffffff
je 0x442ac8
jmp 0x442ae0
mov ebx, dword [rsp + 0x6c]
test ebx, ebx
je 0x442abd
lea rdx, [rsp + 0x110]
mov r9, rbp
mov r8, rsi
mov rcx, r12
call fcn.004439b0
jmp 0x442abd
lea rax, [r15 + 1]
mov r9, rbp
mov r8, rsi
mov qword [rsp + 0x98], r10
shl rax, 4
mov rcx, r12
mov rdx, rax
mov qword [rsp + 0x78], rax
call fcn.00442260
test rax, rax
mov qword [rsp + 0x58], rax
je 0x4432b5
mov r10, qword [rsp + 0x98]
xor eax, eax
test r10, r10
jne 0x44356f
mov qword [rsp + 0x98], r15
mov r11, qword [rsp + 0x58]
xor ecx, ecx
mov r15, rax
mov qword [rsp + 0x2f0], rsi
mov rsi, qword [rsp + 0x88]
jmp 0x4433f7
shr dx, 4
cmp dx, 2
jne 0x4433e5
test r9b, r9b
jne 0x443513
movzx eax, byte [rax + 0x11]
lea rcx, [rcx + rax + 1]
cmp rcx, rdi
jae 0x442fbb
lea rax, [rcx + rcx*8]
lea rax, [r13 + rax*2]
movsx r8, word [rax + 0xc]
movzx edx, word [rax + 0xe]
test r8w, r8w
setg r9b
cmp bx, r8w
jae 0x443420
test r9b, r9b
jne 0x480930
cmp byte [rax], 0
jne 0x4433d2
mov r10d, dword [rax + 4]
cmp r10, rsi
jae 0x480930
shr dx, 4
cmp dx, 2
jne 0x4433e5
test r9b, r9b
je 0x4433e5
mov rdx, qword [rsp + 0x90]
add rdx, r10
mov r9d, dword [rsp + 0xa4]
test r9d, r9d
jne 0x443466
xor r9d, r9d
cmp byte [rdx], 0x5f
sete r9b
add rdx, r9
mov r10, qword [rsp + 0x70]
lea r8, [r8 + r8*4]
mov qword [r11], rdx
add r11, 0x10
mov edx, dword [rax + 8]
add edx, dword [r10 + r8*8 - 0x1c]
mov r10, qword [rsp + 0xa8]
add rdx, r10
mov qword [r11 - 8], rdx
jmp 0x4433e5
mov rax, qword [r12 + 0x30]
test rax, rax
je 0x4436fe
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x4434a0
mov rax, qword [rsp + 0x50]
mov qword [rdx], rax
jmp 0x443048
lea rax, [rsp + 0x110]
mov qword [rsp + 0x28], rbp
mov edx, r14d
mov rcx, r12
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x78]
mov r9, qword [rsp + 0x88]
mov qword [rsp + 0x20], rsi
lea r8, [rdi + rax]
call fcn.00443880
mov dword [rsp + 0x6c], 1
test eax, eax
jne 0x442cf5
mov rdx, qword [rsp + 0x60]
mov r9, rbp
mov r8, rsi
mov rcx, r12
call fcn.004439b0
jmp 0x443320
xor edx, edx
cmp byte [rax + rdx], 0
je 0x4436f5
add rdx, 1
cmp rdx, 8
jne 0x443515
mov r10d, 9
cmp edx, 8
mov r8d, edx
jae 0x443610
test dl, 4
jne 0x443708
test r8d, r8d
je 0x44355a
movzx r9d, byte [rax]
test r8b, 2
mov byte [r15], r9b
jne 0x44371d
mov byte [r15 + rdx], 0
mov rdx, r15
movsx r8, word [rax + 0xc]
add r15, r10
jmp 0x44344c
mov r9, rbp
mov r8, rsi
mov rdx, r10
mov rcx, r12
call fcn.00442260
test rax, rax
jne 0x4433ae
mov r8, qword [rsp + 0x78]
mov qword [rsp + 0x20], rbp
mov r9, rsi
mov rcx, r12
mov rdx, qword [rsp + 0x58]
call fcn.004422b0
jmp 0x4432b5
mov r11d, dword [rsp + 0x6c]
test r11d, r11d
je 0x4435d0
lea rdx, [rsp + 0x110]
mov r9, rbp
mov r8, rsi
mov rcx, r12
call fcn.004439b0
mov r9, rbp
mov r8, rsi
mov rdx, r13
mov rcx, r12
call fcn.004439b0
cmp r14d, 0xffffffff
je 0x442ac8
jmp 0x442ae0
mov rdx, qword [rsp + 0x60]
mov r9, rbp
mov r8, rsi
mov rcx, r12
call fcn.004439b0
mov dword [rsp + 0x6c], 0
jmp 0x44306a
mov r8d, edx
mov r9, qword [rax + r8 - 8]
mov qword [r15 + r8 - 8], r9
lea r8d, [rdx - 1]
cmp r8d, 8
jb 0x44355a
and r8d, 0xfffffff8
mov qword [rsp + 0x88], rdx
mov dword [rsp + 0x78], r8d
xor r8d, r8d
mov r9d, r8d
add r8d, 8
mov rdx, qword [rax + r9]
mov qword [r15 + r9], rdx
mov edx, dword [rsp + 0x78]
cmp r8d, edx
jb 0x44363f
mov rdx, qword [rsp + 0x88]
jmp 0x44355a
mov dword [rsp + 0xa0], 1
mov eax, dword [rsp + 0x50]
test eax, eax
jne 0x442eb9
mov rdx, qword [rsp + 0x60]
mov r9, rbp
mov r8, rsi
mov rcx, r12
call fcn.004439b0
jmp 0x44321c
mov r10d, dword [rsp + 0x6c]
test r10d, r10d
je 0x4436b3
lea rdx, [rsp + 0x110]
mov r9, rbp
mov r8, rsi
mov rcx, r12
call fcn.004439b0
mov r9, rbp
mov r8, rsi
mov rdx, r13
mov rcx, r12
call fcn.004439b0
jmp 0x442ac8
mov r9, rbp
mov r8, rsi
mov edx, 0x10
mov rcx, r12
call fcn.00442260
test rax, rax
mov r11, rax
je 0x4432b5
mov qword [rsp + 0x58], rax
xor r15d, r15d
jmp 0x442fcb
lea r10, [rdx + 1]
jmp 0x44352f
lea rdx, [r12 + 0x30]
jmp 0x4434ab
mov r9d, dword [rax]
mov dword [r15], r9d
mov r9d, dword [rax + r8 - 4]
mov dword [r15 + r8 - 4], r9d
jmp 0x44355a
movzx r9d, word [rax + r8 - 2]
mov word [r15 + r8 - 2], r9w
jmp 0x44355a
cmp dword [rsp + 0xa0], 0
je 0x442abd
lea rdx, [rsp + 0x130]
mov r9, rbp
mov r8, rsi
mov rcx, r12
call fcn.004439b0
jmp 0x442abd
call sub.msvcrt.dll_abort
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov qword [rbx + 0x18], rdx
lea rcx, [rsp + 0x34]
lea rdx, [0x004d5c10]
call sub.msvcrt.dll_sprintf
mov rax, qword [0x10]
ud2