Function at 0x467d20
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, 0x238
mov rax, qword [rsp + 0x2a8]
mov dword [rax], 0
mov rbx, r8
mov rsi, r9
mov rbp, rcx
mov rax, qword [rsp + 0x2b0]
lea rdi, [rsp + 0x110]
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], rdi
call fcn.00468bc0
test eax, eax
je 0x467dcd
mov rax, qword [rsp + 0x110]
cmp byte [rax], 0x4d
je 0x467e00
mov r9, rsi
mov r8, rbx
mov rdx, rdi
mov rcx, rbp
call fcn.00468cd0
xor r8d, r8d
mov qword [rsp + 0x30], rdi
mov edx, r14d
mov qword [rsp + 0x28], rsi
mov r9d, 0x18
mov rcx, rbp
mov qword [rsp + 0x20], rbx
call fcn.00468bc0
test eax, eax
jne 0x467f43
xor edi, edi
cmp r14d, 0xffffffff
jne 0x467df0
mov eax, edi
add rsp, 0x238
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8, rsi
mov rdx, rbx
mov ecx, r14d
call fcn.00467b50
jmp 0x467dd5
cmp byte [rax + 1], 0x5a
jne 0x467d91
mov r13d, dword [rax + 0x3c]
mov r9, rsi
mov r8, rbx
mov rdx, rdi
mov rcx, rbp
call fcn.00468cd0
mov qword [rsp + 0x30], rdi
mov edx, r14d
mov rcx, rbp
mov qword [rsp + 0x28], rsi
mov r9d, 0x18
mov qword [rsp + 0x20], rbx
mov r8, r13
call fcn.00468bc0
test eax, eax
je 0x467dcd
test r13, r13
je 0x467f43
mov rax, qword [rsp + 0x110]
mov r9, rsi
mov r8, rbx
mov rdx, qword [rax + 4]
mov r15d, dword [rax]
mov r12d, dword [rax + 0x14]
mov ecx, edx
mov qword [rsp + 0xf0], rdx
mov rdx, qword [rax + 0xc]
shr ecx, 0x10
mov word [rsp + 0x88], cx
mov rcx, rbp
mov dword [rsp + 0x100], r12d
mov qword [rsp + 0xf8], rdx
mov dword [rsp + 0x98], edx
shr rdx, 0x20
mov qword [rsp + 0xa8], rdx
mov rdx, rdi
call fcn.00468cd0
cmp r15d, 0x4550
jne 0x467f54
mov qword [rsp + 0x28], rsi
lea r8, [r13 + 0x18]
movzx edi, r12w
mov rcx, rbp
movzx eax, word [rsp + 0x88]
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x30], rdx
mov edx, r14d
lea rax, [rax + rax*4]
lea r9, [rdi + rax*8]
call fcn.00468bc0
test eax, eax
je 0x467dcd
mov rax, qword [rsp + 0x130]
add rdi, rax
cmp r12w, 0x20
mov qword [rsp + 0xb8], rdi
jbe 0x467f74
movzx edx, word [rax]
cmp dx, 0x10b
je 0x46846a
cmp dx, 0x20b
jne 0x46847a
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xc0], rax
jmp 0x467f80
mov r9, rsi
mov r8, rbx
mov rdx, rdi
mov rcx, rbp
call fcn.00468cd0
xor r8d, r8d
mov rcx, rsi
xor edi, edi
lea rdx, str.executable_file_is_not_COFF
call rbx
cmp r14d, 0xffffffff
je 0x467dd5
jmp 0x467df0
mov qword [rsp + 0xc0], 0
mov edi, dword [rsp + 0x98]
movzx eax, word [rsp + 0x88]
test edi, edi
mov dword [rsp + 0x90], eax
je 0x468050
mov eax, dword [rsp + 0xa8]
mov r12d, edi
mov edx, r14d
mov rcx, rbp
lea rdi, [rsp + 0x170]
mov qword [rsp + 0x28], rsi
mov r8, r12
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x20], rbx
lea eax, [rax + rax*8]
lea r15d, [rax + rax]
lea r9, [r15 + 4]
mov qword [rsp + 0xc8], r15
call fcn.00468bc0
test eax, eax
je 0x468489
mov rax, qword [rsp + 0x170]
mov dword [rsp + 0xb4], 0
mov eax, dword [rax + r15]
cmp rax, 4
mov qword [rsp + 0x98], rax
ja 0x46892a
mov r12d, dword [rsp + 0x90]
lea rdi, [rsp + 0x1b0]
xor eax, eax
mov ecx, 0xf
mov qword [rsp + 0xd0], rdi
mov dword [rsp + 0xb0], 1
rep stosq qword [rdi], rax
test r12d, r12d
jne 0x4680b2
jmp 0x4681d6
lea rdi, [rsp + 0x1b0]
xor eax, eax
mov ecx, 0xf
mov qword [rsp + 0xd0], rdi
rep stosq qword [rdi], rax
mov eax, dword [rsp + 0x90]
test eax, eax
je 0x468a5a
mov dword [rsp + 0xa8], 0
mov dword [rsp + 0xb0], 0
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0x98], 0
mov dword [rsp + 0xb4], 0
mov r13, qword [rsp + 0xb8]
mov qword [rsp + 0x290], rbx
xor r15d, r15d
mov qword [rsp + 0x280], rbp
mov dword [rsp + 0x288], r14d
mov qword [rsp + 0x298], rsi
mov rbx, r13
xor edi, edi
xor esi, esi
cmp byte [rbx], 0x2f
je 0x468390
mov r13, qword [rsp + 0x150]
xor r14d, r14d
mov r12, qword [rsp + 0x160]
lea rcx, [0x005c990e]
mov ebp, r14d
add r13, rdi
test esi, esi
je 0x468146
cmp r12, rdi
jbe 0x46812a
mov rdx, r13
call sub.msvcrt.dll_strcmp
test eax, eax
sete al
movzx eax, al
test eax, eax
jne 0x468172
add r14, 1
cmp r14, 5
je 0x4681a0
lea rax, [0x005c99c0]
test esi, esi
mov ebp, r14d
mov rcx, qword [rax + r14*8]
jne 0x468111
xor eax, eax
nop dword [rax + rax]
movzx edx, byte [rcx + rax]
cmp dl, byte [rbx + rax]
jne 0x46812a
test dl, dl
je 0x468172
add rax, 1
cmp rax, 8
jne 0x468150
xor eax, eax
cmp byte [rcx + 8], 0
sete al
jmp 0x468126
mov esi, dword [rbx + 0x14]
movsxd r11, ebp
lea rax, [r11 + r11*2]
mov edx, dword [rbx + 0x10]
shl rax, 3
cmp dword [rbx + 8], edx
cmovbe edx, dword [rbx + 8]
mov qword [rsp + rax + 0x1b0], rsi
mov esi, edx
mov qword [rsp + rax + 0x1b8], rsi
nop dword [rax]
add r15d, 1
add rbx, 0x28
cmp dword [rsp + 0x90], r15d
ja 0x4680e0
mov rbp, qword [rsp + 0x280]
mov r14d, dword [rsp + 0x288]
mov rbx, qword [rsp + 0x290]
mov rsi, qword [rsp + 0x298]
mov edi, dword [rsp + 0xa8]
test edi, edi
je 0x4683d0
mov r9, rsi
mov r8, rbx
mov edx, 0x18
mov rcx, rbp
call fcn.00467610
test rax, rax
mov qword [rsp + 0xa8], rax
je 0x468319
mov rax, qword [rsp + 0x150]
movabs rdx, 0xe38e38e38e38e38f
mov rdi, qword [rsp + 0x170]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xc8]
mul rdx
shr rdx, 4
cmp qword [rsp + 0xc8], 0x11
mov r13, rdx
jbe 0x468859
movzx r8d, word [rdi + 0xc]
movzx ecx, word [rdi + 0xe]
test r8w, r8w
jle 0x46826a
cmp r8w, word [rsp + 0x88]
ja 0x4682ec
mov rax, rdi
xor r12d, r12d
xor edx, edx
mov qword [rsp + 0x90], 0
nop
movzx r9d, byte [rax]
test r9b, r9b
jne 0x4684a4
mov r9d, dword [rax + 4]
cmp r9, qword [rsp + 0x98]
jae 0x4682ec
shr cx, 4
cmp cx, 2
jne 0x4682b8
test r8w, r8w
setg cl
cmp cl, 1
sbb qword [rsp + 0x90], 0xffffffffffffffff
movzx eax, byte [rax + 0x11]
lea rdx, [rdx + rax + 1]
cmp r13, rdx
jbe 0x4686a4
lea rax, [rdx + rdx*8]
lea rax, [rdi + rax*2]
movzx r8d, word [rax + 0xc]
cmp r8w, word [rsp + 0x88]
movzx ecx, word [rax + 0xe]
jbe 0x468280
test r8w, r8w
jle 0x468280
lea rdx, str.invalid_section_or_offset_in_coff_symbol
xor r8d, r8d
mov rcx, rsi
call rbx
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x20], rsi
mov r9, rbx
mov rcx, rbp
mov r8d, 0x18
call fcn.00467660
mov rdx, qword [rsp + 0xa0]
mov r9, rsi
mov r8, rbx
mov rcx, rbp
call fcn.00468cd0
mov r9d, dword [rsp + 0xb4]
test r9d, r9d
je 0x468352
lea rdx, [rsp + 0x150]
mov r9, rsi
mov r8, rbx
mov rcx, rbp
call fcn.00468cd0
mov r8d, dword [rsp + 0xb0]
test r8d, r8d
je 0x467dcd
lea rdi, [rsp + 0x170]
mov rdx, rdi
mov r9, rsi
mov r8, rbx
mov rcx, rbp
xor edi, edi
call fcn.00468cd0
cmp r14d, 0xffffffff
je 0x467dd5
jmp 0x467df0
lea rcx, [rbx + 1]
call fcn.0049a990
mov edi, eax
mov rsi, rdi
jmp 0x4680ed
mov rdx, rcx
jmp 0x4683b3
mov rdx, rax
mov rax, qword [rdx]
test rax, rax
jne 0x4683b0
mov rdi, qword [rsp + 0xa8]
lock cmpxchg qword [rdx], rdi
jne 0x4683a3
nop word [rax + rax]
mov rdi, qword [rsp + 0x1b8]
mov rdx, qword [rsp + 0xa0]
mov r9, rsi
mov r8, rbx
mov rcx, rbp
call fcn.00468cd0
mov r10d, dword [rsp + 0xb0]
test r10d, r10d
je 0x468411
lea rdx, [rsp + 0x170]
mov r9, rsi
mov r8, rbx
mov rcx, rbp
call fcn.00468cd0
mov r13, qword [rsp + 0xd0]
mov rax, rdi
xor r9d, r9d
xor r12d, r12d
test rax, rax
lea r10, [r13 + 0x78]
mov rcx, r13
je 0x468447
test r12, r12
mov rdx, qword [rcx]
je 0x468465
cmp r12, rdx
cmovg r12, rdx
add rdx, rax
cmp r9, rdx
cmovl r9, rdx
add rcx, 0x18
cmp r10, rcx
je 0x468500
mov rax, qword [rcx + 8]
test rax, rax
je 0x468447
test r12, r12
mov rdx, qword [rcx]
jne 0x468436
mov r12, rdx
jmp 0x46843d
mov eax, dword [rax + 0x1c]
mov qword [rsp + 0xc0], rax
jmp 0x467f80
lea rdx, str.bad_magic_in_PE_optional_header
xor r8d, r8d
mov rcx, rsi
call rbx
mov rdx, qword [rsp + 0xa0]
mov r9, rsi
mov r8, rbx
mov rcx, rbp
call fcn.00468cd0
jmp 0x467dcd
shr cx, 4
cmp cx, 2
jne 0x4682b8
test r8w, r8w
jle 0x4682b8
add qword [rsp + 0x90], 1
xor ecx, ecx
jmp 0x4684d5
movzx r9d, byte [rax + rcx]
test r9b, r9b
movsxd r8, ecx
je 0x4684ed
add rcx, 1
cmp rcx, 8
jne 0x4684d0
mov r8d, 8
lea r12, [r8 + r12 + 1]
jmp 0x4682b8
test r12, r12
je 0x468676
test r9, r9
je 0x468676
sub r9, r12
mov qword [rsp + 0x28], rsi
mov r8, r12
mov edx, r14d
lea r15, [rsp + 0x190]
mov qword [rsp + 0x20], rbx
mov rcx, rbp
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x88], r10
call fcn.00468bc0
test eax, eax
je 0x46864c
mov r8, rsi
mov rdx, rbx
mov ecx, r14d
call fcn.00467b50
test eax, eax
je 0x4689c9
mov rdx, qword [rsp + 0x190]
mov r10, qword [rsp + 0x88]
xor eax, eax
cmp qword [r13 + 8], 0
je 0x468583
mov rax, rdx
sub rax, r12
add rax, qword [r13]
mov qword [r13 + 0x10], rax
add r13, 0x18
cmp r10, r13
jne 0x468570
mov rax, qword [rsp + 0x2a0]
xor edx, edx
mov r9, rdi
mov rcx, rbp
mov r8, qword [rsp + 0x1c0]
mov qword [rsp + 0x68], rbx
mov dword [rsp + 0x60], 0
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x218]
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.0046c4d0
test eax, eax
je 0x4689c3
mov rax, qword [rsp + 0x2b0]
mov edi, 1
mov dword [rax], 1
jmp 0x467dd5
mov edx, dword [rsp + 0xb4]
test edx, edx
je 0x467dcd
lea rdx, [rsp + 0x150]
mov r9, rsi
mov r8, rbx
mov rcx, rbp
call fcn.00468cd0
jmp 0x467dcd
mov r8, rsi
mov rdx, rbx
mov ecx, r14d
call fcn.00467b50
test eax, eax
je 0x46864c
mov rax, qword [rsp + 0x2a0]
lea rsi, [0x00467ba0]
mov edi, 1
mov qword [rax], rsi
jmp 0x467dd5
mov rax, qword [rsp + 0x90]
mov r9, rsi
mov r8, rbx
mov rcx, rbp
lea r15, [rax + 1]
shl r15, 4
mov rdx, r15
call fcn.00467610
test rax, rax
mov qword [rsp + 0xc8], rax
je 0x4682fb
xor r11d, r11d
test r12, r12
jne 0x468a0c
movsx rcx, word [rdi + 0xc]
cmp word [rsp + 0x88], cx
movzx r10d, word [rdi + 0xe]
jae 0x4686fb
test cx, cx
jg 0x468764
mov r15, qword [rsp + 0xc8]
mov rax, rdi
xor edx, edx
nop dword [rax + rax]
movzx r9d, byte [rax]
test r9b, r9b
je 0x468820
shr r10w, 4
cmp r10w, 2
jne 0x468731
xor r10d, r10d
test cx, cx
jg 0x468775
movzx eax, byte [rax + 0x11]
lea rdx, [rdx + rax + 1]
cmp r13, rdx
jbe 0x46888c
lea rax, [rdx + rdx*8]
lea rax, [rdi + rax*2]
movsx rcx, word [rax + 0xc]
cmp cx, word [rsp + 0x88]
movzx r10d, word [rax + 0xe]
jbe 0x468710
test cx, cx
jle 0x468710
call sub.msvcrt.dll_abort
nop dword [rax]
movzx r9d, byte [rax + r10]
test r9b, r9b
movsxd r8, r10d
je 0x468a49
add r10, 1
cmp r10, 8
jne 0x468770
mov qword [rsp + 0xe0], 9
mov r8d, 8
cmp r8d, 8
mov r9d, r8d
jae 0x468978
test r8b, 4
jne 0x468a9d
test r9d, r9d
je 0x4687ca
movzx r10d, byte [rax]
test r9b, 2
mov byte [r11], r10b
jne 0x468ab2
mov r10, qword [rsp + 0xe0]
mov byte [r11 + r8], 0
mov r8, r11
movzx r9d, byte [r11]
add r11, r10
cmp r9b, 0x5f
mov r10, qword [rsp + 0xb8]
sete r9b
add r15, 0x10
movzx r9d, r9b
add r8, r9
mov qword [r15 - 0x10], r8
lea r8, [rcx + rcx*4]
mov ecx, dword [rax + 8]
add ecx, dword [r10 + r8*8 - 0x1c]
add rcx, qword [rsp + 0xc0]
mov qword [r15 - 8], rcx
jmp 0x468731
mov r8d, dword [rax + 4]
cmp r8, qword [rsp + 0x98]
jae 0x468764
shr r10w, 4
cmp r10w, 2
jne 0x468731
test cx, cx
jle 0x468731
add r8, qword [rsp + 0xd8]
movzx r9d, byte [r8]
jmp 0x4687e1
mov r9, rsi
mov r8, rbx
mov edx, 0x10
mov rcx, rbp
call fcn.00467610
test rax, rax
mov r15, rax
je 0x4682fb
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x90], 0
mov rdi, qword [rsp + 0xc8]
mov qword [r15], 0
lea r9, [0x00467be0]
mov r8d, 0x10
mov qword [r15 + 8], 0xffffffffffffffff
mov r15, qword [rsp + 0x90]
mov rcx, rdi
mov rdx, r15
call fcn.0046cf00
mov rax, qword [rsp + 0xa8]
lea rcx, [rbp + 0x30]
mov qword [rax], 0
mov qword [rax + 8], rdi
mov qword [rax + 0x10], r15
mov rax, qword [rsp + 0x2a8]
mov dword [rax], 1
mov r11d, dword [rbp + 8]
test r11d, r11d
jne 0x4683a3
mov rdx, qword [rbp + 0x30]
test rdx, rdx
jne 0x468907
jmp 0x468912
mov rdx, rax
mov rax, qword [rdx]
test rax, rax
jne 0x468904
mov rcx, rdx
mov rax, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x1b8]
mov qword [rcx], rax
jmp 0x4683d8
lea rax, [rsp + 0x150]
mov qword [rsp + 0x28], rsi
mov edx, r14d
mov rcx, rbp
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xc8]
mov r9, qword [rsp + 0x98]
mov qword [rsp + 0x20], rbx
lea r8, [r12 + rax]
call fcn.00468bc0
test eax, eax
je 0x468a82
mov dword [rsp + 0xb4], 1
jmp 0x468011
mov r9d, r8d
mov r10, qword [rax + r9 - 8]
mov qword [r11 + r9 - 8], r10
lea r9d, [r8 - 1]
cmp r9d, 8
jb 0x4687ca
and r9d, 0xfffffff8
xor r10d, r10d
mov qword [rsp + 0xe8], rdx
mov r12d, r10d
add r10d, 8
mov rdx, qword [rax + r12]
cmp r10d, r9d
mov qword [r11 + r12], rdx
jb 0x4689a2
mov rdx, qword [rsp + 0xe8]
jmp 0x4687ca
mov r14d, 0xffffffff
mov ecx, dword [rsp + 0xb4]
test ecx, ecx
je 0x4689ea
lea rdx, [rsp + 0x150]
mov r9, rsi
mov r8, rbx
mov rcx, rbp
call fcn.00468cd0
mov r9, rsi
mov r8, rbx
mov rdx, r15
mov rcx, rbp
xor edi, edi
call fcn.00468cd0
cmp r14d, 0xffffffff
je 0x467dd5
jmp 0x467df0
mov r9, rsi
mov r8, rbx
mov rdx, r12
mov rcx, rbp
call fcn.00467610
test rax, rax
mov r11, rax
jne 0x4686e2
mov qword [rsp + 0x20], rsi
mov r9, rbx
mov r8, r15
mov rcx, rbp
mov rdx, qword [rsp + 0xc8]
call fcn.00467660
jmp 0x4682fb
lea r10, [r8 + 1]
mov qword [rsp + 0xe0], r10
jmp 0x46879d
mov rdx, qword [rsp + 0xa0]
mov r9, rsi
mov r8, rbx
xor edi, edi
mov rcx, rbp
call fcn.00468cd0
mov dword [rsp + 0xb4], 0
jmp 0x468411
mov rdx, qword [rsp + 0xa0]
mov r9, rsi
mov r8, rbx
mov rcx, rbp
call fcn.00468cd0
jmp 0x46836b
mov r10d, dword [rax]
mov dword [r11], r10d
mov r10d, dword [rax + r9 - 4]
mov dword [r11 + r9 - 4], r10d
jmp 0x4687ca
movzx r10d, word [rax + r9 - 2]
mov word [r11 + r9 - 2], r10w
jmp 0x4687ca