Function at 0x44fbf0
Capabilities:
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, 0x238
mov rbp, qword [rsp + 0x2a0]
lea rdi, [rsp + 0x110]
mov r12d, r8d
mov qword [rsp + 0x20], r9
xor r8d, r8d
mov rsi, r9
mov edx, r12d
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rbp
mov r9d, 0x40
mov rbx, rcx
call fcn.00450a30
test eax, eax
je 0x44fc89
mov rax, qword [rsp + 0x110]
cmp byte [rax], 0x4d
je 0x44fcb3
mov r9, rbp
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.00450b40
xor r8d, r8d
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rsi
mov r9d, 0x18
mov edx, r12d
mov rcx, rbx
call fcn.00450a30
test eax, eax
jne 0x44fe98
cmp r12d, 0xffffffff
je 0x44fc9d
mov r8, rbp
mov rdx, rsi
mov ecx, r12d
call fcn.0044fa20
xor eax, eax
add rsp, 0x238
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rax + 1], 0x5a
jne 0x44fc4d
mov r14d, dword [rax + 0x3c]
mov r9, rbp
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.00450b40
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rbp
mov r9d, 0x18
mov qword [rsp + 0x20], rsi
mov r8, r14
mov edx, r12d
mov rcx, rbx
call fcn.00450a30
test eax, eax
je 0x44fc89
test r14, r14
je 0x44fe98
mov r15, qword [rsp + 0x110]
lea rdx, [0x004db7da]
mov r8d, 4
mov rcx, r15
call sub.msvcrt.dll_memcmp
movzx ecx, word [r15 + 6]
mov r9, rbp
mov r8, rsi
mov rdx, rdi
mov dword [rsp + 0x94], eax
mov r13d, dword [r15 + 0xc]
mov word [rsp + 0x88], cx
mov ecx, dword [r15 + 0x10]
movzx r15d, word [r15 + 0x14]
mov dword [rsp + 0xa0], ecx
mov rcx, rbx
call fcn.00450b40
mov eax, dword [rsp + 0x94]
test eax, eax
jne 0x44fea9
movzx eax, word [rsp + 0x88]
lea rcx, [rsp + 0x130]
movzx edi, r15w
lea r8, [r14 + 0x18]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0x30], rcx
mov edx, r12d
mov rcx, rbx
lea rax, [rax + rax*4]
lea r9, [rdi + rax*8]
call fcn.00450a30
test eax, eax
je 0x44fc89
cmp r15w, 0x20
mov rax, qword [rsp + 0x130]
jbe 0x44febd
movzx edx, word [rax]
cmp dx, 0x10b
je 0x450222
cmp dx, 0x20b
je 0x450a0d
xor r8d, r8d
lea rdx, str.bad_magic_in_PE_optional_header
mov rcx, rbp
call rsi
mov dword [rsp + 0x80], 0
mov dword [rsp + 0x90], 0
mov rdx, qword [rsp + 0xc0]
mov r9, rbp
mov r8, rsi
mov rcx, rbx
call fcn.00450b40
mov r10d, dword [rsp + 0x90]
test r10d, r10d
je 0x4509ee
lea rdx, [rsp + 0x150]
mov r9, rbp
mov r8, rsi
mov rcx, rbx
call fcn.00450b40
mov r13d, dword [rsp + 0x80]
test r13d, r13d
je 0x44fe5e
lea rdx, [rsp + 0x170]
mov r9, rbp
mov r8, rsi
mov rcx, rbx
call fcn.00450b40
mov edi, dword [rsp + 0x94]
test edi, edi
je 0x44fc89
lea rax, [rsp + 0x190]
mov qword [rsp + 0x80], rax
mov rdx, qword [rsp + 0x80]
mov r9, rbp
mov r8, rsi
mov rcx, rbx
call fcn.00450b40
jmp 0x44fc89
mov r9, rbp
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.00450b40
xor r8d, r8d
lea rdx, str.executable_file_is_not_COFF
mov rcx, rbp
call rsi
jmp 0x44fc89
mov qword [rsp + 0xb8], 0
movzx ecx, word [rsp + 0x88]
add rax, rdi
test r13d, r13d
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0xa8], ecx
je 0x450060
mov eax, dword [rsp + 0xa0]
mov qword [rsp + 0x28], rbp
mov r8, r13
mov qword [rsp + 0x20], rsi
mov edx, r12d
mov rcx, rbx
lea eax, [rax + rax*8]
add eax, eax
mov rdi, rax
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0x170]
lea r9, [rdi + 4]
mov qword [rsp + 0x30], rax
call fcn.00450a30
test eax, eax
mov dword [rsp + 0x90], eax
je 0x450212
mov rax, qword [rsp + 0x170]
lea r8, [r13 + rdi]
mov dword [rsp + 0x90], 0
mov eax, dword [rax + rdi]
mov rcx, rax
mov qword [rsp + 0x98], rax
cmp rcx, 4
ja 0x4509ae
lea rdi, [rsp + 0x1b0]
xor eax, eax
mov ecx, 0xf
mov dword [rsp + 0x80], 1
mov qword [rsp + 0xd8], rdi
rep stosq qword [rdi], rax
mov eax, dword [rsp + 0xa8]
test eax, eax
jne 0x4500c4
mov eax, dword [rsp + 0xa0]
test eax, eax
je 0x45090a
mov r9, rbp
mov r8, rsi
mov edx, 0x18
mov rcx, rbx
call fcn.0044f4b0
test rax, rax
mov rdi, rax
je 0x44fdfe
mov rax, qword [rsp + 0x150]
movabs rdx, 0xe38e38e38e38e38f
mov r11, qword [rsp + 0x170]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xd0]
mul rdx
shr rdx, 4
test rdx, rdx
mov qword [rsp + 0xa8], rdx
je 0x450232
movzx r8d, word [r11 + 0xc]
movzx eax, word [r11 + 0xe]
test r8w, r8w
jle 0x45035a
cmp word [rsp + 0x88], r8w
jae 0x45035a
xor r8d, r8d
lea rdx, str.invalid_section_or_offset_in_coff_symbol
mov rcx, rbp
call rsi
mov qword [rsp + 0x20], rbp
mov r9, rsi
mov r8d, 0x18
mov rdx, rdi
mov rcx, rbx
call fcn.0044f500
jmp 0x44fdfe
mov r8d, dword [rsp + 0xa8]
lea rdi, [rsp + 0x1b0]
xor eax, eax
mov ecx, 0xf
mov qword [rsp + 0xd8], rdi
test r8d, r8d
rep stosq qword [rdi], rax
je 0x45091a
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xd0], 0
mov dword [rsp + 0xa0], 0
mov rdi, qword [rsp + 0xc8]
lea r11, [0x004db880]
mov dword [rsp + 0xb0], 0
xor r15d, r15d
cmp byte [rdi], 0x2f
je 0x4501f1
mov r8d, r15d
xor r13d, r13d
mov r9, qword [rsp + 0x160]
mov r10, r8
add r10, qword [rsp + 0x150]
test r15d, r15d
lea rcx, [0x004db7ce]
movsxd r14, r13d
je 0x450181
cmp r9, r8
jbe 0x45016b
mov rdx, r10
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0xf0], r9
mov qword [rsp + 0xe8], r11
mov qword [rsp + 0xe0], r10
call sub.msvcrt.dll_strcmp
mov r10, qword [rsp + 0xe0]
test eax, eax
mov r11, qword [rsp + 0xe8]
mov r9, qword [rsp + 0xf0]
mov r8, qword [rsp + 0xf8]
sete al
movzx eax, al
test eax, eax
jne 0x4501a5
add r13, 1
cmp r13, 5
je 0x4501cc
test r15d, r15d
mov rcx, qword [r11 + r13*8]
movsxd r14, r13d
jne 0x450112
xor eax, eax
movzx edx, byte [rcx + rax]
cmp dl, byte [rdi + rax]
jne 0x45016b
test dl, dl
je 0x4501a5
add rax, 1
cmp rax, 8
jne 0x450183
xor eax, eax
cmp byte [rcx + 8], 0
sete al
jmp 0x450167
lea rax, [r14 + r14*2]
mov edx, dword [rdi + 0x10]
mov ecx, dword [rdi + 0x14]
shl rax, 3
cmp dword [rdi + 8], edx
cmovbe edx, dword [rdi + 8]
mov qword [rsp + rax + 0x1b0], rcx
mov ecx, edx
mov qword [rsp + rax + 0x1b8], rcx
add dword [rsp + 0xb0], 1
add rdi, 0x28
mov eax, dword [rsp + 0xb0]
cmp dword [rsp + 0xa8], eax
ja 0x4500de
jmp 0x44ff9f
lea rcx, [rdi + 1]
mov qword [rsp + 0xe0], r11
call fcn.00483500
mov r11, qword [rsp + 0xe0]
mov r15d, eax
jmp 0x4500ea
mov dword [rsp + 0x80], 0
jmp 0x44fdfe
mov ecx, dword [rax + 0x1c]
mov qword [rsp + 0xb8], rcx
jmp 0x44fec9
mov r9, rbp
mov r8, rsi
mov edx, 0x10
mov rcx, rbx
call fcn.0044f4b0
test rax, rax
mov r15, rax
je 0x450041
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xb0], 0
mov r14, qword [rsp + 0xa0]
mov qword [r15], 0
lea r9, [0x0044fab0]
mov qword [r15 + 8], 0xffffffffffffffff
mov r15, qword [rsp + 0xb0]
mov r8d, 0x10
mov rcx, r14
mov rdx, r15
call fcn.00454c40
mov eax, dword [rbx + 8]
mov qword [rdi], 0
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r15
test eax, eax
jne 0x4508d9
mov rax, qword [rbx + 0x30]
lea rdx, [rbx + 0x30]
test rax, rax
jne 0x4502c8
jmp 0x4502d3
mov rax, rdx
mov rdx, qword [rax]
test rdx, rdx
jne 0x4502c5
mov rdx, rax
mov r13, qword [rsp + 0x1b8]
mov qword [rdx], rdi
mov r14d, 1
mov rdx, qword [rsp + 0xc0]
mov r9, rbp
mov r8, rsi
mov rcx, rbx
call fcn.00450b40
mov r15d, dword [rsp + 0x80]
test r15d, r15d
jne 0x4504dd
mov rdi, qword [rsp + 0xd8]
mov rdx, r13
xor r9d, r9d
xor r15d, r15d
test rdx, rdx
lea rcx, [rdi + 0x78]
mov r11, rdi
je 0x450342
test r15, r15
mov rax, qword [r11]
je 0x450335
cmp rax, r15
jge 0x450338
mov r15, rax
add rax, rdx
cmp r9, rax
cmovl r9, rax
add r11, 0x18
cmp rcx, r11
je 0x450470
mov rdx, qword [r11 + 8]
test rdx, rdx
je 0x450342
jmp 0x450328
mov rdx, r11
xor r13d, r13d
xor r9d, r9d
xor ecx, ecx
cmp byte [rdx], 0
jne 0x4503ce
mov r10d, dword [rdx + 4]
cmp r10, qword [rsp + 0x98]
jae 0x450032
shr ax, 4
cmp ax, 2
jne 0x450393
test r8w, r8w
setg al
cmp al, 1
sbb r9, 0xffffffffffffffff
movzx eax, byte [rdx + 0x11]
lea rcx, [rcx + rax + 1]
cmp qword [rsp + 0xa8], rcx
jbe 0x4503fb
lea rax, [rcx + rcx*8]
lea rdx, [r11 + rax*2]
movzx r8d, word [rdx + 0xc]
movzx eax, word [rdx + 0xe]
test r8w, r8w
jle 0x450365
cmp word [rsp + 0x88], r8w
jb 0x450032
jmp 0x450365
shr ax, 4
cmp ax, 2
jne 0x450393
test r8w, r8w
jle 0x450393
add r9, 1
xor eax, eax
cmp byte [rdx + rax], 0
je 0x4503f4
add rax, 1
cmp rax, 8
jne 0x4503e4
lea r13, [rax + r13 + 1]
jmp 0x450393
lea r14, [r9 + 1]
mov qword [rsp + 0xb0], r9
mov r8, rsi
mov r9, rbp
mov rcx, rbx
mov qword [rsp + 0xd0], r11
shl r14, 4
mov rdx, r14
call fcn.0044f4b0
test rax, rax
mov qword [rsp + 0xa0], rax
je 0x450041
xor eax, eax
test r13, r13
mov r11, qword [rsp + 0xd0]
jne 0x45096c
movsx r9, word [r11 + 0xc]
movzx r8d, word [r11 + 0xe]
test r9w, r9w
jle 0x4506f3
cmp word [rsp + 0x88], r9w
jae 0x4506f3
call sub.msvcrt.dll_abort
test r15, r15
je 0x450545
test r9, r9
je 0x450545
lea rax, [rsp + 0x190]
sub r9, r15
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rsi
mov r8, r15
mov edx, r12d
mov qword [rsp + 0x30], rax
mov rcx, rbx
mov qword [rsp + 0x88], r11
mov qword [rsp + 0x80], rax
call fcn.00450a30
test eax, eax
jne 0x4504f8
mov ecx, dword [rsp + 0x90]
test ecx, ecx
je 0x44fc89
mov dword [rsp + 0x80], 0
jmp 0x44fe25
lea rdx, [rsp + 0x170]
mov r9, rbp
mov r8, rsi
mov rcx, rbx
call fcn.00450b40
jmp 0x45030b
mov r8, rbp
mov rdx, rsi
mov ecx, r12d
call fcn.0044fa20
test eax, eax
je 0x4506b4
mov rdx, qword [rsp + 0x190]
mov r11, qword [rsp + 0x88]
mov rax, r13
test rax, rax
jne 0x4506e1
mov qword [rdi + 0x10], 0
add rdi, 0x18
cmp r11, rdi
je 0x45060a
mov rax, qword [rdi + 8]
jmp 0x450521
mov r8, rbp
mov rdx, rsi
mov ecx, r12d
call fcn.0044fa20
test eax, eax
je 0x4504be
lea rax, [0x0044fa70]
mov qword [rsp + 0x108], rax
mov r9d, dword [rbx + 8]
test r9d, r9d
jne 0x4505a2
test r14d, r14d
je 0x4505e5
lea rax, [0x0044faf0]
mov qword [rbx + 0x28], rax
mov rax, qword [rbx + 0x18]
lea rdx, [0x0044fa70]
cmp rax, rdx
je 0x4505d0
test rax, rax
je 0x4505d0
mov eax, 1
jmp 0x44fc9f
test r14d, r14d
je 0x4505f9
lea rax, [0x0044faf0]
mov qword [rbx + 0x28], rax
mov r11d, dword [rbx + 8]
test r11d, r11d
je 0x450583
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x4505d0
lea rdx, [0x0044fa70]
cmp rdx, rax
jne 0x450598
mov rax, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x2a8]
mov qword [rsi], rax
jmp 0x450598
cmp qword [rbx + 0x28], 0
jne 0x450583
lea rax, [0x0044fa90]
mov qword [rbx + 0x28], rax
jmp 0x450583
lea rdx, [0x0044fa90]
xor eax, eax
lock cmpxchg qword [rbx + 0x28], rdx
jmp 0x4505b2
lea rax, [rsp + 0x108]
mov r8, qword [rsp + 0x1c0]
xor edx, edx
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x68], rsi
mov r9, r13
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x218]
mov rcx, rbx
mov dword [rsp + 0x60], 0
mov r12d, 0xffffffff
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x1f0]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0x20], rax
call fcn.00454250
test eax, eax
jne 0x45056a
mov eax, dword [rsp + 0x90]
test eax, eax
je 0x44fe7d
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x80], 0
mov dword [rsp + 0x94], eax
jmp 0x44fe25
mov rax, rdx
sub rax, r15
add rax, qword [rdi]
mov qword [rdi + 0x10], rax
jmp 0x450532
mov r15, qword [rsp + 0xa0]
mov rcx, r11
xor r14d, r14d
cmp byte [rcx], 0
je 0x450890
shr r8w, 4
cmp r8w, 2
jne 0x4507b8
test r9w, r9w
jle 0x4507b8
xor edx, edx
cmp byte [rcx + rdx], 0
je 0x45095b
add rdx, 1
cmp rdx, 8
jne 0x450726
mov qword [rsp + 0xd0], 9
cmp edx, 8
mov r8d, edx
jae 0x4507fb
test dl, 4
jne 0x450946
test r8d, r8d
je 0x450771
movzx r10d, byte [rcx]
test r8b, 2
mov byte [rax], r10b
jne 0x4508c8
mov r10, qword [rsp + 0xd0]
mov byte [rax + rdx], 0
mov rdx, rax
add rax, r10
xor r8d, r8d
cmp byte [rdx], 0x5f
mov r10, qword [rsp + 0xc8]
sete r8b
add r15, 0x10
add rdx, r8
lea r8, [r9 + r9*4]
mov qword [r15 - 0x10], rdx
mov edx, dword [rcx + 8]
add edx, dword [r10 + r8*8 - 0x1c]
add rdx, qword [rsp + 0xb8]
mov qword [r15 - 8], rdx
movzx edx, byte [rcx + 0x11]
lea r14, [r14 + rdx + 1]
cmp qword [rsp + 0xa8], r14
jbe 0x450265
lea rdx, [r14 + r14*8]
lea rcx, [r11 + rdx*2]
movsx r9, word [rcx + 0xc]
test r9w, r9w
jle 0x4507f1
cmp word [rsp + 0x88], r9w
jb 0x45046b
movzx r8d, word [rcx + 0xe]
jmp 0x450701
mov r8, qword [rcx]
mov r13, rcx
mov qword [rax], r8
mov r8d, edx
mov r10, qword [rcx + r8 - 8]
mov qword [rax + r8 - 8], r10
lea r10, [rax + 8]
mov r8, rax
and r10, 0xfffffffffffffff8
sub r8, r10
sub r13, r8
add r8d, edx
and r8d, 0xfffffff8
mov qword [rsp + 0xe8], r13
cmp r8d, 8
jb 0x450771
and r8d, 0xfffffff8
mov r13, rdi
mov qword [rsp + 0xf8], rax
mov dword [rsp + 0xf0], r8d
xor r8d, r8d
mov rax, qword [rsp + 0xe8]
mov edi, r8d
add r8d, 8
mov rax, qword [rax + rdi]
mov qword [r10 + rdi], rax
cmp r8d, dword [rsp + 0xf0]
jb 0x450855
mov rdi, r13
mov rax, qword [rsp + 0xf8]
jmp 0x450771
mov edx, dword [rcx + 4]
cmp rdx, qword [rsp + 0x98]
jae 0x45046b
shr r8w, 4
add rdx, qword [rsp + 0xe0]
cmp r8w, 2
jne 0x4507b8
test r9w, r9w
jg 0x450783
jmp 0x4507b8
movzx r10d, word [rcx + r8 - 2]
mov word [rax + r8 - 2], r10w
jmp 0x450771
lea rcx, [rbx + 0x30]
nop dword [rax]
mov rdx, rcx
jmp 0x4508e8
mov rdx, rax
mov rax, qword [rdx]
test rax, rax
jne 0x4508e5
lock cmpxchg qword [rdx], rdi
jne 0x4508e0
mov r13, qword [rsp + 0x1b8]
mov r14d, 1
jmp 0x4502e4
mov r13, qword [rsp + 0x1b8]
xor r14d, r14d
jmp 0x4502e4
mov rdx, qword [rsp + 0xc0]
mov r9, rbp
mov r8, rsi
mov rcx, rbx
xor r14d, r14d
xor r13d, r13d
call fcn.00450b40
mov dword [rsp + 0x90], 0
jmp 0x45030b
mov r10d, dword [rcx]
mov dword [rax], r10d
mov r10d, dword [rcx + r8 - 4]
mov dword [rax + r8 - 4], r10d
jmp 0x450771
lea r10, [rdx + 1]
mov qword [rsp + 0xd0], r10
jmp 0x450746
mov r9, rbp
mov r8, rsi
mov rdx, r13
mov rcx, rbx
call fcn.0044f4b0
test rax, rax
mov r11, qword [rsp + 0xd0]
jne 0x450448
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x20], rbp
mov r9, rsi
mov r8, r14
mov rcx, rbx
call fcn.0044f500
jmp 0x450041
lea rax, [rsp + 0x150]
mov r9, rcx
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rsi
mov edx, r12d
mov rcx, rbx
mov qword [rsp + 0x30], rax
call fcn.00450a30
test eax, eax
mov dword [rsp + 0x90], eax
je 0x450a1e
mov dword [rsp + 0x90], 1
jmp 0x44ff6b
mov edx, dword [rsp + 0x80]
test edx, edx
je 0x44fc89
mov dword [rsp + 0x94], 0
jmp 0x44fe48
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0xb8], rcx
jmp 0x44fec9
mov dword [rsp + 0x80], 1
jmp 0x44fdfe