Function at 0x46df64
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x19f0
call fcn.00478be0
sub rsp, rax
mov qword [rsp + 0x1d8], 0xfffffffffffffffe
mov qword [rsp + 0x1a48], rbx
mov rax, qword [0x004bf230]
xor rax, rsp
mov qword [rsp + 0x19e0], rax
mov r15, r8
mov rdi, rdx
mov rsi, rcx
xor eax, eax
cmp qword [rcx + 0x18], rax
jne 0x46dfca
lea rdx, str.FindError:_Empty_MSI_Log_file_passed.
mov rcx, rdi
call fcn.0045fe58
xor eax, eax
jmp 0x46efea
mov r12d, eax
mov dword [rsp + 0x44], eax
mov ebx, eax
mov dword [rsp + 0x48], eax
mov ebp, 1
mov r13d, ebp
mov dword [rsp + 0xc0], ebp
mov ecx, 0x800
call fcn.004444b0
mov qword [rsp + 0x80], rax
mov r14d, 0x2000
mov rcx, r14
call fcn.004444b0
mov qword [rsp + 0xa0], rax
mov rcx, r14
call fcn.004444b0
mov qword [rsp + 0x50], rax
mov r14d, 0x8820
mov rcx, r14
call fcn.004443a8
mov qword [rsp + 0xd0], rax
mov rcx, r14
call fcn.004443a8
mov qword [rsp + 0x90], rax
mov rcx, r14
call fcn.004443a8
mov qword [rsp + 0x78], rax
mov rcx, r14
call fcn.004443a8
mov qword [rsp + 0x88], rax
mov rcx, r14
call fcn.004443a8
mov qword [rsp + 0x98], rax
mov rcx, r14
call fcn.004443a8
mov qword [rsp + 0x70], rax
mov rcx, r14
call fcn.004443a8
mov qword [rsp + 0xc8], rax
mov rcx, r14
call fcn.004443a8
mov qword [rsp + 0xb8], rax
mov rcx, r14
call fcn.004443a8
mov qword [rsp + 0xa8], rax
mov ecx, 0x9000
call fcn.004443a8
mov r14, rax
mov rax, qword [rsp + 0xd0]
xor ecx, ecx
cmp rax, rcx
je 0x46ef5f
cmp qword [rsp + 0x90], rcx
je 0x46ef5f
cmp qword [rsp + 0x78], rcx
je 0x46ef5f
cmp qword [rsp + 0x88], rcx
je 0x46ef5f
cmp qword [rsp + 0x98], rcx
je 0x46ef5f
cmp qword [rsp + 0x70], rcx
je 0x46ef5f
cmp r14, rcx
je 0x46ef5f
cmp qword [rsp + 0xc8], rcx
je 0x46ef5f
cmp qword [rsp + 0xb8], rcx
je 0x46ef5f
cmp qword [rsp + 0xa8], rcx
je 0x46ef5f
mov rdx, rax
lea ecx, [rbp + 1]
call fcn.0046c5d4
test eax, eax
jne 0x46e164
lea rdx, str.SetupDW_could_not_find_ActionStart_in_Error_table
mov rcx, rdi
call fcn.0045fe58
xor r13d, r13d
jmp 0x46ef62
mov rdx, qword [rsp + 0x90]
mov ecx, 3
call fcn.0046c5d4
test eax, eax
jne 0x46e191
lea rdx, str.SetupDW_could_not_find_ActionEnd_in_Error_table
mov rcx, rdi
call fcn.0045fe58
xor r13d, r13d
jmp 0x46ef62
mov rdx, qword [rsp + 0x78]
mov ecx, ebp
call fcn.0046c5d4
test eax, eax
jne 0x46e1b8
lea rdx, str.SetupDW_could_not_find_Action_in_Error_table
mov rcx, rdi
call fcn.0045fe58
xor r13d, r13d
jmp 0x46ef62
mov rdx, qword [rsp + 0x88]
xor ecx, ecx
call fcn.0046c5d4
test eax, eax
jne 0x46e1e2
lea rdx, str.SetupDW_could_not_find_Error_in_Error_table
mov rcx, rdi
call fcn.0045fe58
xor r13d, r13d
jmp 0x46ef62
mov rdx, qword [rsp + 0x98]
mov ecx, 4
call fcn.0046c5d4
test eax, eax
jne 0x46e20f
lea rdx, str.SetupDW_could_not_find_Scheduling_reboot_operation__1902__in_Error_table
mov rcx, rdi
call fcn.0045fe58
xor r13d, r13d
jmp 0x46ef62
mov rdx, qword [rsp + 0x70]
mov ecx, 5
call fcn.0046c5d4
test eax, eax
jne 0x46e239
lea rdx, str.SetupDW_could_not_find_Scheduling_reboot_operation__1903__in_Error_table
mov rcx, rdi
call fcn.0045fe58
xor r13d, r13d
jmp 0x46ef62
mov rdx, qword [rsp + 0xc8]
mov ecx, 6
call fcn.0046c5d4
test eax, eax
jne 0x46e266
lea rdx, str.SetupDW_could_not_find_Install_Assembly_Component__1935__in_Error_table
mov rcx, rdi
call fcn.0045fe58
xor r13d, r13d
jmp 0x46ef62
mov rdx, qword [rsp + 0xb8]
mov ecx, 7
call fcn.0046c5d4
test eax, eax
jne 0x46e293
lea rdx, str.SetupDW_could_not_find_RollBack_Execute_Op_in_Error_table
mov rcx, rdi
call fcn.0045fe58
xor r13d, r13d
jmp 0x46ef62
mov rdx, qword [rsp + 0xa8]
mov ecx, 8
call fcn.0046c5d4
xor edx, edx
cmp eax, edx
jne 0x46e2c2
lea rdx, str.SetupDW_could_not_find_Action_Start_Execute_Op_in_Error_table
mov rcx, rdi
call fcn.0045fe58
xor r13d, r13d
jmp 0x46ef62
cmp qword [rsi + 0x20], 8
jb 0x46e2cf
mov rcx, qword [rsi + 8]
jmp 0x46e2d3
lea rcx, [rsi + 8]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], 0x80
mov r8d, 3
mov dword [rsp + 0x20], r8d
xor r9d, r9d
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
mov qword [rsp + 0xb0], rax
cmp rax, 0xffffffffffffffff
jne 0x46e321
lea rdx, str.SetupDW_could_not_open_MSI_log_file.
mov rcx, rdi
call fcn.0045fe58
xor r13d, r13d
jmp 0x46ef62
xor edx, edx
mov r8d, 0x2000
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.00449860
xor eax, eax
mov dword [rsp + 0x5c], eax
mov ebx, ebp
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x64], ebp
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
mov r8d, 0x7fe
mov rdx, qword [rsp + 0x80]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x46ef50
mov esi, r12d
mov r13, qword [rsp + 0xb0]
mov eax, dword [rsp + 0x58]
cmp eax, r12d
jbe 0x46ef3b
mov rcx, qword [rsp + 0x80]
mov byte [rax + rcx], r12b
mov eax, dword [rsp + 0x58]
mov byte [rax + rcx + 1], r12b
mov r8, rcx
mov edx, 0x1000
mov rcx, rdi
call fcn.00459d70
lea r8, str.__b__
mov edx, 0x1000
mov rcx, rdi
call fcn.0046c3a4
mov r12, rax
lea rdx, [0x0049fba8]
mov rcx, rax
call fcn.00445330
test rax, rax
je 0x46ee36
xor esi, esi
mov word [rax], si
add rax, 4
mov qword [rsp + 0xd8], rax
cmp dword [rsp + 0x68], ebp
jne 0x46e4b9
mov qword [rsp + 0x158], 7
mov qword [rsp + 0x150], rsi
mov word [rsp + 0x140], si
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
sub rcx, rbp
mov r8, rcx
mov rdx, r12
lea rcx, [rsp + 0x138]
call fcn.00404e54
nop
mov rdi, qword [r15 + 0x728]
lea r9, [rsp + 0x138]
mov r8, qword [rdi + 8]
mov rdx, rdi
lea rcx, [r15 + 0x720]
call fcn.00439910
mov rsi, rax
mov rdx, rbp
lea rcx, [r15 + 0x720]
call fcn.004399c4
mov qword [rdi + 8], rsi
mov rax, qword [rsi + 8]
mov qword [rax], rsi
cmp qword [rsp + 0x158], 8
jb 0x46e497
mov rcx, qword [rsp + 0x140]
call fcn.00443d3c
mov qword [rsp + 0x158], 7
xor esi, esi
mov qword [rsp + 0x150], rsi
mov word [rsp + 0x140], si
mov ebx, dword [rsp + 0x40]
lea rdx, str.:_Component:
mov rcx, r12
call fcn.00445330
cmp rax, rsi
je 0x46e58c
mov qword [rsp + 0x1d0], 7
mov qword [rsp + 0x1c8], rsi
mov word [rsp + 0x1b8], si
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
sub rcx, rbp
mov r8, rcx
mov rdx, r12
lea rcx, [rsp + 0x1b0]
call fcn.00404e54
nop
mov rdi, qword [r15 + 0x710]
lea r9, [rsp + 0x1b0]
mov r8, qword [rdi + 8]
mov rdx, rdi
lea rcx, [r15 + 0x708]
call fcn.00439910
mov rsi, rax
mov rdx, rbp
lea rcx, [r15 + 0x708]
call fcn.004399c4
mov qword [rdi + 8], rsi
mov rax, qword [rsi + 8]
mov qword [rax], rsi
cmp qword [rsp + 0x1d0], 8
jb 0x46e56a
mov rcx, qword [rsp + 0x1b8]
call fcn.00443d3c
mov qword [rsp + 0x1d0], 7
xor esi, esi
mov qword [rsp + 0x1c8], rsi
mov word [rsp + 0x1b8], si
mov ebx, dword [rsp + 0x40]
cmp ebx, esi
je 0x46e5a6
mov rdx, r15
mov rcx, r12
call fcn.0046d79c
mov rdx, r15
mov rcx, r12
call fcn.0046dac0
cmp dword [rsp + 0x5c], esi
je 0x46e5b5
mov dword [rsp + 0x5c], esi
jmp 0x46ebd6
mov rdi, qword [rsp + 0xd0]
lea rdx, [rdi + 0x20]
mov rcx, r12
call fcn.00445330
cmp r12, rax
jne 0x46e76b
xor r9d, r9d
mov r8, r14
mov rdx, rdi
mov rcx, r12
call fcn.0046c7f4
cmp eax, esi
je 0x46ee2d
lea rbx, [r14 + 0x2000]
lea rdi, str.INSTALL
mov rsi, rbx
mov ecx, 8
repe cmpsw word [rsi], word [rdi]
je 0x46e62e
lea rdi, str.ADMIN
mov rsi, rbx
mov ecx, 6
repe cmpsw word [rsi], word [rdi]
je 0x46e62e
lea rdi, str.ADVERTISE
mov rsi, rbx
mov ecx, 0xa
repe cmpsw word [rsi], word [rdi]
jne 0x46e636
xor esi, esi
mov dword [rsp + 0x64], esi
jmp 0x46e638
xor esi, esi
xor edx, edx
mov r8d, 0x1800
lea rcx, [rsp + 0x1e0]
call fcn.00449860
lea r8, [r14 + 0x800]
mov eax, 0x400
mov r9, rax
mov rdx, rax
lea rcx, [rsp + 0x1e0]
call fcn.004461fc
mov qword [rsp + 0x100], 7
mov qword [rsp + 0xf8], rsi
mov word [rsp + 0xe8], si
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, rbp
mov r8, rcx
mov rdx, rbx
lea rcx, [rsp + 0xe0]
call fcn.00404e54
nop
lea rcx, [r15 + 0x738]
lea rdx, [rsp + 0xe0]
call fcn.0046de30
mov rcx, rax
mov r8d, 0x1800
lea rdx, [rsp + 0x1e0]
call fcn.00449960
nop
cmp qword [rsp + 0x100], 8
jb 0x46e6f1
mov rcx, qword [rsp + 0xe8]
call fcn.00443d3c
mov qword [rsp + 0x100], 7
mov qword [rsp + 0xf8], rsi
mov word [rsp + 0xe8], si
mov eax, dword [rsp + 0x40]
cmp eax, ebp
jne 0x46ec93
mov rcx, rbx
call fcn.0046c4c8
cmp eax, esi
je 0x46e72e
mov dword [rsp + 0x48], ebp
jmp 0x46ebde
mov edx, 0x64
mov rcx, r15
sub rbx, r15
lea rax, [rdx + 0x7fffff9a]
cmp rax, rsi
je 0x46e75a
movzx eax, word [rbx + rcx]
cmp ax, si
je 0x46e75a
mov word [rcx], ax
add rcx, 2
sub rdx, rbp
jne 0x46e739
cmp rdx, rsi
jne 0x46e763
sub rcx, 2
mov word [rcx], si
jmp 0x46ebde
mov rdi, qword [rsp + 0x90]
lea rdx, [rdi + 0x20]
mov rcx, r12
call fcn.00445330
cmp r12, rax
jne 0x46e8bb
mov r9b, bpl
mov r8, r14
mov rdx, rdi
mov rcx, r12
call fcn.0046c7f4
cmp eax, esi
je 0x46ee22
lea rdx, [r14 + 0x2000]
lea rdi, str.INSTALL
mov rsi, rdx
mov ecx, 8
repe cmpsw word [rsi], word [rdi]
je 0x46e7e4
lea rdi, str.ADMIN
mov rsi, rdx
mov ecx, 6
repe cmpsw word [rsi], word [rdi]
je 0x46e7e4
lea rdi, str.ADVERTISE
mov rsi, rdx
mov ecx, 0xa
repe cmpsw word [rsi], word [rdi]
jne 0x46e7e8
mov dword [rsp + 0x68], ebp
mov qword [rsp + 0x130], 7
xor esi, esi
mov qword [rsp + 0x128], rsi
mov word [rsp + 0x118], si
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, rbp
mov r8, rcx
lea rcx, [rsp + 0x110]
call fcn.00404e54
nop
lea rcx, [r15 + 0x738]
lea r8, [rsp + 0x110]
lea rdx, [rsp + 0x108]
call fcn.0046d0dc
nop
cmp qword [rsp + 0x130], 8
jb 0x46e85e
mov rcx, qword [rsp + 0x118]
call fcn.00443d3c
mov qword [rsp + 0x130], 7
mov qword [rsp + 0x128], rsi
mov word [rsp + 0x118], si
mov rdi, qword [rsp + 0x108]
cmp rdi, qword [r15 + 0x740]
je 0x46ebd6
lea rcx, [rdi + 0x840]
lea r8, [r14 + 0x800]
mov eax, 0x400
mov r9, rax
mov rdx, rax
call fcn.004461fc
lea rcx, [rdi + 0x40]
call fcn.0046cf50
jmp 0x46ebd6
cmp ebx, ebp
jne 0x46eae8
mov rdi, qword [rsp + 0x78]
lea rdx, [rdi + 0x20]
mov rcx, r12
call fcn.00445330
cmp r12, rax
jne 0x46e94b
xor r9d, r9d
mov r8, r14
mov rdx, rdi
mov rcx, r12
call fcn.0046c7f4
cmp eax, esi
je 0x46ebde
lea rdi, [r14 + 0x2000]
mov rcx, rdi
call fcn.0046c4c8
cmp eax, esi
je 0x46e90e
mov dword [rsp + 0x48], ebp
jmp 0x46ebde
mov edx, 0x64
mov rcx, r15
sub rdi, r15
lea rax, [rdx + 0x7fffff9a]
cmp rax, rsi
je 0x46e93a
movzx eax, word [rcx + rdi]
cmp ax, si
je 0x46e93a
mov word [rcx], ax
add rcx, 2
sub rdx, rbp
jne 0x46e919
cmp rdx, rsi
jne 0x46e943
sub rcx, 2
mov word [rcx], si
jmp 0x46ebde
mov rdi, qword [rsp + 0xc8]
lea rdx, [rdi + 0x20]
mov rcx, r12
call fcn.00445330
cmp r12, rax
jne 0x46eaad
xor r9d, r9d
mov r8, r14
mov rdx, rdi
mov rcx, r12
call fcn.0046c7f4
cmp eax, esi
je 0x46ebde
lea rbx, [r14 + 0x3800]
mov ecx, 0x64
mov rax, r15
mov rdx, rbx
sub rdx, r15
xor r8d, r8d
lea rsi, [rcx - 1]
cmp rsi, r8
je 0x46e9bb
movzx edi, word [rdx + rax]
cmp di, r8w
je 0x46e9bb
mov word [rax], di
add rax, 2
mov rcx, rsi
cmp rsi, r8
jne 0x46e999
cmp rcx, r8
jne 0x46e9c4
sub rax, 2
mov word [rax], r8w
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
sub rcx, rbp
mov r8, rcx
lea rcx, [r15 + 0x790]
mov rdx, r15
call fcn.00404e54
lea rsi, [r14 + 0x2800]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, rbp
mov r8, rcx
lea rcx, [r15 + 0x768]
mov rdx, rsi
call fcn.00404e54
mov r8d, 0x400
mov rcx, r8
lea rdx, str.1935
sub rdx, rsi
xor edi, edi
lea rax, [rcx + 0x7ffffbfe]
cmp rax, rdi
je 0x46ea4d
movzx eax, word [rsi + rdx]
cmp ax, di
je 0x46ea4d
mov word [rsi], ax
add rsi, 2
sub rcx, rbp
jne 0x46ea2c
cmp rcx, rdi
jne 0x46ea56
sub rsi, 2
mov word [rsi], di
mov rcx, r8
lea rdx, str._1_
sub rdx, rbx
xor esi, esi
lea rax, [rcx + 0x7ffffbfe]
cmp rax, rsi
je 0x46ea89
movzx eax, word [rbx + rdx]
cmp ax, si
je 0x46ea89
mov word [rbx], ax
add rbx, 2
sub rcx, rbp
jne 0x46ea68
cmp rcx, rsi
jne 0x46ea92
sub rbx, 2
mov word [rbx], si
mov rdx, r14
mov rcx, r15
call fcn.0046cc08
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0x40], esi
jmp 0x46ec93
mov rdi, qword [rsp + 0x88]
lea rdx, [rdi + 0x20]
mov rcx, r12
call fcn.00445330
cmp r12, rax
jne 0x46eae8
xor r9d, r9d
mov r8, r14
mov rdx, rdi
mov rcx, r12
call fcn.0046c7f4
cmp eax, esi
jne 0x46ed7d
mov dword [rsp + 0x48], ebp
jmp 0x46ebde
mov rdx, qword [rsp + 0x98]
add rdx, 0x20
mov rcx, r12
call fcn.00445330
cmp rax, rsi
jne 0x46eb1b
mov rdx, qword [rsp + 0x70]
add rdx, 0x20
mov rcx, r12
call fcn.00445330
cmp rax, rsi
je 0x46ebd6
mov qword [rsp + 0x180], 7
mov qword [rsp + 0x178], rsi
mov word [rsp + 0x168], si
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
sub rcx, rbp
mov r8, rcx
mov rdx, r12
lea rcx, [rsp + 0x160]
call fcn.00404e54
nop
mov rdi, qword [r15 + 0x7d8]
lea r9, [rsp + 0x160]
mov r8, qword [rdi + 8]
mov rdx, rdi
lea rcx, [r15 + 0x7d0]
call fcn.00439910
mov rsi, rax
mov rdx, rbp
lea rcx, [r15 + 0x7d0]
call fcn.004399c4
mov qword [rdi + 8], rsi
mov rax, qword [rsi + 8]
mov qword [rax], rsi
cmp qword [rsp + 0x180], 8
jb 0x46ebb4
mov rcx, qword [rsp + 0x168]
call fcn.00443d3c
mov qword [rsp + 0x180], 7
xor esi, esi
mov qword [rsp + 0x178], rsi
mov word [rsp + 0x168], si
mov ebx, dword [rsp + 0x40]
cmp ebx, ebp
jne 0x46ec93
mov rdi, qword [rsp + 0xb8]
lea rdx, [rdi + 0x20]
mov rcx, r12
call fcn.00445330
cmp r12, rax
jne 0x46ec93
xor r9d, r9d
mov r8, r14
mov rdx, rdi
mov rcx, r12
call fcn.0046c7f4
cmp eax, esi
je 0x46ec24
mov eax, dword [rsp + 0x60]
add eax, ebp
mov dword [rsp + 0x60], eax
cmp eax, ebp
jle 0x46ec93
mov dword [rsp + 0x40], esi
jmp 0x46ec93
xor r9d, r9d
mov r8, r14
mov rdx, qword [rsp + 0xa8]
mov rcx, r12
call fcn.0046c7f4
cmp eax, esi
je 0x46ec93
lea rdx, [r14 + 0x2800]
mov ecx, 0x64
mov rax, r15
sub rdx, r15
lea rsi, [rcx - 1]
xor r13d, r13d
cmp rsi, r13
je 0x46ec7d
movzx edi, word [rax + rdx]
cmp di, r13w
je 0x46ec79
mov word [rax], di
add rax, 2
mov rcx, rsi
xor esi, esi
cmp rcx, rsi
jne 0x46ec50
jmp 0x46ec7f
xor esi, esi
jmp 0x46ec7f
xor esi, esi
cmp rcx, rsi
mov r13, qword [rsp + 0xb0]
jne 0x46ec90
sub rax, 2
mov word [rax], si
cmp dword [rsp + 0x64], ebp
jne 0x46ed54
mov qword [rsp + 0x1a8], 7
mov qword [rsp + 0x1a0], rsi
mov word [rsp + 0x190], si
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
sub rcx, rbp
mov r8, rcx
mov rdx, r12
lea rcx, [rsp + 0x188]
call fcn.00404e54
nop
mov rdi, qword [r15 + 0x6f8]
lea r9, [rsp + 0x188]
mov r8, qword [rdi + 8]
mov rdx, rdi
lea rcx, [r15 + 0x6f0]
call fcn.00439910
mov rsi, rax
mov rdx, rbp
lea rcx, [r15 + 0x6f0]
call fcn.004399c4
mov qword [rdi + 8], rsi
mov rax, qword [rsi + 8]
mov qword [rax], rsi
cmp qword [rsp + 0x1a8], 8
jb 0x46ed36
mov rcx, qword [rsp + 0x190]
call fcn.00443d3c
mov qword [rsp + 0x1a8], 7
xor esi, esi
mov qword [rsp + 0x1a0], rsi
mov word [rsp + 0x190], si
mov rcx, qword [rsp + 0xd8]
mov r12, rcx
lea rdx, [0x0049fba8]
call fcn.00445330
cmp rax, rsi
je 0x46ee13
mov ebx, dword [rsp + 0x40]
jmp 0x46e3e5
lea rcx, [r14 + 0x2000]
xor edx, edx
lea r8d, [rdx + 0xa]
call fcn.00444de4
cmp eax, 0x78f
jne 0x46edf5
lea rcx, [r15 + 0x790]
mov r8, rbp
lea rdx, str._1_
call fcn.00404e54
mov edx, 0x106
lea rcx, [r15 + 0xcc]
lea rdi, str.1935
sub rdi, rcx
lea rax, [rdx + 0x7ffffef8]
cmp rax, rsi
je 0x46ede3
movzx eax, word [rdi + rcx]
cmp ax, si
je 0x46ede3
mov word [rcx], ax
add rcx, 2
sub rdx, rbp
jne 0x46edc2
cmp rdx, rsi
jne 0x46edec
sub rcx, 2
mov word [rcx], si
mov dword [rsp + 0x48], ebp
jmp 0x46ee06
lea rdx, [r14 + 0x1000]
mov r8, r15
mov ecx, eax
call fcn.0046cd74
mov esi, ebp
mov dword [rsp + 0x44], ebp
mov rdi, qword [rsp + 0x50]
jmp 0x46ee36
mov ebx, dword [rsp + 0x40]
mov esi, dword [rsp + 0x44]
mov rdi, qword [rsp + 0x50]
jmp 0x46ee36
mov esi, dword [rsp + 0x44]
mov rdi, qword [rsp + 0x50]
jmp 0x46ee36
mov esi, dword [rsp + 0x44]
mov rdi, qword [rsp + 0x50]
xor eax, eax
cmp esi, eax
jne 0x46ee42
cmp dword [rsp + 0x48], eax
je 0x46ee48
mov ebx, eax
mov dword [rsp + 0x40], eax
xor edx, edx
mov r8d, 0x1000
mov rcx, qword [rsp + 0xa0]
call fcn.00449860
mov r10d, 0x1000
mov rdx, r10
mov r8, qword [rsp + 0xa0]
mov rcx, r8
sub r12, r8
xor r9d, r9d
lea rax, [rdx + 0x7fffeffe]
cmp rax, r9
je 0x46ee9a
movzx eax, word [rcx + r12]
cmp ax, r9w
je 0x46ee9a
mov word [rcx], ax
add rcx, 2
sub rdx, rbp
jne 0x46ee77
xor r12d, r12d
cmp rdx, r12
jne 0x46eea6
sub rcx, 2
mov word [rcx], r12w
mov rdx, r10
mov rcx, rdi
mov rdi, r8
sub rdi, qword [rsp + 0x50]
lea rax, [rdx + 0x7fffeffe]
cmp rax, r12
je 0x46eeda
movzx eax, word [rcx + rdi]
cmp ax, r12w
je 0x46eeda
mov word [rcx], ax
add rcx, 2
sub rdx, rbp
jne 0x46eeb8
cmp rdx, r12
jne 0x46eee3
sub rcx, 2
mov word [rcx], r12w
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0x7fd
jb 0x46ef07
mov word [rdi], r12w
mov eax, r12d
mov dword [rsp + 0x5c], ebp
test bpl, al
je 0x46ef0e
add eax, ebp
mov r8d, 0x7fe
sub r8d, eax
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x58]
mov rdx, qword [rsp + 0x80]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, r12d
jne 0x46e382
mov r13d, dword [rsp + 0xc0]
mov r12d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0xb0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [rsp + 0x48]
jmp 0x46ef62
mov r13d, ecx
mov rcx, qword [rsp + 0x80]
call fcn.00444544
mov rcx, qword [rsp + 0xa0]
call fcn.00444544
mov rcx, qword [rsp + 0x50]
call fcn.00444544
mov rcx, qword [rsp + 0xd0]
call fcn.00443d3c
mov rcx, qword [rsp + 0x90]
call fcn.00443d3c
mov rcx, qword [rsp + 0x78]
call fcn.00443d3c
mov rcx, qword [rsp + 0x88]
call fcn.00443d3c
mov rcx, qword [rsp + 0x98]
call fcn.00443d3c
mov rcx, qword [rsp + 0x70]
call fcn.00443d3c
mov rcx, r14
call fcn.00443d3c
xor eax, eax
cmp r12d, eax
jne 0x46efe1
cmp ebx, eax
je 0x46efe6
cmp r13d, ebp
je 0x46efe8
mov ebp, eax
mov eax, ebp
mov rcx, qword [rsp + 0x19e0]
xor rcx, rsp
call fcn.00443d60
mov rbx, qword [rsp + 0x1a48]
add rsp, 0x19f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret