Function at 0x14002c840
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 8], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov esi, r9d
mov rdi, r8
mov rbx, rdx
lea rcx, [rbp - 0x10]
call fcn.14006d290
nop
mov dword [rsp + 0x20], 3
mov r9d, 1
mov r8d, 0x80000000
mov rdx, rbx
lea rcx, [rbp - 0x10]
call fcn.14006fad0
test al, al
jne 0x14002c8e6
mov ecx, 0x800
call fcn.1400bbc88
mov rsi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rdi, rax
test rsi, rsi
je 0x14002cc38
test rax, rax
je 0x14002cc30
xor edx, edx
mov r8d, 0x800
mov rcx, rsi
call fcn.1400c2130
lea rax, [0x140127a68]
jmp 0x14002cbdb
xor r14d, r14d
mov dword [rbp - 0x18], r14d
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x14002cba0
test rdi, rdi
je 0x14002cba0
cmp qword [rcx], 0xffffffffffffffff
je 0x14002cba0
mov dword [rbp - 0x18], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x18]
mov r8d, esi
mov rdx, rdi
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14002cba0
mov dword [rbp - 0x1c], r14d
lea r11, [0x1400f74b0]
or r9, 0xffffffffffffffff
mov esi, dword [rbp - 0x18]
cmp esi, 4
jb 0x14002cb34
mov r10, r9
nop
inc r10
cmp byte [r11 + r10], r14b
jne 0x14002c950
movzx r14d, byte [rdi]
movzx r13d, r14b
rol r13b, 3
movzx ecx, r13b
xor eax, eax
cdq
idiv r10d
movsxd rax, edx
xor cl, byte [rax + r11]
mov byte [rbp - 0x1c], cl
movzx r15d, byte [rdi + 1]
movzx eax, r15b
rol al, 3
mov byte [rbp - 0x20], al
movzx ecx, al
mov eax, 1
cdq
idiv r10d
movsxd rax, edx
xor cl, byte [rax + r11]
mov byte [rbp - 0x1b], cl
movzx r12d, byte [rdi + 2]
movzx eax, r12b
rol al, 3
mov byte [rbp - 0x1f], al
movzx r8d, al
mov eax, 2
cdq
idiv r10d
movsxd rcx, edx
xor r8b, byte [rcx + r11]
mov byte [rbp - 0x1a], r8b
movzx r8d, byte [rdi + 3]
movzx eax, r8b
rol al, 3
mov byte [rbp - 0x1e], al
movzx ecx, al
mov eax, 3
cdq
idiv r10d
movsxd rax, edx
xor cl, byte [rax + r11]
mov byte [rbp - 0x19], cl
mov eax, dword [rbp - 0x1c]
cmp eax, 0x20142014
je 0x14002cb34
cmp eax, 0x20151202
je 0x14002cb34
lea r11, str.INPUT_WORDLIB_V1_ENCRYPT
xor r13b, 0x49
mov byte [rbp - 0x1c], r13b
movzx eax, byte [rbp - 0x20]
xor al, 0x4e
mov byte [rbp - 0x1b], al
movzx eax, byte [rbp - 0x1f]
xor al, 0x50
mov byte [rbp - 0x1a], al
movzx eax, byte [rbp - 0x1e]
xor al, 0x55
mov byte [rbp - 0x19], al
cmp dword [rbp - 0x1c], 0x20142014
je 0x14002cb34
xor r14b, 0x49
mov byte [rbp - 0x1c], r14b
xor r15b, 0x4e
mov byte [rbp - 0x1b], r15b
xor r12b, 0x50
mov byte [rbp - 0x1a], r12b
xor r8b, 0x55
mov byte [rbp - 0x19], r8b
mov r14d, dword [rbp - 0x1c]
cmp r14d, 0x20052014
je 0x14002cb1a
cmp dword [rdi], 0x14091994
jne 0x14002ca80
mov dword [rdi], 0x20142014
mov bl, 1
jmp 0x14002cc47
mov ecx, 0x800
call fcn.1400bbc88
mov rsi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rdi, rax
test rsi, rsi
je 0x14002cc38
test rax, rax
je 0x14002cc30
xor edx, edx
mov r8d, 0x800
mov rcx, rsi
call fcn.1400c2130
lea rax, [0x140127b98]
mov qword [rsp + 0x20], rax
lea r9, str.RC::RCWordLibFileUtil::LoadWordlibFromFile
lea r8, str._s__:__s
mov edx, 0x400
mov rcx, rsi
call fcn.140007140
xor edx, edx
mov r8d, 0x800
mov rcx, rdi
call fcn.1400c2130
cmp qword [rbx + 0x18], 8
jb 0x14002cafd
mov rbx, qword [rbx]
mov dword [rsp + 0x20], r14d
mov r9, rbx
mov r8, rsi
mov edx, 0x400
mov rcx, rdi
call fcn.140007140
jmp 0x14002cc28
mov dword [rsp + 0x20], 0x18
mov r9, r11
mov r8, rdi
mov edx, esi
mov rcx, rdi
call fcn.140060c50
jmp 0x14002cb53
inc r9
cmp byte [r11 + r9], 0
jne 0x14002cb34
mov dword [rsp + 0x20], r9d
mov r9, r11
mov r8, rdi
mov edx, esi
mov rcx, rdi
call fcn.140060cb0
test al, al
jne 0x14002ca79
mov ecx, 0x800
call fcn.1400bbc88
mov rsi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rdi, rax
test rsi, rsi
je 0x14002cc38
test rax, rax
je 0x14002cc30
xor edx, edx
mov r8d, 0x800
mov rcx, rsi
call fcn.1400c2130
lea rax, [0x140127b68]
jmp 0x14002cbdb
mov ecx, 0x800
call fcn.1400bbc88
mov rsi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rdi, rax
test rsi, rsi
je 0x14002cc38
test rax, rax
je 0x14002cc30
xor edx, edx
mov r8d, 0x800
mov rcx, rsi
call fcn.1400c2130
lea rax, [0x140127af8]
mov qword [rsp + 0x20], rax
lea r9, str.RC::RCWordLibFileUtil::LoadWordlibFromFile
lea r8, str._s__:__s
mov edx, 0x400
mov rcx, rsi
call fcn.140007140
mov r8d, 0x800
xor edx, edx
mov rcx, rdi
call fcn.1400c2130
cmp qword [rbx + 0x18], 8
jb 0x14002cc15
mov rbx, qword [rbx]
mov r9, rbx
mov r8, rsi
mov edx, 0x400
mov rcx, rdi
call fcn.140007140
mov rcx, rdi
call fcn.140015100
mov rcx, rsi
call fcn.1400bd2dc
test rdi, rdi
je 0x14002cc45
mov rcx, rdi
call fcn.1400bd2dc
xor bl, bl
lea rcx, [rbp - 0x10]
call fcn.14006fa80
movzx eax, bl
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret