Function at 0x140032616
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, 0x48
mov al, byte [rcx + 0x18]
mov rbx, rcx
mov rdi, rdx
cmp al, 6
je 0x14003275a
mov rdx, qword [rdx + 0x50]
mov rsi, qword [rdi + 0x28]
mov rdx, qword [rdx + 8]
cmp dword [rsi + 0x40], 1
mov r13, qword [rdx + 0x380]
jne 0x140032d6c
mov ecx, dword [rsi + 0x48]
cmp dword [r13 + 4], ecx
jne 0x140032d6c
mov r12d, dword [rsi + 0x6f8]
cmp al, 2
je 0x140032670
xor ebp, ebp
jmp 0x140032696
mov rdx, rbx
mov rcx, rdi
mov ebp, 1
call fcn.140031cc9
test al, al
jne 0x140032696
test byte [rdi], 2
jne 0x14003266c
xor ebp, ebp
test byte [rbx + 0x8c], 3
setne bpl
cmp qword [rsi + 0x6b8], 0
je 0x1400326cd
cmp byte [rbx + 0x60], 0xa
je 0x1400326cd
test byte [rbx + 0x65], 4
jne 0x1400326cd
cmp qword [rbx + 0x48], 0
jle 0x1400326cd
cmp qword [rbx + 0x40], 0
jle 0x1400326cd
mov qword [rbx + 0x48], 0xffffffffffffffff
mov qword [rbx + 0x90], 1
mov eax, dword [rbx + 0x60]
and eax, 0x20000ff
cmp eax, 0x200000a
jne 0x140032761
test byte [rbx + 0x8d], 4
je 0x1400326f1
mov qword [rbx + 0x48], 1
mov r9d, r12d
lea r8, [rbx + 0x58]
mov rdx, rbx
mov rcx, rdi
mov dword [rsp + 0x30], 1
mov eax, dword [rsi + 0x7f4]
mov dword [rsp + 0x28], eax
mov eax, dword [rsi + 0x6fc]
imul eax, r12d
mov dword [rsp + 0x20], eax
call fcn.14003414e
test al, al
je 0x140032d6c
cmp qword [rbx + 0x48], 0xffffffffffffffff
mov rax, qword [rsi + 0x6a8]
je 0x14003275a
test rax, rax
je 0x14003275a
mov rdx, qword [rsi + 0x728]
mov rcx, qword [rax + 0x40]
mov edx, dword [rdx + 0x10]
mov qword [rbx + 0x98], rcx
add rdx, rcx
mov qword [rax + 0x40], rdx
mov al, 1
jmp 0x140032d9a
cmp byte [rsi + 0x4c], 0
je 0x1400328e9
cmp qword [rbx + 0x48], 0
mov r14, qword [rbx + 0x90]
jg 0x140032782
test r14, r14
jle 0x1400328e9
cmp dword [rbx + 0x3c], 0xffffffff
je 0x140032795
mov cl, byte [rdi]
mov r9d, ecx
and r9d, 1
jne 0x1400327cd
jmp 0x1400327b9
test byte [rbx + 0x64], 0x10
jne 0x140032788
test ebp, ebp
jne 0x140032788
cmp byte [rbx + 0x18], 2
jne 0x140032788
mov rdx, rbx
mov rcx, rdi
call fcn.14004b30a
test al, al
jne 0x140032788
jmp 0x140032d6c
test byte [rbx + 0x64], 0x10
jne 0x1400328e9
cmp dword [rbx + 0x3c], 0xffffffff
je 0x1400328e9
mov rdx, qword [rsi + 0x638]
mov rax, qword [rsi + 0x6a8]
mov r8, qword [rsi + 0x6b8]
cmp qword [rdx + 0x40], 0
jne 0x1400327fb
mov r10d, dword [rsi + 0x6fc]
imul r10d, r12d
mov r15d, r10d
mov qword [rdx + 0x40], r15
test r14, r14
jle 0x14003280d
mov r10, qword [r8 + 0x40]
mov qword [rbx + 0x90], r10
jmp 0x140032825
mov r10, qword [rdx + 0x40]
mov qword [rbx + 0x48], r10
test rax, rax
je 0x140032825
mov r10, qword [rax + 0x40]
mov qword [rbx + 0x98], r10
test byte [rbx + 0x63], 2
jne 0x14003284c
and ecx, 3
test byte [rsi + 0x7d0], 2
je 0x14003283f
cmp cl, 3
setne cl
jmp 0x140032844
test cl, cl
sete cl
test cl, cl
jne 0x140032d70
test r14, r14
jle 0x140032879
mov rax, qword [rsi + 0x728]
mov eax, dword [rax + 0x10]
add qword [r8 + 0x40], rax
jmp 0x1400328bc
test rax, rax
je 0x140032d8d
mov qword [rbx + 0x28], rax
mov rcx, qword [rbx + 0x98]
mov qword [rbx + 0x30], rcx
mov ecx, r12d
add qword [rdx + 0x40], rcx
test rax, rax
je 0x140032893
mov rdx, qword [rsi + 0x728]
mov edx, dword [rdx + 0x10]
add qword [rax + 0x40], rdx
mov rax, qword [rsi + 0x628]
mov edx, dword [rsi + 0x7f4]
add qword [rax + 0x40], rdx
test ebp, ebp
jne 0x1400328bc
mov rax, qword [rsi + 0x640]
mov edx, dword [rsi + 0x7f0]
inc dword [rax + 0x78]
add qword [rax + 0x40], rdx
cmp dword [rsi + 0x188], 2
jne 0x140032900
test r9b, r9b
jne 0x140032900
mov eax, dword [rsi + 0x7f0]
mov rdx, qword [rsi + 0x770]
add eax, eax
cmp qword [rbx + 0x48], r12
jne 0x1400328e3
add qword [rdx + 0x40], rax
add qword [rdx + 0x40], rax
jmp 0x140032900
and byte [rbx + 0x64], 0xfe
mov qword [rbx + 0x90], 0xffffffffffffffff
mov qword [rbx + 0x48], 0xffffffffffffffff
mov qword [rbx + 0xa0], 0xffffffffffffffff
cmp qword [rbx + 0x40], 0
jle 0x140032932
mov r12b, byte [rbx + 0x88]
mov eax, dword [rbx + 0x3c]
movzx r14d, r12b
test byte [rdi], 2
jne 0x14003293f
inc eax
jne 0x140032943
test r12d, 4
je 0x140032995
mov qword [rbx + 0x40], 0xffffffffffffffff
jmp 0x140032aee
inc eax
je 0x140032995
mov edx, r12d
mov rcx, qword [rsi + 0x620]
and edx, 0xfffffffd
cmp dl, 8
jne 0x1400329b9
mov eax, dword [rsi + 0x7f4]
mov r10, qword [rsi + 0x640]
mov r8, qword [rsi + 0x628]
mov r11d, eax
imul r11d, dword [r10 + 0x78]
add eax, eax
mov r9, qword [r8 + 0x40]
mov r10, r9
add rax, r9
sub r10, r11
mov qword [rbx + 0xa0], r10
mov qword [r8 + 0x40], rax
mov qword [rbx + 0x40], 0xfffffffffffffffe
jmp 0x1400329b9
test byte [rbx + 0x64], 0x10
jne 0x140032943
test ebp, ebp
jne 0x140032943
cmp byte [rbx + 0x18], 2
jne 0x140032943
mov rdx, rbx
mov rcx, rdi
call fcn.14004b30a
test al, al
jne 0x140032943
jmp 0x140032d6c
mov r9b, byte [rsi + 0x4c]
cmp r14d, 8
je 0x140032a12
mov rax, qword [rcx + 0x40]
mov r8d, dword [rsi + 0x7f4]
mov qword [rbx + 0x40], rax
add rax, r8
cmp r12b, 0xa
ja 0x1400329e7
mov r10d, 0x484
bt r10, r12
jb 0x1400329ed
mov qword [rcx + 0x40], rax
jmp 0x140032a1a
add r8, rax
mov qword [rcx + 0x40], r8
cmp r14d, 7
jne 0x140032a1a
mov eax, dword [rsi + 0x7f0]
mov rdx, qword [rsi + 0x630]
add eax, eax
add qword [rdx + 0x40], rax
jmp 0x140032aee
mov eax, r12d
and eax, 0xfffffff7
jmp 0x140032a2a
mov eax, r12d
and eax, 0xfffffff7
cmp al, 2
jne 0x140032a2a
cmp dword [rbx + 0x3c], 0xffffffff
je 0x140032a30
and r12d, 4
je 0x140032a46
mov rax, qword [rsi + 0x630]
mov ecx, dword [rsi + 0x7f0]
add qword [rax + 0x40], rcx
jmp 0x140032ac6
cmp al, 2
jne 0x140032a5f
mov eax, dword [rsi + 0x7f0]
mov rcx, qword [rsi + 0x630]
add eax, eax
add qword [rcx + 0x40], rax
jmp 0x140032ac6
cmp dl, 8
je 0x140032acb
test byte [rbx + 0x61], 3
jne 0x140032a6e
test ebp, ebp
je 0x140032a74
cmp byte [rbx + 0x18], 2
je 0x140032aee
test byte [rdi], 1
je 0x140032aa2
cmp dword [rbx + 0x3c], 0xffffffff
jne 0x140032ab3
mov al, byte [rbx + 0x18]
sub eax, 3
cmp al, 1
ja 0x140032ab3
mov rax, qword [0x1400e06b0]
add rax, 0x230
cmp qword [rbx + 0x28], rax
jne 0x140032ab3
test byte [rbx + 0x19], 0x30
jne 0x140032ab3
test r9b, r9b
je 0x140032aee
test byte [rbx + 0x64], 0x10
jne 0x140032aee
cmp dword [rbx + 0x3c], 0xffffffff
je 0x140032aee
mov rax, qword [rsi + 0x630]
mov edx, dword [rsi + 0x7f0]
add qword [rax + 0x40], rdx
jmp 0x140032aee
cmp dl, 8
jne 0x140032aee
mov rax, qword [rsi + 0x640]
mov edx, dword [rsi + 0x7f0]
add qword [rax + 0x40], rdx
cmp dword [r13 + 4], 0x23
jne 0x140032aee
mov qword [rsi + 0x178], 0xffffffffffffffff
cmp qword [rbx + 0x58], 0
je 0x14003275a
test byte [rdi], 1
je 0x140032be9
mov r8d, 1
mov rdx, rdi
mov rcx, rbx
call fcn.14004d43e
test al, al
jne 0x140032b22
cmp dword [rsi + 0x188], 2
jne 0x140032b64
jmp 0x140032b51
lea rcx, [rbx + 0x58]
mov rax, qword [rcx]
test rax, rax
je 0x140032b17
mov rdx, qword [rax + 0x10]
sub rdx, qword [rax + 0x18]
mov qword [rax + 0x18], 0
mov qword [rax + 0x10], rdx
jne 0x140032b4c
mov rax, qword [rax]
mov qword [rcx], rax
jmp 0x140032b26
mov rcx, rax
jmp 0x140032b26
lea r14, [rbx + 0x58]
lea r15, [0x1400b3a06]
mov r12, qword [r14]
test r12, r12
jne 0x140032b70
cmp qword [rbx + 0x58], 0
jne 0x140032b96
jmp 0x140032cd8
mov rax, qword [r12 + 8]
mov rdx, r15
mov rax, qword [rax + 0x60]
mov rcx, qword [rax]
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x140032b91
mov rax, qword [r12]
mov qword [r14], rax
jmp 0x140032b5c
mov r14, r12
jmp 0x140032b5c
cmp byte [rbx + 0x18], 2
jne 0x140032c31
test byte [rbx + 0x61], 3
jne 0x140032baa
test ebp, ebp
je 0x140032c05
cmp dword [r13 + 4], 0xd
jne 0x140032bfa
cmp byte [rbx + 0x64], 0
lea rdx, [rbx + 0x58]
jns 0x140032bfa
mov rax, qword [rdx]
test rax, rax
je 0x140032bdd
mov rcx, qword [rax + 0x18]
mov r8, qword [rax]
test rcx, rcx
jne 0x140032bd4
mov qword [rdx], r8
jmp 0x140032bbb
mov qword [rax + 0x10], rcx
mov rdx, rax
jmp 0x140032bbb
cmp qword [rbx + 0x58], 0
jne 0x140032c19
jmp 0x140032cd8
mov dl, byte [rbx + 0x64]
test dl, dl
jns 0x140032c79
cmp byte [rbx + 0x18], 2
je 0x140032c75
xor eax, eax
mov qword [rbx + 0x58], rax
jmp 0x140032cd8
cmp dword [rbx + 0x3c], 0xffffffff
jne 0x140032cd8
test byte [rbx + 0x64], 0x10
jne 0x140032cd8
mov rdx, rbx
mov rcx, rdi
call fcn.14004b30a
test al, al
jne 0x140032cd8
jmp 0x140032d6c
test byte [rdi], 2
jne 0x140032cd8
mov al, byte [rbx + 0x63]
test al, al
js 0x140032c4e
test byte [rbx + 0x8d], 8
je 0x140032cd8
and eax, 0xa
lea rdx, [rbx + 0x58]
cmp al, 8
jne 0x140032cd8
mov rax, qword [rdx]
test rax, rax
je 0x140032cd8
cmp qword [rax + 0x18], 0
je 0x140032c70
mov rax, qword [rax]
mov qword [rdx], rax
jmp 0x140032c59
mov rdx, rax
jmp 0x140032c59
test ebp, ebp
jne 0x140032bfa
mov al, byte [rbx + 0x63]
and eax, 0xa
cmp al, 8
je 0x140032c9a
cmp byte [rsi + 0x4c], 0
je 0x140032bfa
mov al, byte [rbx + 0x18]
dec eax
cmp al, 1
ja 0x140032bfa
cmp dword [rbx + 0x3c], 0xffffffff
jne 0x140032cd8
and dl, 0x10
jne 0x140032bfa
test ebp, ebp
jne 0x140032bfa
cmp byte [rbx + 0x18], 2
jne 0x140032bfa
mov rdx, rbx
mov rcx, rdi
call fcn.14004b30a
test al, al
je 0x140032d6c
cmp dword [rbx + 0x3c], 0xffffffff
je 0x140032bfa
mov rbp, qword [rbx + 0x58]
lea r13, str._binutils_2.40_bfd_elfxx_x86.c
test rbp, rbp
je 0x14003275a
mov rax, qword [rbp + 8]
test byte [rbx + 0x8c], 0x20
je 0x140032d33
test byte [rdi], 2
jne 0x140032d33
mov rdx, qword [rax + 0x60]
test rdx, rdx
je 0x140032d33
test byte [rdx + 0x24], 8
je 0x140032d33
mov rcx, qword [rbx + 0x28]
mov rdx, qword [rax + 0xe0]
mov rax, qword [rdi + 0x20]
mov r8, qword [rbx + 8]
mov r9, qword [rcx + 0xe0]
lea rcx, str._F_P:__pB:_copy_relocation_against_non_copyable_protected_symbol___s_in__pB_n
call qword [rax + 0x58]
jmp 0x140032d6c
mov rax, qword [rax + 0xd0]
mov r12, qword [rax + 0xa8]
test r12, r12
jne 0x140032d53
mov edx, 0x222
mov rcx, r13
call fcn.140004e1a
mov eax, dword [rsi + 0x7f0]
imul rax, qword [rbp + 0x10]
mov rbp, qword [rbp]
add qword [r12 + 0x40], rax
jmp 0x140032ce3
xor eax, eax
jmp 0x140032d9a
test r14, r14
jle 0x140032861
mov rax, qword [rbx + 0x90]
mov qword [rbx + 0x28], r8
mov qword [rbx + 0x30], rax
jmp 0x140032851
mov qword [rbx + 0x28], rdx
mov rcx, qword [rbx + 0x48]
jmp 0x140032875
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret