Function at 0x14000403c
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
mov rbp, rsp
sub rsp, 0x40
xor r14d, r14d
mov rdi, rdx
mov rsi, rcx
cmp dword [rcx + 0x14], r14d
jne 0x14000409c
lea rdx, [0x14001a420]
call fcn.140004b80
test al, al
jne 0x14000409c
mov dword [rsi + 0x14], r14d
mov rax, qword [0x14001bed8]
test rax, rax
je 0x14000409c
lea r9, str.e:_buildsmoz2_slavem_cen_w64_ntly_buildobj_firefoxdistinclude_nsTHashtable.h
lea rdx, [0x140016e58]
lea ecx, [r14 + 3]
xor r8d, r8d
mov dword [rsp + 0x20], 0x64
call rax
xor edx, edx
mov rcx, rdi
lea r8d, [rdx + 2]
call fcn.140006234
test eax, eax
je 0x1400040b8
mov eax, 0x80004005
jmp 0x140004452
mov rcx, rdi
call fcn.140006128
movsxd rbx, eax
test eax, eax
je 0x1400040ae
lea eax, [rbx + 2]
movsxd rcx, eax
call fcn.140005120
mov rcx, qword [rsi + 0x30]
mov qword [rsi + 0x30], rax
call fcn.14000581c
cmp qword [rsi + 0x30], r14
jne 0x1400040ef
mov eax, 0x8007000e
jmp 0x140004452
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.140006234
test eax, eax
je 0x14000410a
mov eax, 0x80470003
jmp 0x140004452
mov rcx, qword [rsi + 0x30]
mov r9, rdi
mov r8, rbx
mov edx, 1
call fcn.140005f48
cmp eax, ebx
jne 0x140004100
mov rax, qword [rsi + 0x30]
mov byte [rax + rbx + 1], r14b
mov rax, qword [rsi + 0x30]
mov byte [rbx + rax], r14b
mov rcx, qword [rsi + 0x30]
mov qword [rbp + 0x58], rcx
cmp ebx, 3
jl 0x140004159
cmp byte [rcx], 0xef
jne 0x140004159
cmp byte [rcx + 1], 0xbb
jne 0x140004159
cmp byte [rcx + 2], 0xbf
jne 0x140004159
lea rax, [rcx + 3]
mov qword [rbp + 0x58], rax
cmp ebx, 2
jl 0x14000420d
or r13d, 0xffffffff
cmp byte [rcx], r13b
jne 0x14000420d
cmp byte [rcx + 1], 0xfe
jne 0x14000420d
lea r12, [rcx + 2]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov r9d, r13d
xor edx, edx
mov ecx, 0xfde9
mov r8, r12
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rdi, eax
test eax, eax
je 0x1400040ae
mov rcx, rdi
call fcn.140005120
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov r9d, r13d
mov r8, r12
xor edx, edx
mov ecx, 0xfde9
mov dword [rsp + 0x28], edi
mov rbx, rax
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x1400041f1
mov rcx, rbx
call fcn.14000581c
jmp 0x1400040ae
mov rcx, qword [rsi + 0x30]
mov qword [rsi + 0x30], rbx
call fcn.14000581c
mov r11, qword [rsi + 0x30]
xor ecx, ecx
mov qword [rbp + 0x58], r11
call fcn.14000581c
mov r13, r14
lea rdx, [rbp + 0x58]
lea rcx, [0x1400169f0]
call fcn.1400050ac
mov rdi, rax
test rax, rax
je 0x140004450
cmp byte [rax], 0x23
je 0x140004210
cmp byte [rax], 0x3b
je 0x140004210
lea rax, [0x1400169f8]
mov cl, 0x20
cmp byte [rdi], cl
je 0x14000424e
inc rax
mov cl, byte [rax]
test cl, cl
jne 0x14000423f
jmp 0x140004251
inc rdi
cmp byte [rax], r14b
jne 0x140004236
mov al, byte [rdi]
mov qword [rbp + 0x40], rdi
test al, al
je 0x140004210
cmp al, 0x5b
jne 0x14000429f
lea r13, [rdi + 1]
lea rdx, [rbp + 0x40]
lea rcx, [0x1400169fc]
mov qword [rbp + 0x40], r13
call fcn.1400050ac
test rax, rax
je 0x14000420d
lea rdx, [rbp + 0x40]
lea rcx, [0x1400169f8]
call fcn.1400050ac
test rax, rax
je 0x140004210
jmp 0x14000420d
test r13, r13
je 0x140004210
lea rdx, [rbp + 0x40]
lea rcx, [0x1400169f4]
call fcn.1400050ac
test rax, rax
je 0x140004210
mov r12, qword [rbp + 0x40]
test r12, r12
je 0x140004210
lea r8, [rbp + 0x50]
mov rdx, r13
mov rcx, rsi
call fcn.140004544
test al, al
jne 0x1400043c3
mov ecx, 0x18
call fcn.140006404
mov rbx, rax
test rax, rax
je 0x140004308
mov qword [rax], rdi
mov qword [rax + 8], r12
mov qword [rbp + 0x50], rax
mov qword [rax + 0x10], r14
jmp 0x14000430f
mov rbx, r14
mov qword [rbp + 0x50], rbx
test rbx, rbx
je 0x1400040e5
mov r8d, 1
mov rdx, r13
mov rcx, rsi
call fcn.140004f04
test rax, rax
jne 0x140004392
mov rax, qword [0x14001bed8]
test rax, rax
je 0x140004210
xor r8d, r8d
lea r9, str.e:_buildsmoz2_slavem_cen_w64_ntly_buildobj_firefoxdistinclude_nsTHashtable.h
lea rdx, [0x140016e58]
lea ebx, [r8 + 3]
mov dword [rsp + 0x20], 0xad
mov ecx, ebx
call rax
mov r11, qword [0x14001bed8]
test r11, r11
je 0x140004210
lea r9, str.e:_buildsmoz2_slavem_cen_w64_ntly_buildobj_firefoxdistinclude_nsBaseHashtable.h
lea rdx, [0x140016e58]
xor r8d, r8d
mov ecx, ebx
mov dword [rsp + 0x20], 0x8e
call r11
jmp 0x140004210
mov rdi, qword [rax + 0x10]
mov qword [rax + 0x10], rbx
test rdi, rdi
je 0x140004210
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x1400043b6
mov edx, 1
call fcn.140004514
mov rcx, rdi
call fcn.140005f68
jmp 0x140004210
mov rbx, qword [rbp + 0x50]
test rbx, rbx
je 0x140004210
mov rdx, qword [rbx]
mov rcx, rdi
call fcn.140005840
test eax, eax
je 0x140004447
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1400043f1
mov rbx, rax
mov qword [rbp + 0x50], rax
jmp 0x1400043d0
mov ecx, 0x18
call fcn.140006404
test rax, rax
je 0x14000440d
mov qword [rax], rdi
mov qword [rax + 8], r12
mov qword [rax + 0x10], r14
jmp 0x140004410
mov rax, r14
mov rdi, qword [rbx + 0x10]
mov qword [rbx + 0x10], rax
test rdi, rdi
je 0x140004438
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140004430
mov edx, 1
call fcn.140004514
mov rcx, rdi
call fcn.140005f68
cmp qword [rbx + 0x10], r14
je 0x1400040e5
jmp 0x140004210
mov qword [rbx + 8], r12
jmp 0x140004210
xor eax, eax
add rsp, 0x40
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret