Function at 0x43fbf0
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, 0xc8
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x98], rax
mov edi, edx
mov rsi, rcx
mov r13, r8
mov rax, qword [sym.imp.libssp_0.dll___stack_chk_guard]
and edi, 0x20
mov qword [rsp + 0x50], r9
mov dword [rsp + 0x60], edi
mov rbx, qword [rax]
mov qword [rsp + 0xb8], rbx
xor ebx, ebx
mov ebx, edx
mov eax, edx
mov qword [rsp + 0xb0], 0
and ebx, 2
and eax, 1
mov dword [rsp + 0x5c], ebx
mov ebx, edx
lea edi, [rax + 0x10]
and ebx, 4
mov dword [rsp + 0x64], eax
mov eax, edi
mov dword [rsp + 0x90], ebx
mov ebx, edx
or eax, 8
and ebx, 0x10
test dl, 8
cmove eax, edi
and edx, 0x40
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x4c], eax
jne 0x4400b0
call fcn.004805d0
lea rax, str.A_t_s_n
mov ecx, dword [rsp + 0x60]
mov qword [rsp + 0x70], rax
lea rax, str.T_t_s_n
mov qword [rsp + 0x88], rax
lea rax, str.D_t_s_n
mov qword [rsp + 0x68], rax
lea rax, str.M_t_s_n
mov qword [rsp + 0x80], rax
lea rax, str.U_t_s_n
mov qword [rsp + 0x78], rax
test ecx, ecx
jne 0x43fd05
lea rax, str._s:_needs_update_n
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x80], rax
lea rax, str._s:_needs_merge_n
mov qword [rsp + 0x78], rax
xor ecx, ecx
call fcn.004b6a40
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.00523100
mov ebp, dword [rsi + 0xc]
test ebp, ebp
je 0x4401f8
mov dword [rsp + 0x94], 1
xor r12d, r12d
mov dword [rsp + 0x58], 0
jmp 0x43fdba
mov edx, dword [rbx + 0x34]
mov r9d, dword [rbx + 0x40]
lea r15, [rbx + 0x68]
mov rcx, rsi
mov dword [rsp + 0x20], 0
mov r8, r15
and edx, 0xf000
mov qword [rsp + 0x40], r10
cmp edx, 0x4000
sete al
cmp edx, 0xe000
sete dl
or eax, edx
mov rdx, r13
movzx eax, al
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
call fcn.0041db50
mov r10, qword [rsp + 0x40]
test eax, eax
jne 0x43ff28
mov ebp, dword [rsi + 0xc]
test byte [rbx + 0x39], 0x30
jne 0x440080
add r12d, 1
mov edi, r12d
cmp ebp, edi
jbe 0x43fe88
mov rax, qword [rsi]
mov edx, dword [rsp + 0x48]
movsxd r14, r12d
mov dword [rsp + 0xa8], 0
mov dword [rsp + 0xac], 0
lea r10, [r14*8]
mov rbx, qword [rax + r14*8]
test edx, edx
je 0x43fdfb
mov edx, dword [rbx + 0x34]
and edx, 0xf000
cmp edx, 0xe000
je 0x43fdab
test r13, r13
jne 0x43fd40
test byte [rbx + 0x39], 0x30
jne 0x440010
mov r8d, dword [rsp + 0x4c]
mov rdx, rbx
mov rcx, rsi
lea r15d, [r12 + 1]
lea rax, [rsp + 0xac]
lea r9, [rsp + 0xa8]
mov edi, r15d
mov qword [rsp + 0x20], rax
call fcn.0043d310
mov rbp, rax
cmp rbx, rax
je 0x4400a0
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x43fe5c
mov rdx, r14
call fcn.00436d50
test rbp, rbp
je 0x43ff58
mov r8, rbp
mov edx, r12d
mov rcx, rsi
call fcn.0043f290
mov ebp, dword [rsi + 0xc]
mov r12d, r15d
cmp ebp, edi
ja 0x43fdba
nop dword [rax]
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x43fea9
mov edx, ebp
call fcn.00436d50
lea rcx, [rsp + 0xb0]
call fcn.00436fb0
mov rdx, qword [0x005ab2b0]
movabs rax, 0x1ffffffff
and rax, qword [rdx + 8]
movabs rdx, 0x100000000
cmp rax, rdx
je 0x43feed
call fcn.004803b0
lea r9, str.refresh_index
mov edx, 0x656
lea rcx, str.read_cache.c
mov r8, rax
call fcn.004800f0
call fcn.004b6c10
mov rax, qword [sym.imp.libssp_0.dll___stack_chk_guard]
mov rsi, qword [rsp + 0xb8]
xor rsi, qword [rax]
jne 0x440274
mov eax, dword [rsp + 0x58]
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test byte [rbx + 0x39], 0x30
je 0x43fe0e
mov ebp, dword [rsi + 0xc]
mov edi, r12d
cmp r12d, ebp
jae 0x4400ef
mov rax, qword [rsi]
mov rbx, qword [rax + r14*8]
lea rcx, [rbx + 0x68]
xor ebx, ebx
jmp 0x440025
mov r8d, dword [rsp + 0x64]
test r8d, r8d
je 0x43ff70
cmp dword [rsp + 0xa8], 0x16
je 0x44015d
mov ecx, dword [rsp + 0x90]
test ecx, ecx
jne 0x43fe73
cmp dword [rsp + 0xa8], 2
mov r8, qword [rsp + 0x68]
je 0x43ff9d
mov r8, qword [rsp + 0x70]
test byte [rbx + 0x3b], 0x20
je 0x4401ca
mov edx, dword [rsp + 0x60]
lea r12, [rbx + 0x68]
test edx, edx
je 0x43ffe8
mov eax, dword [rsp + 0x94]
test eax, eax
je 0x43ffe8
mov rdx, qword [rsp + 0x98]
test rdx, rdx
je 0x43ffe8
lea rcx, [0x005815fa]
mov qword [rsp + 0x40], r8
call sub.libintl_8.dll___printf__
mov r8, qword [rsp + 0x40]
mov dword [rsp + 0x94], 0
nop word [rax + rax]
mov rdx, r12
mov rcx, r8
mov r12d, r15d
call sub.libintl_8.dll___printf__
mov dword [rsp + 0x58], 1
mov ebp, dword [rsi + 0xc]
jmp 0x43fdb2
mov edi, r12d
cmp ebp, r12d
jbe 0x440205
lea rcx, [rbx + 0x68]
xor ebx, ebx
mov r15, rcx
lea r14, [rax + r10]
jmp 0x440048
add r12d, 1
add r14, 8
mov edi, r12d
cmp dword [rsi + 0xc], r12d
jbe 0x440057
mov rax, qword [r14]
lea rcx, [rax + 0x68]
mov rdx, r15
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x440030
mov edi, r12d
mov r11d, dword [rsp + 0x5c]
test r11d, r11d
jne 0x43fdb2
test ebx, ebx
je 0x440100
mov dword [rsp + 0x58], ebx
jmp 0x43fdb2
mov edi, r12d
cmp r12d, ebp
jae 0x440245
mov rax, qword [rsi]
mov rbx, qword [rax + r14*8]
lea rcx, [rbx + 0x68]
mov ebx, 1
jmp 0x440025
mov ebp, dword [rsi + 0xc]
mov r12d, r15d
jmp 0x43fdb2
mov ecx, 2
call fcn.004b4e00
test eax, eax
je 0x43fc89
mov r12d, dword [rsi + 0xc]
call fcn.00426640
lea rcx, [0x00580dc0]
test eax, eax
je 0x440260
mov rdx, r12
call fcn.00436d70
mov qword [rsp + 0xb0], rax
jmp 0x43fc89
mov eax, dword [rsp + 0x5c]
test eax, eax
jne 0x43fdb2
nop dword [rax + rax]
mov r10d, dword [rsp + 0x60]
test r10d, r10d
je 0x440140
mov r9d, dword [rsp + 0x94]
test r9d, r9d
je 0x440140
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x440140
mov rdx, rax
lea rcx, [0x005815fa]
call sub.libintl_8.dll___printf__
mov dword [rsp + 0x94], 0
nop
mov rcx, qword [rsp + 0x78]
mov rdx, r15
call sub.libintl_8.dll___printf__
mov dword [rsp + 0x58], 1
mov ebp, dword [rsi + 0xc]
jmp 0x43fdb2
mov eax, dword [rbx + 0x38]
mov rcx, qword [0x005aabd0]
mov edx, eax
and dh, 0x7f
or edx, 0x8000000
cmp qword [rcx], 0
mov dword [rbx + 0x38], edx
je 0x4401c1
and eax, 0xffdf7fff
lea rbp, [rbx + 0x68]
mov r8d, 1
mov rcx, rsi
or eax, 0x8000000
mov rdx, rbp
mov dword [rbx + 0x38], eax
call fcn.00422800
mov rax, qword [0x005ab2a0]
movabs rdx, 0x1ffffffff
and rdx, qword [rax + 8]
movabs rax, 0x100000000
cmp rdx, rax
jne 0x44021c
or dword [rsi + 0x14], 2
jmp 0x43ff70
mov edx, dword [rsp + 0x60]
mov r8, qword [rsp + 0x80]
lea r12, [rbx + 0x68]
test byte [rsp + 0xac], 0x40
cmovne r8, qword [rsp + 0x88]
test edx, edx
je 0x43ffe8
jmp 0x43ffa9
mov dword [rsp + 0x58], 0
jmp 0x43fe88
mov r14d, dword [rsp + 0x5c]
lea r15, [rbx + 0x68]
test r14d, r14d
je 0x440100
jmp 0x43fdb2
mov qword [rsp + 0x20], rbp
mov r8, qword [0x005ab2a0]
lea r9, [0x0058132b]
mov edx, 0x49
lea rcx, [0x005812e6]
call fcn.0047ff50
jmp 0x4401c1
mov r15d, dword [rsp + 0x5c]
mov eax, 1
test r15d, r15d
cmovne eax, dword [rsp + 0x58]
mov dword [rsp + 0x58], eax
jmp 0x43fdb2
lea rcx, str.Refresh_index
call fcn.0056e6a8
mov rcx, rax
jmp 0x4400da
call sub.libssp_0.dll___stack_chk_fail
nop
nop word [rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rax, qword [sym.imp.libssp_0.dll___stack_chk_guard]
mov r14, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xb8]
mov r15, qword [rsp + 0xc0]
lea r13, [rsp + 0x30]
mov r12d, edx
mov rbx, rcx
mov edi, r9d
mov rsi, qword [rax]
mov qword [rsp + 0x38], rsi
xor esi, esi
mov rdx, r13
mov dword [rsp + 0xa0], r8d
xor r8d, r8d
mov qword [rsp + 0x30], 0
call fcn.00455c80
mov esi, eax
test edi, edi
jne 0x440320
test eax, eax
jns 0x440320
mov r12d, 0xffffffff
mov rax, qword [sym.imp.libssp_0.dll___stack_chk_guard]
mov rdi, qword [rsp + 0x38]
xor rdi, qword [rax]
jne 0x440368
mov eax, r12d
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x20], r15
mov edx, r12d
mov r9, rbp
mov r8, r14
mov rcx, qword [rbx + 0xc0]
xor r12d, r12d
call fcn.0043fbf0
test eax, eax
setne r12b
test esi, esi
js 0x4402f3
mov r8d, dword [rsp + 0xa0]
mov rcx, qword [rbx + 0xc0]
mov rdx, r13
or r8d, 1
call fcn.0043de80
test eax, eax
je 0x4402f3
jmp 0x4402ed
call sub.libssp_0.dll___stack_chk_fail
nop
nop
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov rax, qword [sym.imp.libssp_0.dll___stack_chk_guard]
mov esi, r9d
mov qword [rsp + 0x50], r8
mov r14, rcx
mov r13, rdx
mov rdi, qword [rax]
mov qword [rsp + 0xa8], rdi
xor edi, edi
and esi, 3
mov edi, r9d
movzx eax, word [r8 + 6]
and edi, 0x10
mov dword [rsp + 0x58], esi
mov esi, r9d
and esi, 2
cmp edi, 1
mov dword [rsp + 0x40], edi
mov ebp, eax
sbb edi, edi
and r9d, 0x40
mov dword [rsp + 0x4c], esi
and edi, 0xfffffff0
mov word [rsp + 0x5e], ax
add edi, 0x13
cmp r9d, 1
mov dword [rsp + 0x44], r9d
sbb esi, esi
and ax, 0xd000
and bp, 0xf000
and esi, 0xfffffffc
add esi, 5
cmp ax, 0x8000
je 0x440406
cmp bp, 0x4000
jne 0x440b80
mov rcx, r13
call sub.msvcrt.dll_strlen
mov r12, rax
mov r9d, eax
cmp bp, 0x4000
je 0x440860
mov dword [rsp + 0x38], eax
movsxd rbx, eax
mov rdx, rbx
mov rcx, r14
mov dword [rsp + 0x48], r9d
call fcn.0043d290
mov r8, rbx
mov rdx, r13
lea r15, [rax + 0x68]
mov r12, rax
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov eax, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x48]
mov dword [r12 + 0x40], eax
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x440968
or dword [r12 + 0x38], 0x20000000
mov rax, qword [0x005ab2f0]
mov eax, dword [rax]
mov dword [rsp + 0x48], eax
test eax, eax
je 0x4408e0
mov rax, qword [0x005aae60]
mov eax, dword [rax]
test eax, eax
je 0x4406b0
movzx edx, bp
mov eax, 0xa000
cmp bp, 0xa000
je 0x4404d1
cmp edx, 0xe000
je 0x44073a
cmp edx, 0x4000
je 0x44073a
movzx eax, word [rsp + 0x5e]
and eax, 0x40
cmp ax, 1
sbb eax, eax
and eax, 0xffffffb7
add eax, 0x81ed
mov rbx, qword [0x005aaed0]
mov dword [r12 + 0x34], eax
mov eax, dword [rbx]
test eax, eax
jne 0x4408c8
mov ebp, dword [rsp + 0x44]
test ebp, ebp
je 0x440748
xor ebp, ebp
mov r11d, dword [rsp + 0x40]
test r11d, r11d
jne 0x4407e0
mov dword [rsp + 0x20], esi
mov r9, qword [rsp + 0x50]
mov r8, r13
mov rcx, r14
lea rdx, [r12 + 0x48]
call fcn.004691a0
test eax, eax
jne 0x440bba
mov ebx, dword [rbx]
test ebx, ebx
je 0x4407f2
test rbp, rbp
je 0x440a60
mov ebx, dword [rbp + 0x40]
lea rsi, [rbp + 0x68]
cmp dword [r12 + 0x40], ebx
je 0x440b30
test byte [rbp + 0x3a], 8
jne 0x440c27
movsxd r15, ebx
mov rcx, r14
mov rdx, r15
call fcn.0043d290
mov r8, r15
mov rdx, rsi
lea rcx, [rax + 0x68]
mov rbx, rax
call sub.msvcrt.dll_memcpy
mov r8d, dword [rbx + 0x38]
mov r9d, dword [rbx + 0x3c]
mov rdx, r12
movdqu xmm0, xmmword [r12 + 0x10]
mov rcx, r14
and r8d, 0x100000
movups xmmword [rbx + 0x10], xmm0
movdqu xmm1, xmmword [r12 + 0x20]
movups xmmword [rbx + 0x20], xmm1
movdqu xmm2, xmmword [r12 + 0x30]
movups xmmword [rbx + 0x30], xmm2
movdqu xmm3, xmmword [r12 + 0x40]
movups xmmword [rbx + 0x40], xmm3
movdqu xmm4, xmmword [r12 + 0x50]
movups xmmword [rbx + 0x50], xmm4
mov rax, qword [r12 + 0x60]
mov r12, rbx
mov dword [rbx + 0x3c], r9d
mov qword [rbx + 0x60], rax
mov eax, dword [rbx + 0x38]
and eax, 0xffefffff
or eax, r8d
mov dword [rbx + 0x38], eax
call fcn.004722f0
or dword [r12 + 0x38], 0x80000
xor ebx, ebx
test byte [rbp + 0x39], 0x30
jne 0x440642
mov rax, qword [0x005ab240]
lea r8, [rbp + 0x48]
lea rcx, [r12 + 0x48]
mov rdx, qword [r8 + 8]
mov rax, qword [rax]
mov rax, qword [rax + 0xc8]
cmp qword [rax + 0x10], 0x20
mov rax, qword [rbp + 0x48]
je 0x440b50
xor rdx, qword [rcx + 8]
xor rax, qword [r12 + 0x48]
or rdx, rax
je 0x440a30
mov ebx, 1
xor ebx, 1
test ebx, ebx
jne 0x440988
mov r10d, dword [rsp + 0x4c]
test r10d, r10d
je 0x440818
mov rcx, r12
call fcn.0043f0f0
mov r9d, dword [rsp + 0x58]
test r9d, r9d
je 0x4407d0
and ebx, 1
jne 0x4407d0
mov rdx, r13
lea rcx, str.add__s_n
call sub.libintl_8.dll___printf__
xor eax, eax
mov rsi, qword [sym.imp.libssp_0.dll___stack_chk_guard]
mov rdi, qword [rsp + 0xa8]
xor rdi, qword [rsi]
jne 0x440c22
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r10, qword [r14]
mov eax, dword [r14 + 0xc]
mov dword [rsp + 0x20], 0
mov r8, r13
mov rcx, r10
mov edx, eax
mov qword [rsp + 0x60], r10
mov dword [rsp + 0x78], eax
call fcn.0043cf50
mov r10, qword [rsp + 0x60]
movsxd r9, eax
test r9d, r9d
jns 0x4409a0
mov ecx, r9d
not ecx
movsxd rax, ecx
cmp eax, dword [rsp + 0x78]
jae 0x440713
mov r11, qword [r10 + rax*8]
lea rcx, [rax*8]
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x60], rcx
cmp eax, dword [r11 + 0x40]
je 0x440a70
movzx edx, bp
mov eax, 0xa000
cmp bp, 0xa000
je 0x4404d1
cmp edx, 0x4000
je 0x44073a
cmp edx, 0xe000
jne 0x4404bb
mov eax, 0xe000
jmp 0x4404d1
mov r9d, dword [rbx]
mov r8d, dword [r12 + 0x40]
mov rdx, r15
mov rcx, r14
call fcn.0042aad0
mov rbp, rax
test rax, rax
je 0x4404f3
test byte [rax + 0x39], 0x30
jne 0x4404f5
mov r8, qword [rsp + 0x50]
mov r9d, 7
mov rdx, rax
mov rcx, r14
call fcn.0043cb70
test eax, eax
jne 0x4404f5
mov edx, dword [rbp + 0x38]
mov ecx, dword [rbp + 0x34]
mov dword [rsp + 0x40], eax
and ecx, 0xf000
mov r8d, edx
or r8d, 0x40000
cmp ecx, 0xe000
mov rcx, r12
cmovne edx, r8d
or edx, 0x80000
mov dword [rbp + 0x38], edx
call fcn.0043f0f0
mov eax, dword [rsp + 0x40]
jmp 0x440680
xor eax, eax
jmp 0x440680
mov rcx, r12
call fcn.0043d210
mov ebx, dword [rbx]
test ebx, ebx
jne 0x44052e
or dword [r12 + 0x38], 0x80000
test rbp, rbp
jne 0x4405eb
mov r10d, dword [rsp + 0x4c]
test r10d, r10d
jne 0x440650
nop word [rax + rax]
mov r8d, edi
mov rdx, r12
mov rcx, r14
call fcn.0043f380
test eax, eax
je 0x440658
mov rcx, r12
call fcn.0043f0f0
call fcn.00426640
lea rcx, [0x00580dc0]
test eax, eax
jne 0x440b90
lea rcx, str.unable_to_add__s_to_index
call fcn.0056e6a8
mov rcx, rax
jmp 0x440b90
lea r8, [rsp + 0x80]
lea rdx, [0x00580e32]
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.00444980
test eax, eax
js 0x440bf4
test r12d, r12d
mov r9d, dword [rsp + 0x38]
je 0x440a48
movsxd rbx, r12d
jmp 0x4408af
sub rbx, 1
mov r9d, ebx
test ebx, ebx
je 0x440a48
cmp byte [r13 + rbx - 1], 0x2f
mov r9d, ebx
je 0x4408a0
mov dword [rsp + 0x38], ebx
jmp 0x440426
mov rdx, r15
mov rcx, r14
call fcn.0042aa30
jmp 0x4404e7
mov r10, qword [r14]
mov eax, dword [r14 + 0xc]
mov dword [rsp + 0x20], 0
mov r8, r13
mov rcx, r10
mov edx, eax
mov qword [rsp + 0x60], r10
mov dword [rsp + 0x78], eax
call fcn.0043cf50
mov r10, qword [rsp + 0x60]
movsxd r9, eax
test r9d, r9d
jns 0x4409f0
mov ecx, r9d
not ecx
movsxd rax, ecx
cmp dword [rsp + 0x78], eax
jbe 0x440943
mov r11, qword [r10 + rax*8]
lea rcx, [rax*8]
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x60], rcx
cmp dword [r11 + 0x40], eax
je 0x440a70
mov eax, dword [rsp + 0x48]
test eax, eax
jne 0x440713
mov eax, 0x81a4
cmp bp, 0x8000
jne 0x440713
jmp 0x4404d1
mov r8, qword [rsp + 0x50]
mov rdx, r12
mov rcx, r14
call fcn.0043ca20
mov r9d, dword [rsp + 0x48]
jmp 0x44046e
xor ebx, ebx
mov eax, dword [rbp + 0x34]
cmp dword [r12 + 0x34], eax
sete bl
jmp 0x440642
mov r11, qword [r10 + r9*8]
cmp bp, 0x8000
jne 0x440713
test r11, r11
je 0x440ba2
mov eax, dword [r11 + 0x34]
mov edx, eax
and edx, 0xf000
cmp edx, 0xa000
je 0x4404d1
mov ecx, dword [rsp + 0x48]
test ecx, ecx
jne 0x4404bb
cmp edx, 0x8000
mov edx, 0x81a4
cmovne eax, edx
jmp 0x4404d1
mov r11, qword [r10 + r9*8]
mov rax, qword [0x005aae60]
mov eax, dword [rax]
test eax, eax
je 0x4409a4
mov eax, dword [rsp + 0x48]
test eax, eax
jne 0x440713
cmp bp, 0x8000
jne 0x440713
test r11, r11
je 0x440c18
mov eax, dword [r11 + 0x34]
mov edx, eax
and edx, 0xf000
jmp 0x4409dc
mov eax, dword [rcx + 0x10]
xor ebx, ebx
cmp dword [r8 + 0x10], eax
jne 0x440632
jmp 0x440637
mov dword [rsp + 0x38], 0
xor ebx, ebx
jmp 0x440426
or dword [r12 + 0x38], 0x80000
xor ebx, ebx
jmp 0x440642
lea rdx, [r11 + 0x68]
mov r8, rbx
mov rcx, r13
mov dword [rsp + 0x7c], r9d
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x68], r11
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x440943
mov r11, qword [rsp + 0x68]
mov r10, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x7c]
mov eax, dword [r11 + 0x38]
shr eax, 0xc
and eax, 3
cmp eax, 1
jne 0x4409f4
neg r9d
cmp r9d, dword [rsp + 0x78]
jae 0x4409f4
mov rax, qword [rsp + 0x60]
mov rdx, qword [r10 + rax + 8]
mov eax, dword [rdx + 0x38]
shr eax, 0xc
and eax, 3
cmp eax, 2
jne 0x4409f4
mov eax, dword [rsp + 0x38]
cmp dword [rdx + 0x40], eax
jne 0x4409f4
add rdx, 0x68
mov r8, rbx
mov rcx, r13
mov qword [rsp + 0x60], r11
mov dword [rsp + 0x78], r9d
mov qword [rsp + 0x38], r10
call sub.msvcrt.dll_memcmp
mov r11, qword [rsp + 0x60]
test eax, eax
jne 0x4409f4
movsxd r9, dword [rsp + 0x78]
mov r10, qword [rsp + 0x38]
mov r11, qword [r10 + r9*8]
jmp 0x4409f4
movsxd r8, ebx
mov rdx, rsi
mov rcx, r15
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x4405e2
jmp 0x440549
xor rdx, qword [rcx + 8]
xor rax, qword [r12 + 0x48]
or rdx, rax
jne 0x440632
mov rax, qword [r8 + 0x10]
mov rdx, qword [r8 + 0x18]
xor rax, qword [rcx + 0x10]
xor rdx, qword [rcx + 0x18]
or rdx, rax
je 0x440637
jmp 0x440632
call fcn.00426640
lea rcx, [0x00580dc0]
test eax, eax
je 0x440be3
mov rdx, r13
call fcn.00494950
mov eax, 0xffffffff
jmp 0x440680
mov r8d, dword [rsp + 0x48]
mov eax, 0x81a4
test r8d, r8d
je 0x4404d1
jmp 0x4404bb
mov rcx, r12
call fcn.0043f0f0
call fcn.00426640
lea rcx, [0x00580dc0]
test eax, eax
jne 0x440b90
lea rcx, str.unable_to_index_file__s
call fcn.0056e6a8
mov rcx, rax
jmp 0x440b90
lea rcx, str._s:_can_only_add_regular_files__symbolic_links_or_git_directories
call fcn.0056e6a8
mov rcx, rax
jmp 0x440b90
call fcn.00426640
lea rcx, [0x00580dc0]
test eax, eax
jne 0x440b90
lea rcx, str._s_does_not_have_a_commit_checked_out
call fcn.0056e6a8
mov rcx, rax
jmp 0x440b90
mov eax, 0x81a4
jmp 0x4404d1
call sub.libssp_0.dll___stack_chk_fail
lea rcx, str.will_not_add_file_alias__s___s_already_exists_in_index_
call fcn.00439d00
mov r8, rsi
mov rdx, r15
mov rcx, rax
call fcn.00494770
nop
nop word cs:[rax + rax]
nop dword [rax]