Function at 0x430dc0
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.00431c00
test eax, eax
je 0x430e59
mov rax, qword [rsp + 0x110]
cmp byte [rax], 0x4d
je 0x430e83
mov r9, rbp
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.00431d10
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.00431c00
test eax, eax
jne 0x431068
cmp r12d, 0xffffffff
je 0x430e6d
mov r8, rbp
mov rdx, rsi
mov ecx, r12d
call fcn.00430bf0
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 0x430e1d
mov r14d, dword [rax + 0x3c]
mov r9, rbp
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.00431d10
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.00431c00
test eax, eax
je 0x430e59
test r14, r14
je 0x431068
mov r15, qword [rsp + 0x110]
lea rdx, [0x0046799a]
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.00431d10
mov eax, dword [rsp + 0x94]
test eax, eax
jne 0x431079
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.00431c00
test eax, eax
je 0x430e59
cmp r15w, 0x20
mov rax, qword [rsp + 0x130]
jbe 0x43108d
movzx edx, word [rax]
cmp dx, 0x10b
je 0x4313f2
cmp dx, 0x20b
je 0x431bdd
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.00431d10
mov r10d, dword [rsp + 0x90]
test r10d, r10d
je 0x431bbe
lea rdx, [rsp + 0x150]
mov r9, rbp
mov r8, rsi
mov rcx, rbx
call fcn.00431d10
mov r13d, dword [rsp + 0x80]
test r13d, r13d
je 0x43102e
lea rdx, [rsp + 0x170]
mov r9, rbp
mov r8, rsi
mov rcx, rbx
call fcn.00431d10
mov edi, dword [rsp + 0x94]
test edi, edi
je 0x430e59
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.00431d10
jmp 0x430e59
mov r9, rbp
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.00431d10
xor r8d, r8d
lea rdx, str.executable_file_is_not_COFF
mov rcx, rbp
call rsi
jmp 0x430e59
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 0x431230
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.00431c00
test eax, eax
mov dword [rsp + 0x90], eax
je 0x4313e2
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 0x431b7e
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 0x431294
mov eax, dword [rsp + 0xa0]
test eax, eax
je 0x431ada
mov r9, rbp
mov r8, rsi
mov edx, 0x18
mov rcx, rbx
call fcn.00430680
test rax, rax
mov rdi, rax
je 0x430fce
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 0x431402
movzx r8d, word [r11 + 0xc]
movzx eax, word [r11 + 0xe]
test r8w, r8w
jle 0x43152a
cmp word [rsp + 0x88], r8w
jae 0x43152a
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.004306d0
jmp 0x430fce
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 0x431aea
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, [0x00467a40]
mov dword [rsp + 0xb0], 0
xor r15d, r15d
cmp byte [rdi], 0x2f
je 0x4313c1
mov r8d, r15d
xor r13d, r13d
mov r9, qword [rsp + 0x160]
mov r10, r8
add r10, qword [rsp + 0x150]
test r15d, r15d
lea rcx, [0x0046798e]
movsxd r14, r13d
je 0x431351
cmp r9, r8
jbe 0x43133b
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 0x431375
add r13, 1
cmp r13, 5
je 0x43139c
test r15d, r15d
mov rcx, qword [r11 + r13*8]
movsxd r14, r13d
jne 0x4312e2
xor eax, eax
movzx edx, byte [rcx + rax]
cmp dl, byte [rdi + rax]
jne 0x43133b
test dl, dl
je 0x431375
add rax, 1
cmp rax, 8
jne 0x431353
xor eax, eax
cmp byte [rcx + 8], 0
sete al
jmp 0x431337
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 0x4312ae
jmp 0x43116f
lea rcx, [rdi + 1]
mov qword [rsp + 0xe0], r11
call sub.msvcrt.dll_atoi
mov r11, qword [rsp + 0xe0]
mov r15d, eax
jmp 0x4312ba
mov dword [rsp + 0x80], 0
jmp 0x430fce
mov ecx, dword [rax + 0x1c]
mov qword [rsp + 0xb8], rcx
jmp 0x431099
mov r9, rbp
mov r8, rsi
mov edx, 0x10
mov rcx, rbx
call fcn.00430680
test rax, rax
mov r15, rax
je 0x431211
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xb0], 0
mov r14, qword [rsp + 0xa0]
mov qword [r15], 0
lea r9, [0x00430c80]
mov qword [r15 + 8], 0xffffffffffffffff
mov r15, qword [rsp + 0xb0]
mov r8d, 0x10
mov rcx, r14
mov rdx, r15
call fcn.00435e10
mov eax, dword [rbx + 8]
mov qword [rdi], 0
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r15
test eax, eax
jne 0x431aa9
mov rax, qword [rbx + 0x30]
lea rdx, [rbx + 0x30]
test rax, rax
jne 0x431498
jmp 0x4314a3
mov rax, rdx
mov rdx, qword [rax]
test rdx, rdx
jne 0x431495
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.00431d10
mov r15d, dword [rsp + 0x80]
test r15d, r15d
jne 0x4316ad
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 0x431512
test r15, r15
mov rax, qword [r11]
je 0x431505
cmp rax, r15
jge 0x431508
mov r15, rax
add rax, rdx
cmp r9, rax
cmovl r9, rax
add r11, 0x18
cmp rcx, r11
je 0x431640
mov rdx, qword [r11 + 8]
test rdx, rdx
je 0x431512
jmp 0x4314f8
mov rdx, r11
xor r13d, r13d
xor r9d, r9d
xor ecx, ecx
cmp byte [rdx], 0
jne 0x43159e
mov r10d, dword [rdx + 4]
cmp r10, qword [rsp + 0x98]
jae 0x431202
shr ax, 4
cmp ax, 2
jne 0x431563
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 0x4315cb
lea rax, [rcx + rcx*8]
lea rdx, [r11 + rax*2]
movzx r8d, word [rdx + 0xc]
movzx eax, word [rdx + 0xe]
test r8w, r8w
jle 0x431535
cmp word [rsp + 0x88], r8w
jb 0x431202
jmp 0x431535
shr ax, 4
cmp ax, 2
jne 0x431563
test r8w, r8w
jle 0x431563
add r9, 1
xor eax, eax
cmp byte [rdx + rax], 0
je 0x4315c4
add rax, 1
cmp rax, 8
jne 0x4315b4
lea r13, [rax + r13 + 1]
jmp 0x431563
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.00430680
test rax, rax
mov qword [rsp + 0xa0], rax
je 0x431211
xor eax, eax
test r13, r13
mov r11, qword [rsp + 0xd0]
jne 0x431b3c
movsx r9, word [r11 + 0xc]
movzx r8d, word [r11 + 0xe]
test r9w, r9w
jle 0x4318c3
cmp word [rsp + 0x88], r9w
jae 0x4318c3
call sub.msvcrt.dll_abort
test r15, r15
je 0x431715
test r9, r9
je 0x431715
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.00431c00
test eax, eax
jne 0x4316c8
mov ecx, dword [rsp + 0x90]
test ecx, ecx
je 0x430e59
mov dword [rsp + 0x80], 0
jmp 0x430ff5
lea rdx, [rsp + 0x170]
mov r9, rbp
mov r8, rsi
mov rcx, rbx
call fcn.00431d10
jmp 0x4314db
mov r8, rbp
mov rdx, rsi
mov ecx, r12d
call fcn.00430bf0
test eax, eax
je 0x431884
mov rdx, qword [rsp + 0x190]
mov r11, qword [rsp + 0x88]
mov rax, r13
test rax, rax
jne 0x4318b1
mov qword [rdi + 0x10], 0
add rdi, 0x18
cmp r11, rdi
je 0x4317da
mov rax, qword [rdi + 8]
jmp 0x4316f1
mov r8, rbp
mov rdx, rsi
mov ecx, r12d
call fcn.00430bf0
test eax, eax
je 0x43168e
lea rax, [0x00430c40]
mov qword [rsp + 0x108], rax
mov r9d, dword [rbx + 8]
test r9d, r9d
jne 0x431772
test r14d, r14d
je 0x4317b5
lea rax, [0x00430cc0]
mov qword [rbx + 0x28], rax
mov rax, qword [rbx + 0x18]
lea rdx, [0x00430c40]
cmp rax, rdx
je 0x4317a0
test rax, rax
je 0x4317a0
mov eax, 1
jmp 0x430e6f
test r14d, r14d
je 0x4317c9
lea rax, [0x00430cc0]
mov qword [rbx + 0x28], rax
mov r11d, dword [rbx + 8]
test r11d, r11d
je 0x431753
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x4317a0
lea rdx, [0x00430c40]
cmp rdx, rax
jne 0x431768
mov rax, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x2a8]
mov qword [rsi], rax
jmp 0x431768
cmp qword [rbx + 0x28], 0
jne 0x431753
lea rax, [0x00430c60]
mov qword [rbx + 0x28], rax
jmp 0x431753
lea rdx, [0x00430c60]
xor eax, eax
lock cmpxchg qword [rbx + 0x28], rdx
jmp 0x431782
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.00435420
test eax, eax
jne 0x43173a
mov eax, dword [rsp + 0x90]
test eax, eax
je 0x43104d
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x80], 0
mov dword [rsp + 0x94], eax
jmp 0x430ff5
mov rax, rdx
sub rax, r15
add rax, qword [rdi]
mov qword [rdi + 0x10], rax
jmp 0x431702
mov r15, qword [rsp + 0xa0]
mov rcx, r11
xor r14d, r14d
cmp byte [rcx], 0
je 0x431a60
shr r8w, 4
cmp r8w, 2
jne 0x431988
test r9w, r9w
jle 0x431988
xor edx, edx
cmp byte [rcx + rdx], 0
je 0x431b2b
add rdx, 1
cmp rdx, 8
jne 0x4318f6
mov qword [rsp + 0xd0], 9
cmp edx, 8
mov r8d, edx
jae 0x4319cb
test dl, 4
jne 0x431b16
test r8d, r8d
je 0x431941
movzx r10d, byte [rcx]
test r8b, 2
mov byte [rax], r10b
jne 0x431a98
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 0x431435
lea rdx, [r14 + r14*8]
lea rcx, [r11 + rdx*2]
movsx r9, word [rcx + 0xc]
test r9w, r9w
jle 0x4319c1
cmp word [rsp + 0x88], r9w
jb 0x43163b
movzx r8d, word [rcx + 0xe]
jmp 0x4318d1
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 0x431941
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 0x431a25
mov rdi, r13
mov rax, qword [rsp + 0xf8]
jmp 0x431941
mov edx, dword [rcx + 4]
cmp rdx, qword [rsp + 0x98]
jae 0x43163b
shr r8w, 4
add rdx, qword [rsp + 0xe0]
cmp r8w, 2
jne 0x431988
test r9w, r9w
jg 0x431953
jmp 0x431988
movzx r10d, word [rcx + r8 - 2]
mov word [rax + r8 - 2], r10w
jmp 0x431941
lea rcx, [rbx + 0x30]
nop dword [rax]
mov rdx, rcx
jmp 0x431ab8
mov rdx, rax
mov rax, qword [rdx]
test rax, rax
jne 0x431ab5
lock cmpxchg qword [rdx], rdi
jne 0x431ab0
mov r13, qword [rsp + 0x1b8]
mov r14d, 1
jmp 0x4314b4
mov r13, qword [rsp + 0x1b8]
xor r14d, r14d
jmp 0x4314b4
mov rdx, qword [rsp + 0xc0]
mov r9, rbp
mov r8, rsi
mov rcx, rbx
xor r14d, r14d
xor r13d, r13d
call fcn.00431d10
mov dword [rsp + 0x90], 0
jmp 0x4314db
mov r10d, dword [rcx]
mov dword [rax], r10d
mov r10d, dword [rcx + r8 - 4]
mov dword [rax + r8 - 4], r10d
jmp 0x431941
lea r10, [rdx + 1]
mov qword [rsp + 0xd0], r10
jmp 0x431916
mov r9, rbp
mov r8, rsi
mov rdx, r13
mov rcx, rbx
call fcn.00430680
test rax, rax
mov r11, qword [rsp + 0xd0]
jne 0x431618
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x20], rbp
mov r9, rsi
mov r8, r14
mov rcx, rbx
call fcn.004306d0
jmp 0x431211
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.00431c00
test eax, eax
mov dword [rsp + 0x90], eax
je 0x431bee
mov dword [rsp + 0x90], 1
jmp 0x43113b
mov edx, dword [rsp + 0x80]
test edx, edx
je 0x430e59
mov dword [rsp + 0x94], 0
jmp 0x431018
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0xb8], rcx
jmp 0x431099
mov dword [rsp + 0x80], 1
jmp 0x430fce