Function at 0x4604c0
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, 0x58
movzx eax, word [r8 + 0x2c]
mov r12, qword [rsp + 0xc0]
mov qword [rsp + 0xa0], rcx
mov r14, rdx
mov r15, r8
mov qword [rsp + 0xb8], r9
and ax, 0x380
cmp ax, 0x180
je 0x460512
xor esi, esi
mov eax, esi
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [r8 + 0xe8]
mov r13, qword [rax + 0xe0]
test r13, r13
je 0x4604fd
mov rcx, qword [r8 + 0xf8]
mov rdx, r8
lea rbx, [r13 + 0x10]
mov rbp, rbx
mov rax, qword [rcx + 8]
mov rax, qword [rax + 0x370]
call qword [rax + 0x260]
mov edx, dword [r13]
mov edi, eax
mov rax, qword [r14 + 0x28]
mov rsi, qword [rsp + 0xa0]
mov dword [rsp + 0x48], edi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x20], rax
lea rax, [rdx + rdx*2]
add rsi, 8
mov qword [rsp + 0x28], rsi
shl rax, 4
add rax, rbx
cmp rbx, rax
jae 0x4608fe
mov qword [rsp + 0xc0], r12
mov r12, r14
mov r14, qword [rsp + 0xc0]
nop word [rax + rax]
cmp dword [rbp + 0x14], 4
je 0x460a52
test byte [rbp + 0x23], 1
jne 0x4608e3
cmp qword [rbp], 0
je 0x4608e3
test byte [r15 + 0x2a], 0x10
mov rdx, qword [r14]
je 0x4605d2
test rdx, rdx
je 0x460c40
mov eax, dword [rbp + 0x10]
lea rax, [rax + rax*2]
lea rax, [rdx + rax*8]
cmp rax, qword [r14 + 0x10]
mov qword [r14 + 8], rax
jae 0x4605f2
mov edx, dword [rbp + 0x18]
lea ecx, [rdx + 8]
cmp qword [rax], rcx
je 0x460609
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elf_eh_frame.c
mov edx, 0x5eb
call fcn.0041a650
mov eax, dword [rbp + 0x18]
lea ecx, [rax + 8]
mov rdx, r14
call qword [rsp + 0xb8]
test eax, eax
sete al
movzx eax, al
test eax, eax
je 0x4608df
test byte [r12], 1
je 0x460680
movzx eax, byte [rbp + 0x20]
and eax, 0x70
jne 0x460b20
test byte [rbp + 0x23], 8
jne 0x460680
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x154], 0
test byte [r12 + 4], 6
je 0x460680
mov eax, dword [0x004e8600]
cmp eax, 9
jle 0x460cc4
cmp eax, 0xa
jne 0x460680
lea rcx, str.further_warnings_about_FDE_encoding_preventing_.eh_frame_hdr_generation_dropped
call fcn.0041a530
add dword [0x004e8600], 1
nop dword [rax + rax]
and byte [rbp + 0x23], 0xfd
mov rax, qword [rsp + 0x20]
add dword [rax + 0x150], 1
mov rdi, qword [rbp]
movzx eax, byte [rdi + 0x23]
test al, 2
je 0x4608db
test byte [rdi + 0xa], 0x40
jne 0x460b30
mov rsi, qword [rdi]
and eax, 0xfffffffd
mov qword [rdi], r15
mov byte [rdi + 0x23], al
test rsi, rsi
je 0x4608db
cmp byte [rsi + 0x50], 0xff
je 0x460d00
mov eax, dword [rsi + 0x40]
lea rcx, [rsi + 0x40]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0xa0]
lea rdx, [rax + rax*2]
mov rax, qword [r14]
mov qword [rsi + 0x40], 0
lea rax, [rax + rdx*8]
mov rdx, qword [rcx + 0xf8]
cmp byte [rdx + 4], 2
je 0x460d10
mov r8, qword [rax + 8]
shr r8, 8
mov eax, r8d
cmp rax, qword [r14 + 0x28]
jae 0x460729
shl rax, 5
add rax, qword [r14 + 0x18]
movzx edx, byte [rax + 0x14]
shr dl, 4
test dl, dl
je 0x460b4b
sub r8d, dword [r14 + 0x30]
mov rax, qword [r14 + 0x38]
mov rcx, qword [rax + r8*8]
movzx eax, byte [rcx + 0x18]
sub eax, 6
cmp al, 1
ja 0x46074f
mov rcx, qword [rcx + 0x28]
movzx eax, byte [rcx + 0x18]
sub eax, 6
cmp al, 1
jbe 0x460740
xor r8d, r8d
mov qword [rsi + 0x40], rcx
mov rdx, r12
call fcn.0044e5a0
test eax, eax
jne 0x460b9d
xor r8d, r8d
mov edx, 4
mov rcx, rsi
call fcn.0049b520
lea rcx, [rsi + 8]
mov r8d, eax
mov edx, 1
call fcn.0049b520
lea r9, [rsi + 0xa]
mov dword [rsp + 0x4c], eax
mov rcx, r9
mov qword [rsp + 0x40], r9
call sub.msvcrt.dll_strlen
mov r9, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x4c]
lea rdx, [rax + 1]
mov rcx, r9
call fcn.0049b520
lea rcx, [rsi + 0x20]
mov r8d, eax
mov edx, 8
call fcn.0049b520
lea rcx, [rsi + 0x28]
mov r8d, eax
mov edx, 8
call fcn.0049b520
lea rcx, [rsi + 0x30]
mov r8d, eax
mov edx, 8
call fcn.0049b520
lea rcx, [rsi + 0x38]
mov r8d, eax
mov edx, 8
call fcn.0049b520
mov rcx, qword [rsp + 0x38]
mov r8d, eax
mov edx, 8
call fcn.0049b520
mov r8d, eax
mov rax, qword [rsi + 0x48]
mov edx, 8
mov rcx, qword [rax]
add rcx, 0x70
call fcn.0049b520
lea rcx, [rsi + 0x50]
mov r8d, eax
mov edx, 1
call fcn.0049b520
lea rcx, [rsi + 0x51]
mov r8d, eax
mov edx, 1
call fcn.0049b520
lea rcx, [rsi + 0x52]
mov r8d, eax
mov edx, 1
call fcn.0049b520
lea rcx, [rsi + 0x53]
mov r8d, eax
mov edx, 1
call fcn.0049b520
movzx edx, byte [rsi + 0x53]
mov r8d, eax
lea rcx, [rsi + 0x55]
mov eax, 0x32
cmp rdx, 0x32
cmova rdx, rax
call fcn.0049b520
mov r8d, eax
mov dword [rsi + 4], eax
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax + 0x148]
test rcx, rcx
je 0x460d20
mov r9d, 1
mov rdx, rsi
call fcn.0049b100
test rax, rax
je 0x4608db
mov rcx, qword [rax]
test rcx, rcx
je 0x460d80
movzx eax, byte [rdi + 0xa]
or byte [rdi + 0x23], 2
or eax, 0x40
mov byte [rdi + 0xa], al
mov rdx, qword [rcx + 0x48]
test al, 2
mov qword [rdi], rdx
je 0x4608d8
or byte [rdx + 0xa], 2
mov rdi, rdx
mov qword [rbp], rdi
mov edx, dword [r13]
lea rax, [rdx + rdx*2]
add rbp, 0x30
shl rax, 4
add rax, rbx
cmp rbp, rax
jb 0x4605a0
mov r12, r14
mov rcx, qword [r13 + 8]
mov ebp, 1
mov r14d, 0xfffffff8
call fcn.0049fd58
mov eax, dword [r13]
xor r11d, r11d
mov qword [r13 + 8], 0
mov r10d, 4
mov r13d, 0xfffffffc
lea r9, [rax + rax*2]
xor eax, eax
shl r9, 4
add r9, rbx
cmp rbx, r9
jae 0x460d19
movzx edx, byte [rbx + 0x23]
test dl, 2
jne 0x4609bd
mov ecx, dword [rbx + 0x14]
cmp ecx, 4
je 0x460ac4
test dl, 1
je 0x460a75
movzx esi, byte [rbx + 0xa]
mov edi, esi
and edi, 0x10
cmp dil, 1
sbb r8d, r8d
and r8d, 4
sub r8d, 8
cmp dil, 1
sbb edi, edi
and edi, 0xfffffffc
lea eax, [rax + rdi + 7]
and eax, r8d
mov r8d, dword [rbx + 0x18]
mov dword [rbx + 0x1c], eax
cmp r8d, eax
jne 0x460b13
mov eax, r8d
test dl, 1
je 0x460b06
movzx esi, byte [rbx + 0xa]
shr dl, 2
and edx, 1
and esi, 0x20
je 0x4609b7
add edx, 1
add ecx, edx
add ecx, edx
add eax, ecx
add rbx, 0x30
cmp rbx, r9
jb 0x460943
add eax, 3
and r11d, 1
and eax, 0xfffffffc
mov rdx, qword [r15 + 0x40]
mov qword [r15 + 0x40], rax
cmp rdx, rax
mov qword [r15 + 0x48], rdx
jne 0x4609ee
test r11b, r11b
je 0x4604fd
mov rdi, qword [r12 + 0x28]
mov rbx, qword [r12 + 0x18]
xor esi, esi
mov rax, qword [r15 + 0xe8]
shl rdi, 5
add rdi, rbx
add rbx, 0x20
mov ebp, dword [rax + 0x88]
cmp rdi, rbx
ja 0x460a2d
jmp 0x460cf0
add rbx, 0x20
cmp rdi, rbx
jbe 0x460bf0
cmp byte [rbx + 0x14], 1
ja 0x460a20
cmp ebp, dword [rbx + 0x18]
jne 0x460a20
mov rcx, qword [rbx]
mov rdx, r15
call fcn.0045e720
test rax, rax
je 0x460a20
add qword [rbx], rax
mov esi, 1
jmp 0x460a20
cmp qword [r15 + 0x110], 0
setne al
lea edx, [rax + rax]
movzx eax, byte [rbp + 0x23]
and eax, 0xfffffffd
or eax, edx
mov byte [rbp + 0x23], al
mov edx, dword [r13]
jmp 0x4608e3
movzx r8d, byte [rbx + 0x20]
mov esi, r8d
and esi, 0x60
cmp sil, 0x60
je 0x460ae0
and r8d, 7
cmp r8b, 3
je 0x460ae0
cmp r8b, 4
je 0x460b40
test r8b, r8b
je 0x460c20
mov r8d, dword [rbx + 0x18]
add eax, 3
and eax, 0xfffffffc
mov dword [rbx + 0x1c], eax
cmp eax, r8d
je 0x460999
mov r11d, 1
jmp 0x46099c
add eax, 3
and eax, 0xfffffffc
cmp eax, dword [rbx + 0x18]
mov dword [rbx + 0x1c], eax
cmovne r11d, ebp
jmp 0x4609bb
mov esi, r13d
mov r8d, 4
lea eax, [rax + r8 - 1]
mov r8d, dword [rbx + 0x18]
and eax, esi
cmp r8d, eax
mov dword [rbx + 0x1c], eax
je 0x460999
mov r11d, 1
shr dl, 2
and edx, 1
add ecx, edx
jmp 0x4609bb
mov r11d, 1
jmp 0x4609a9
cmp al, 0x50
jne 0x460680
jmp 0x46063d
mov rdi, qword [rdi]
mov qword [rbp], rdi
jmp 0x4608df
mov esi, r14d
mov r8d, 8
jmp 0x460ae9
mov edx, dword [rax + 0x18]
mov rcx, qword [rsp + 0xa0]
mov dword [rsp + 0x40], r8d
call fcn.00438920
test rax, rax
je 0x4608db
mov rdx, qword [rax + 0xd0]
test rdx, rdx
cmove rdx, rax
cmp qword [rdx + 0x70], 0
je 0x4608db
mov rax, qword [rsp + 0xa0]
mov byte [rsi + 9], 1
mov r8d, dword [rsp + 0x40]
mov eax, dword [rax + 0x3c]
mov dword [rsi + 0x44], r8d
mov dword [rsi + 0x40], eax
test byte [r12], 1
je 0x460766
test byte [rsi + 0x50], 0x70
jne 0x460766
mov rax, qword [rsp + 0xa0]
mov r8, r15
mov rdx, r12
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x370]
call qword [rax + 0x268]
test eax, eax
je 0x460766
or byte [rdi + 0xa], 0xc
jmp 0x460766
test esi, esi
je 0x460cf0
mov rax, qword [rsp + 0xa0]
mov rdx, qword [r12 + 0x18]
mov rax, qword [rax + 0xf8]
mov qword [rax + 0xa8], rdx
jmp 0x4604ff
mov edi, dword [rsp + 0x48]
cmp edi, 4
mov r8d, edi
cmovb r8d, r10d
mov esi, r8d
neg esi
jmp 0x460ae9
movzx r9d, byte [rbp + 0x20]
mov eax, r9d
and eax, 0x60
cmp al, 0x60
je 0x460cbd
mov eax, r9d
and eax, 7
cmp al, 2
je 0x460d60
jbe 0x460caf
cmp al, 3
je 0x460d70
cmp al, 4
mov edx, 8
mov r8d, 8
jne 0x460cbd
nop word cs:[rax + rax]
mov eax, dword [rbp + 0x18]
mov rcx, qword [rsp + 0x28]
shr r9b, 3
and r9d, 1
lea rdx, [rdx + rax + 8]
add rdx, qword [r15 + 0xb8]
call fcn.0045eb00
test rax, rax
setne al
movzx eax, al
jmp 0x46061b
test al, al
mov r8d, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x30]
je 0x460c80
xor edx, edx
xor r8d, r8d
jmp 0x460c80
mov rdx, qword [rsp + 0xa0]
lea rcx, str.FDE_encoding_in__pB__pA__prevents_.eh_frame_hdr_table_being_created
mov r8, r15
call fcn.0041a530
add dword [0x004e8600], 1
jmp 0x460680
mov esi, 1
jmp 0x4604ff
lea rax, [rsi + 0x40]
mov qword [rsp + 0x38], rax
jmp 0x460766
mov r8d, dword [rax + 0xc]
jmp 0x460709
xor eax, eax
jmp 0x4609d4
lea r9, [fcn.0049fd58]
lea r8, [0x0045e9d0]
lea rdx, [0x0045e4c0]
mov ecx, 1
call fcn.0049adc0
mov rcx, rax
mov rax, qword [rsp + 0x20]
test rcx, rcx
mov qword [rax + 0x148], rcx
je 0x4608db
mov r8d, dword [rsi + 4]
jmp 0x46089c
mov edx, 2
mov r8d, 2
jmp 0x460c80
mov edx, 4
mov r8d, 4
jmp 0x460c80
mov ecx, 0x88
mov qword [rsp + 0x38], rax
call sub.msvcrt.dll_malloc
test rax, rax
je 0x4608db
mov rdx, qword [rsp + 0x38]
mov ecx, 0x11
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov qword [rdx], rax
mov rdx, qword [rax + 0x48]
jmp 0x4608d8