Function at 0x140195160
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, 0x138
mov rdi, qword [0x14022c040]
xor r8d, r8d
lea rdx, [0x140187630]
movabs rbx, 0x3fffffffffffffff
movsxd r9, dword [rcx + 0x20]
mov rax, qword [rdi]
mov qword [rsp + 0x128], rax
xor eax, eax
mov rax, qword [0x140221ae8]
mov r15, rcx
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0xf0]
mov rcx, rax
mov qword [rsp + 0x48], rax
call fcn.140029400
movsxd r8, dword [r15 + 0x20]
cmp rbx, r8
jb 0x140195119
lea rcx, [r8*4]
call fcn.1400bd0a0
movsxd r8, dword [r15 + 0x20]
mov r14, rax
cmp rbx, r8
jb 0x140195119
lea rcx, [r8*4]
call fcn.1400bd0a0
movsxd r8, dword [r15 + 0x20]
mov qword [rsp + 0x28], rax
mov rax, r8
shr rax, 0x3d
jne 0x140195108
lea rcx, [r8*8]
call fcn.1400bd0a0
mov r10d, dword [r15 + 0x20]
mov qword [rsp + 0x40], rax
test r10d, r10d
jle 0x14019508c
xor r9d, r9d
mov qword [rsp + 0x30], r14
mov r12, qword [0x14022c970]
xor ebx, ebx
mov dword [rsp + 0x70], r9d
mov r13, qword [str._________AA__A__________________]
mov r14, r15
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x58], 0
jmp 0x140194a0a
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x38], rax
mov rcx, rdi
call fcn.140029260
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov r8, rdi
mov dword [rsp + 0xa8], eax
mov qword [rsp + 0xa0], 0
call fcn.140029590
test rax, rax
je 0x140194da0
mov rax, qword [rsi + 8]
lea rcx, [rsp + 0xb0]
add rbx, 1
mov edx, dword [rax + 0x40]
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xc0], rax
call fcn.140187a80
mov edi, dword [rsp + 0xb8]
mov edx, dword [r14 + 0x20]
mov qword [rax], rsi
mov dword [rsp + 0x58], edi
mov rdi, qword [rsp + 0xc0]
mov qword [rsp + 0x20], rdi
cmp edx, ebx
jle 0x140194c05
mov rax, qword [0x14022c910]
mov rsi, qword [r14 + 0x18]
lea rbp, [rbx + rbx*4]
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], rax
lea rax, [rbp*8]
add rsi, rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsi + 8]
mov dword [rax + rbx*4], 0xffffffff
mov rax, qword [rsp + 0x30]
mov dword [rax + rbx*4], 0xffffffff
test rdx, rdx
je 0x140194be8
mov eax, dword [rsi]
cmp eax, 0xd
je 0x140194be8
sub eax, 4
cmp eax, 1
jbe 0x140194fef
mov rcx, qword [r12]
xor r8d, r8d
mov dword [rsp + 0x5c], ebx
lea r15, [rsp + 0xd0]
call fcn.140116aa0
mov rdx, qword [rsi + 8]
mov rcx, qword [r12]
xor r8d, r8d
lea r9, str.UTF_8
call fcn.140048890
lea rdx, [rsp + 0x88]
mov rcx, rax
mov rdi, rax
call fcn.140116b10
mov rdx, qword [rsp + 0x88]
lea r8, [0x140220609]
mov rcx, r15
call fcn.140048db0
mov rcx, r15
lea rdx, [rsp + 0x98]
call fcn.14008e600
mov rdx, qword [rsp + 0x40]
mov rcx, qword [r12]
mov r8, rdi
mov qword [rdx + rbx*8], rax
mov rdx, qword [rsi + 8]
mov qword [rsp + 0x88], rax
call fcn.140115e60
mov rdi, qword [rsp + 0x88]
lea rdx, [rsp + 0x90]
mov rcx, rdi
call fcn.1401874c0
mov r15d, eax
test eax, eax
je 0x140194970
nop word cs:[rax + rax]
nop dword [rax]
mov rcx, qword [rsp + 0x90]
movzx eax, byte [rcx]
test byte [r13 + rax], 1
jne 0x140194bd0
call fcn.1401874c0
test eax, eax
jne 0x140194b40
mov edi, eax
mov rax, qword [rsp + 0x90]
mov rcx, rax
mov qword [rsp + 0x60], rax
call fcn.140029260
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0xa0], 0
mov dword [rsp + 0xa8], eax
lea rax, [rsp + 0xa0]
mov rdx, rax
mov qword [rsp + 0x38], rax
call fcn.140029590
test rax, rax
je 0x140194ea5
mov edi, dword [rax + 0x10]
test edi, edi
jns 0x140194e30
mov rdi, qword [rsp + 0x88]
jmp 0x14019497d
add rcx, 1
mov qword [rsp + 0x90], rcx
jmp 0x140194b40
mov rax, qword [rsp + 0x40]
mov edx, dword [r14 + 0x20]
mov qword [rax + rbx*8], 0
add rbx, 1
cmp edx, ebx
jg 0x140194a0a
mov r9d, dword [rsp + 0x70]
mov r15, r14
mov r14, qword [rsp + 0x30]
test r9d, r9d
je 0x140194cdc
movabs rax, 0x666666666666666
movsxd r8, edx
cmp rax, r8
jb 0x140195144
lea rcx, [r8 + r8*4]
shl rcx, 3
call fcn.1400bd0a0
mov esi, dword [r15 + 0x20]
mov rbx, rax
test esi, esi
jle 0x140195067
mov r10, qword [r15 + 0x18]
xor r8d, r8d
xor ecx, ecx
mov r11, r10
nop dword [rax]
mov eax, dword [r11]
sub eax, 4
cmp eax, 1
jbe 0x140194cb3
movsxd rax, r8d
lea rax, [rax + rax*4]
lea rdx, [rbx + rax*8]
movsxd rax, ecx
nop dword [rax]
lea r9, [rax + rax*4]
add r8d, 1
add rdx, 0x28
lea r9, [r10 + r9*8]
movdqu xmm0, xmmword [r9]
movups xmmword [rdx - 0x28], xmm0
movdqu xmm1, xmmword [r9 + 0x10]
movups xmmword [rdx - 0x18], xmm1
mov r9, qword [r9 + 0x20]
mov qword [rdx - 8], r9
movsxd rax, dword [r14 + rax*4]
test eax, eax
jns 0x140194c80
add ecx, 1
add r11, 0x28
cmp ecx, esi
jne 0x140194c60
cmp esi, r8d
jne 0x14019512a
mov dword [r15 + 0x24], esi
mov rcx, qword [r15 + 0x18]
call fcn.1400eaf30
mov qword [r15 + 0x18], rbx
mov rcx, r14
call fcn.1400eaf30
mov rcx, qword [rsp + 0x28]
call fcn.1400eaf30
mov ecx, dword [r15 + 0x20]
test ecx, ecx
jle 0x140194d13
mov rsi, qword [rsp + 0x40]
xor ebx, ebx
nop dword [rax]
mov rcx, qword [rsi + rbx*8]
add rbx, 1
call fcn.1400eaf30
cmp dword [r15 + 0x20], ebx
jg 0x140194d00
mov rcx, qword [rsp + 0x40]
call fcn.1400eaf30
mov rcx, qword [rsp + 0x48]
xor edx, edx
call fcn.140029540
mov edx, dword [rsp + 0x58]
test edx, edx
je 0x140194d61
mov rdi, qword [rsp + 0x20]
mov eax, dword [rsp + 0x58]
mov rbx, rdi
lea rsi, [rdi + rax*8]
nop word cs:[rax + rax]
nop dword [rax]
mov rcx, qword [rbx]
add rbx, 8
call fcn.1400eaf30
cmp rbx, rsi
jne 0x140194d50
mov rcx, qword [rsp + 0x20]
call fcn.1400eaf30
xor eax, eax
mov rdi, qword [0x14022c040]
mov rdx, qword [rsp + 0x128]
sub rdx, qword [rdi]
jne 0x1401950d6
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, qword [rsp + 0x98]
cmp rbp, 0xffffffffffffffe7
ja 0x1401950f4
je 0x1401950db
lea rdx, [rbp + 0x19]
mov ecx, 1
call fcn.1400bd320
mov rdx, qword [rsp + 0x88]
mov r8, rbp
lea rcx, [rax + 0x14]
mov rdi, rax
call sub.msvcrt.dll_memcpy
mov rcx, rax
mov eax, dword [rsp + 0x5c]
mov dword [rdi + 0x10], eax
call fcn.140029260
mov qword [rdi], 0
mov rcx, qword [rsp + 0x48]
mov rdx, rdi
mov dword [rdi + 8], eax
call fcn.1400297f0
jmp 0x1401949b3
mov edi, ebp
mov r10d, r15d
mov rbx, qword [rsp + 0x68]
mov r15d, dword [rsp + 0x74]
mov rbp, qword [rsp + 0x78]
cmp r10d, edi
je 0x140194bb9
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0x88]
lea rdx, str.fixup_
call fcn.14008e400
test eax, eax
je 0x140194f1e
mov rax, qword [r14 + 0x18]
mov dword [rax + rbp*8], 4
mov rax, qword [rsp + 0x28]
movsxd r9, edi
mov rdi, qword [rsp + 0x30]
shl r9, 2
lea rdx, [rax + r9]
movsxd rax, dword [rdx]
test eax, eax
js 0x140194e93
mov eax, dword [rdi + rax*4]
mov ecx, dword [rsp + 0x5c]
mov dword [rdi + rbx*4], eax
movsxd rax, dword [rdx]
mov dword [rdi + rax*4], ecx
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x70], r15d
mov dword [rdx], eax
jmp 0x1401949b3
add r9, rdi
mov eax, dword [r9]
mov dword [rdi + rbx*4], eax
mov eax, dword [rsp + 0x5c]
mov dword [r9], eax
jmp 0x140194e83
mov rcx, qword [rsp + 0x60]
mov edx, 0x20
call sub.msvcrt.dll_strchr
test rax, rax
je 0x140194f5e
mov r8, qword [rsp + 0x40]
test rbx, rbx
je 0x140194bb9
mov qword [rsp + 0x78], rbp
mov ebp, edi
mov rdi, qword [rsp + 0x60]
mov dword [rsp + 0x74], r15d
mov r15d, ebx
mov qword [rsp + 0x68], rbx
mov rbx, r8
nop word [rax + rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x140194f08
mov rdx, rdi
call fcn.14008e400
test eax, eax
jne 0x140194e08
add ebp, 1
add rbx, 8
cmp ebp, r15d
jne 0x140194ef0
mov rbx, qword [rsp + 0x68]
jmp 0x140194bb9
mov rcx, qword [rsp + 0x88]
lea rdx, str.amend_
call fcn.14008e400
mov rbp, qword [rsp + 0x50]
add rbp, qword [r14 + 0x18]
test eax, eax
je 0x140194f52
mov dword [rbp], 4
mov dword [rbp + 0x10], 2
jmp 0x140194e57
mov dword [rbp], 5
jmp 0x140194e57
mov rcx, qword [rsp + 0x60]
call fcn.140116860
test rax, rax
je 0x140194ebd
mov qword [rsp + 0x68], rax
mov edx, dword [rax + 0x40]
lea rcx, [rsp + 0xb0]
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0xc0], rax
call fcn.140187a80
mov rcx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x68]
cmp qword [rax], 0
je 0x14019506f
mov edx, dword [r8 + 0x40]
call fcn.140187a80
mov edi, dword [rsp + 0xb8]
mov r9, qword [rax]
sub r9, qword [r14 + 0x18]
mov dword [rsp + 0x58], edi
mov rdi, qword [rsp + 0xc0]
sar r9, 3
mov qword [rsp + 0x20], rdi
imul edi, r9d, 0xcccccccd
jmp 0x140194bb1
mov r9d, dword [rsp + 0x58]
test r9d, r9d
je 0x140195021
mov rdi, qword [rsp + 0x20]
mov eax, dword [rsp + 0x58]
mov rbx, rdi
lea rsi, [rdi + rax*8]
nop dword [rax]
mov rcx, qword [rbx]
add rbx, 8
call fcn.1400eaf30
cmp rbx, rsi
jne 0x140195010
mov rcx, qword [rsp + 0x20]
call fcn.1400eaf30
mov rax, qword [str.PF__]
lea rcx, str.the_script_was_already_rearranged.
mov r8d, dword [rax]
test r8d, r8d
jne 0x140195050
call fcn.1400b6bf0
mov eax, 0xffffffff
jmp 0x140194d6d
call fcn.1401d81b8
mov rcx, rax
call fcn.1400b6bf0
mov eax, 0xffffffff
jmp 0x140194d6d
xor r8d, r8d
jmp 0x140194cc2
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x20], rax
jmp 0x140194ebd
mov rcx, r14
call fcn.1400eaf30
mov rcx, qword [rsp + 0x28]
call fcn.1400eaf30
mov eax, dword [r15 + 0x20]
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x20], 0
test eax, eax
jg 0x140194cf6
mov rcx, qword [rsp + 0x40]
call fcn.1400eaf30
mov rcx, qword [rsp + 0x48]
xor edx, edx
call fcn.140029540
jmp 0x140194d61
call fcn.1401d96b0
mov r8d, 1
mov rdx, 0xffffffffffffffff
lea rcx, [0x140220610]
call fcn.1400b6950
mov r8, rbp
mov edx, 0x18
lea rcx, [0x140220610]
call fcn.1400b6950
mov edx, 8
lea rcx, [0x14021e510]
call fcn.1400b6950
mov edx, 4
lea rcx, [0x14021e510]
call fcn.1400b6950
mov r8d, 0x1a2b
lea rdx, str.sequencer.c
lea rcx, str.nr__todo_list__nr
call qword [sym.imp.msvcrt.dll__assert]
mov edx, 0x28
lea rcx, [0x14021e510]
call fcn.1400b6950
nop
nop word cs:[rax + rax]
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov rsi, qword [0x14022c040]
lea rdi, str.CHERRY_PICK_HEAD
mov rbx, rcx
mov rbp, rdx
mov rcx, qword [rsi]
mov qword [rsp + 0x78], rcx
mov rcx, rbx
call fcn.14005c500
mov rdx, rdi
mov rcx, rax
call fcn.14005c0f0
test eax, eax
jne 0x1401951c0
mov rdx, qword [rsp + 0x78]
sub rdx, qword [rsi]
jne 0x1401952b3
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rcx, qword [0x14029c688]
test rcx, rcx
je 0x140195298
call fcn.140021db0
test eax, eax
je 0x1401951e0
mov dword [rbp], 3
mov rcx, qword [0x14029c690]
test rcx, rcx
je 0x140195278
call fcn.140021db0
test eax, eax
jne 0x140195210
mov eax, 2
mov dword [rbp], eax
mov eax, 1
jmp 0x14019519e
lea r8, [rsp + 0x50]
lea rdx, str.REBASE_HEAD
mov rcx, rbx
call fcn.140038f50
test eax, eax
jne 0x1401951f9
lea r8, [rsp + 0x20]
mov rdx, rdi
mov rcx, rbx
call fcn.140038f50
test eax, eax
jne 0x1401951f9
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
xor rax, qword [rsp + 0x20]
xor rdx, qword [rsp + 0x28]
or rax, rdx
jne 0x1401951f9
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
xor rax, qword [rsp + 0x30]
xor rdx, qword [rsp + 0x38]
or rax, rdx
jne 0x1401951f9
mov eax, 4
jmp 0x1401951fe
lea rcx, str.rebase_merge
call fcn.1400430e0
mov qword [0x14029c690], rax
mov rcx, rax
jmp 0x1401951f0
lea rcx, str.sequencer
call fcn.1400430e0
mov qword [0x14029c688], rax
mov rcx, rax
jmp 0x1401951d0
call fcn.1401d96b0
nop
nop dword [rax]