Function at 0x416ac0
Capabilities:
Check mutex on windows
Read file via mapping
Set current directory

Disassembly:
mov rax, rsp
sub rsp, 0x678
mov qword [rsp + 0x330], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov qword [rax - 8], rsi
mov qword [rax - 0x10], rdi
mov qword [rax - 0x18], r12
mov qword [rax - 0x20], r13
mov qword [rax - 0x28], r14
mov qword [rax - 0x30], r15
mov rax, qword [0x004792e8]
mov qword [rsp + 0x630], rax
mov qword [rsp + 0x158], rdx
mov dword [rsp + 0x60], ecx
lea rdx, [0x0045ee84]
xor ecx, ecx
call fcn.0044aa30
mov edx, 1
lea rcx, [rsp + 0x350]
call fcn.00423b00
nop
lea rcx, [rsp + 0x240]
call fcn.0040c110
nop
lea rbx, [section..SHMMESS]
mov qword [rsp + 0xb8], rbx
xor r15d, r15d
mov qword [rsp + 0xc0], r15
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x350]
call fcn.00410160
nop
lea r8, [0x0045e728]
lea r12, [0x0045e600]
mov edi, dword [rsp + 0x98]
test edi, edi
je 0x416cc1
mov ecx, r15d
mov rax, r15
test edi, edi
jle 0x416bc2
nop
nop
nop
mov rdx, qword [rsp + 0x90]
cmp byte [rdx + rax], 0x5c
jne 0x416bb9
mov byte [rdx + rax], 0x2e
mov edi, dword [rsp + 0x98]
inc ecx
inc rax
cmp ecx, edi
jl 0x416ba0
lea rsi, str..j2e.mapping
mov qword [rsp + 0x2a8], rsi
mov qword [rsp + 0x2a0], r8
mov ebx, r15d
nop
inc ebx
movsxd rax, ebx
cmp byte [rax + rsi], 0
jne 0x416be0
mov dword [rsp + 0x2b0], ebx
lea edx, [rbx + rdi]
lea rcx, [rsp + 0x88]
mov rax, qword [rsp + 0x88]
call qword [rax + 8]
cmp edi, edi
jge 0x416c30
movsxd rax, edi
mov r8, qword [rsp + 0x90]
lea rdx, [rax + r8]
movsxd rcx, ebx
add rcx, rax
add rcx, r8
mov eax, edi
sub eax, edi
movsxd r8, eax
call fcn.00446c20
movsxd r8, ebx
movsxd rcx, edi
add rcx, qword [rsp + 0x90]
mov rdx, rsi
call fcn.00446c20
nop
mov qword [rsp + 0x2a0], r12
mov edx, dword [rsp + 0x98]
lea rcx, [rsp + 0x88]
mov rax, qword [rsp + 0x88]
call qword [rax + 8]
mov r11, qword [rsp + 0x90]
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], 0x1000
xor r9d, r9d
xor edx, edx
lea rcx, [rdx - 1]
lea r8d, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x20], 0x1000
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rbx, rax
mov qword [rsp + 0xb8], rax
mov rdx, rbx
lea rcx, [rsp + 0x400]
call fcn.00442d20
nop
lea rax, [rsp + 0x350]
mov qword [0x0047acd8], rax
lea rax, [rsp + 0x240]
mov qword [0x0047ace0], rax
lea rax, [rsp + 0x400]
mov qword [0x0047ace8], rax
xor eax, eax
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0xb4], eax
mov dword [rsp + 0xb0], 8
lea rcx, [rsp + 0xb0]
call qword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
lea rdx, [rsp + 0x180]
lea rcx, [rsp + 0x350]
call fcn.00425fc0
nop
lea rbp, [0x0045e628]
cmp dword [rsp + 0x190], 0
je 0x416db0
lea rdx, [rsp + 0x200]
lea rcx, [rsp + 0x350]
call fcn.00411620
nop
mov rdx, rax
lea rcx, [rsp + 0x180]
call fcn.004120a0
nop
mov qword [rsp + 0x200], rbp
mov rcx, qword [rsp + 0x208]
mov qword [rsp + 0x208], r15
mov dword [rsp + 0x210], r15d
mov dword [rsp + 0x218], r15d
test rcx, rcx
je 0x416da8
call fcn.00446bf0
mov qword [rsp + 0x200], r12
lea rdx, [rsp + 0x160]
mov rcx, qword [0x0047acd8]
call fcn.00411400
nop
mov edx, dword [rsp + 0x170]
test edx, edx
jle 0x416e8d
lea rcx, [rsp + 0x160]
mov rax, qword [rsp + 0x160]
call qword [rax + 8]
mov rdi, qword [rsp + 0x168]
lea rdx, [rsp + 0x1e0]
mov rcx, qword [0x0047acd8]
call fcn.00411730
mov rbx, rax
mov r8, qword [rax]
mov edx, dword [rax + 0x10]
mov rcx, rax
call qword [r8 + 8]
mov r9d, 0x104
lea r8, [rsp + 0x520]
mov rdx, rdi
mov rcx, qword [rbx + 8]
call fcn.0040e890
mov ebx, eax
mov qword [rsp + 0x1e0], rbp
mov rcx, qword [rsp + 0x1e8]
mov qword [rsp + 0x1e8], r15
mov dword [rsp + 0x1f0], r15d
mov dword [rsp + 0x1f8], r15d
test rcx, rcx
je 0x416e61
call fcn.00446bf0
mov qword [rsp + 0x1e0], r12
lea eax, [rbx - 1]
cmp eax, 0x102
ja 0x416e81
lea rcx, [rsp + 0x520]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov rcx, qword [0x0047acd8]
call fcn.0041b510
lea rdx, [rsp + 0xe8]
mov rcx, qword [0x0047acd8]
call fcn.004111e0
nop
mov edx, dword [rsp + 0xf8]
test edx, edx
je 0x416ed4
lea rcx, [rsp + 0xe8]
mov rax, qword [rsp + 0xe8]
call qword [rax + 8]
mov rdx, qword [rsp + 0xf0]
lea rcx, [0x0047ad60]
call fcn.00442760
lea rdx, [rsp + 0x138]
mov rcx, qword [0x0047acd8]
call fcn.00410fc0
nop
mov edx, dword [rsp + 0x148]
test edx, edx
je 0x416f1b
lea rcx, [rsp + 0x138]
mov rax, qword [rsp + 0x138]
call qword [rax + 8]
mov rdx, qword [rsp + 0x140]
lea rcx, [0x0047ad60]
call fcn.00442690
mov edx, dword [rsp + 0xf8]
lea rcx, [rsp + 0xe8]
mov rax, qword [rsp + 0xe8]
call qword [rax + 8]
mov r11, qword [rsp + 0xf0]
mov qword [rsp + 0x2c0], r11
mov ecx, r15d
mov dword [rsp + 0x2c8], r15d
test r11, r11
je 0x416f73
cmp byte [r11], cl
je 0x416f73
nop
nop
inc ecx
movsxd rax, ecx
cmp byte [rax + r11], 0
jne 0x416f60
mov dword [rsp + 0x2c8], ecx
mov eax, ecx
mov edi, dword [rsp + 0x148]
cmp edi, ecx
cmovl eax, edi
mov r8d, r15d
mov r9, r15
movsxd rbx, eax
mov rsi, qword [rsp + 0x140]
test eax, eax
jle 0x416fbc
mov rdx, rsi
mov r10, r11
sub r10, rsi
nop
movzx eax, byte [r10 + rdx]
cmp byte [rdx], al
jne 0x416fb7
inc r8d
inc r9
inc rdx
cmp r9, rbx
jl 0x416fa0
test r8d, r8d
js 0x416fcb
cmp r8d, edi
jge 0x416fcb
movsxd rax, r8d
movzx r9d, byte [rax + rsi]
jmp 0x416fce
xor r9b, r9b
test r8d, r8d
js 0x416fe2
cmp r8d, ecx
jge 0x416fe2
movsxd rax, r8d
movzx edx, byte [rax + r11]
jmp 0x416fe4
xor dl, dl
movsx ecx, r9b
movsx eax, dl
sub ecx, eax
mov qword [rsp + 0x2b8], r12
mov eax, r15d
sete al
mov dword [0x0047acd0], eax
mov dword [rsp + 0x58], r15d
lea rdx, [rsp + 0x1c0]
lea rcx, [rsp + 0x350]
call fcn.004070d0
mov rbx, rax
mov r8, qword [rax]
mov edx, dword [rax + 0x10]
mov rcx, rax
call qword [r8 + 8]
lea r8, [rsp + 0x58]
lea rdx, [0x0045fb9c]
mov rcx, qword [rbx + 8]
call fcn.00447a60
nop
mov qword [rsp + 0x1c0], rbp
mov rcx, qword [rsp + 0x1c8]
mov qword [rsp + 0x1c8], r15
mov dword [rsp + 0x1d0], r15d
mov dword [rsp + 0x1d8], r15d
test rcx, rcx
je 0x417073
call fcn.00446bf0
mov qword [rsp + 0x1c0], r12
lea rcx, [rsp + 0x4b8]
lea r14, [0x00400000]
mov rax, qword [r14 + 0x5fb80]
mov qword [rcx], rax
mov rax, qword [r14 + 0x5fb88]
mov qword [rcx + 8], rax
mov rax, qword [r14 + 0x5fb90]
mov qword [rcx + 0x10], rax
movzx eax, byte [r14 + 0x5fb98]
mov byte [rcx + 0x18], al
lea rcx, [rsp + 0x4b8]
lea r12, [0x0047adb0]
mov rdx, r12
mov edi, 0x19
mov r8, rdi
nop
movzx eax, byte [rcx]
mov byte [rdx], al
inc rdx
inc rcx
dec r8
jne 0x4170d0
lea rcx, [0x0045f390]
call fcn.004486b0
test rax, rax
je 0x41712c
mov rbx, r12
movzx eax, byte [rbx]
test al, al
js 0x417106
movzx eax, byte [rbx]
cmp al, 0x20
jge 0x417106
mov al, 0x2e
jmp 0x417109
movzx eax, byte [rbx]
movsx edx, al
lea rcx, [0x0045f38c]
call fcn.004487d0
inc rbx
dec rdi
jne 0x4170f4
lea rcx, [0x0045f388]
call fcn.004487d0
cmp byte [0x0047adb0], 0
je 0x41719a
mov edx, dword [rsp + 0x3fc]
mov ecx, dword [rsp + 0x58]
call fcn.004264e0
test eax, eax
jne 0x41719a
lea edx, [rax + 9]
lea rcx, [rsp + 0x2d0]
call fcn.00413b90
nop
mov edx, dword [rsp + 0x2e0]
lea rcx, [rsp + 0x2d0]
mov rax, qword [rsp + 0x2d0]
call qword [rax + 8]
mov r8, qword [rsp + 0x2d8]
lea rdx, [0x0045f188]
lea rcx, [0x004795d0]
call fcn.00448320
mov ecx, 9
call fcn.00449c50
nop
lea rcx, [rsp + 0x4a0]
mov rax, qword [r14 + 0x5fb68]
mov qword [rcx], rax
mov rax, qword [r14 + 0x5fb70]
mov qword [rcx + 8], rax
mov eax, dword [r14 + 0x5fb78]
mov dword [rcx + 0x10], eax
movzx eax, word [r14 + 0x5fb7c]
mov word [rcx + 0x14], ax
lea rcx, [rsp + 0x4f8]
mov rax, qword [r14 + 0x5fb48]
mov qword [rcx], rax
mov rax, qword [r14 + 0x5fb50]
mov qword [rcx + 8], rax
mov rax, qword [r14 + 0x5fb58]
mov qword [rcx + 0x10], rax
movzx eax, word [r14 + 0x5fb60]
mov word [rcx + 0x18], ax
movzx eax, byte [r14 + 0x5fb62]
mov byte [rcx + 0x1a], al
lea rcx, [rsp + 0x4d8]
mov rax, qword [r14 + 0x5fb28]
mov qword [rcx], rax
mov rax, qword [r14 + 0x5fb30]
mov qword [rcx + 8], rax
mov rax, qword [r14 + 0x5fb38]
mov qword [rcx + 0x10], rax
movzx eax, word [r14 + 0x5fb40]
mov word [rcx + 0x18], ax
lea rcx, [rsp + 0x4f8]
mov rdx, r12
mov edi, 0x1b
mov r8, rdi
nop
nop
nop
nop
movzx eax, byte [rcx]
mov byte [rdx], al
inc rdx
inc rcx
dec r8
jne 0x417260
lea rcx, [0x0045f390]
call fcn.004486b0
test rax, rax
je 0x4172bc
mov rbx, r12
movzx eax, byte [rbx]
test al, al
js 0x417296
movzx eax, byte [rbx]
cmp al, 0x20
jge 0x417296
mov al, 0x2e
jmp 0x417299
movzx eax, byte [rbx]
movsx edx, al
lea rcx, [0x0045f38c]
call fcn.004487d0
inc rbx
dec rdi
jne 0x417284
lea rcx, [0x0045f388]
call fcn.004487d0
mov rbp, qword [0x0047adb0]
lea rcx, [rsp + 0x4d8]
mov rdx, r12
mov edi, 0x1a
mov r8, rdi
nop
nop
nop
movzx eax, byte [rcx]
mov byte [rdx], al
inc rdx
inc rcx
dec r8
jne 0x4172e0
lea rcx, [0x0045f390]
call fcn.004486b0
test rax, rax
je 0x41733c
mov rbx, r12
movzx eax, byte [rbx]
test al, al
js 0x417316
movzx eax, byte [rbx]
cmp al, 0x20
jge 0x417316
mov al, 0x2e
jmp 0x417319
movzx eax, byte [rbx]
movsx edx, al
lea rcx, [0x0045f38c]
call fcn.004487d0
inc rbx
dec rdi
jne 0x417304
lea rcx, [0x0045f388]
call fcn.004487d0
mov esi, dword [0x0047adb0]
lea rcx, [rsp + 0x4a0]
mov rdx, r12
mov edi, 0x16
mov r8, rdi
nop
nop
nop
movzx eax, byte [rcx]
mov byte [rdx], al
inc rdx
inc rcx
dec r8
jne 0x417360
lea rcx, [0x0045f390]
call fcn.004486b0
test rax, rax
je 0x4173bc
mov rbx, r12
movzx eax, byte [rbx]
test al, al
js 0x417396
movzx eax, byte [rbx]
cmp al, 0x20
jge 0x417396
mov al, 0x2e
jmp 0x417399
movzx eax, byte [rbx]
movsx edx, al
lea rcx, [0x0045f38c]
call fcn.004487d0
inc rbx
dec rdi
jne 0x417384
lea rcx, [0x0045f388]
call fcn.004487d0
cmp byte [0x0047adb0], 0
je 0x417428
mov r8d, esi
mov rdx, rbp
mov rcx, r12
call fcn.00413a20
test eax, eax
jne 0x417428
lea edx, [rax + 0xb]
lea rcx, [rsp + 0x310]
call fcn.00413b90
nop
mov edx, dword [rsp + 0x320]
lea rcx, [rsp + 0x310]
mov rax, qword [rsp + 0x310]
call qword [rax + 8]
mov r8, qword [rsp + 0x318]
lea rdx, [0x0045f188]
lea rcx, [0x004795d0]
call fcn.00448320
mov ecx, 0xb
call fcn.00449c50
nop
lea rdx, [rsp + 0xc8]
mov rcx, qword [0x0047acd8]
call fcn.00410750
nop
mov esi, r15d
inc esi
movsxd rax, esi
cmp byte [rax + r14 + 0x5edfc], 0
jne 0x417440
mov eax, esi
mov edx, dword [rsp + 0xd8]
cmp edx, esi
cmovl eax, edx
mov ebp, r15d
mov rdi, r15
movsxd r13, eax
test eax, eax
jle 0x4174b7
nop
nop
movzx ecx, byte [rdi + r14 + 0x5edfc]
mov rax, qword [rsp + 0xd0]
movzx r12d, byte [rax + rdi]
cmp r12b, cl
je 0x4174a2
movsx ecx, cl
call fcn.00447c00
mov ebx, eax
movsx ecx, r12b
call fcn.00447c00
cmp eax, ebx
jne 0x4174ac
inc ebp
inc rdi
cmp rdi, r13
jl 0x417470
test ebp, ebp
js 0x4174cd
mov edx, dword [rsp + 0xd8]
cmp ebp, edx
jge 0x4174d4
movsxd rcx, ebp
mov rax, qword [rsp + 0xd0]
movzx r9d, byte [rcx + rax]
jmp 0x4174d7
mov edx, dword [rsp + 0xd8]
xor r9b, r9b
test ebp, ebp
js 0x4174ed
cmp ebp, esi
jge 0x4174ed
movsxd rax, ebp
movzx r8d, byte [rax + r14 + 0x5edfc]
jmp 0x4174f0
xor r8b, r8b
movsx ecx, r9b
movsx eax, r8b
sub ecx, eax
mov r14d, r15d
sete r14b
mov ebp, r15d
lea rcx, [0x00400000]
nop
nop
inc ebp
movsxd rax, ebp
cmp byte [rax + rcx + 0x5fb18], 0
jne 0x417510
mov eax, ebp
cmp edx, ebp
cmovl eax, edx
mov esi, r15d
mov rdi, r15
movsxd r13, eax
test eax, eax
jle 0x41758d
nop
nop
nop
nop
movzx ecx, byte [rdi + rcx + 0x5fb18]
mov rax, qword [rsp + 0xd0]
movzx r12d, byte [rax + rdi]
cmp r12b, cl
je 0x417571
movsx ecx, cl
call fcn.00447c00
mov ebx, eax
movsx ecx, r12b
call fcn.00447c00
cmp eax, ebx
jne 0x417582
inc esi
inc rdi
cmp rdi, r13
lea rcx, [0x00400000]
jl 0x417540
test esi, esi
js 0x4175a3
mov edx, dword [rsp + 0xd8]
cmp esi, edx
jge 0x4175a3
movsxd rcx, esi
mov rax, qword [rsp + 0xd0]
movzx r8d, byte [rcx + rax]
jmp 0x4175a6
xor r8b, r8b
test esi, esi
js 0x4175c3
cmp esi, ebp
jge 0x4175c3
movsxd rax, esi
lea r12, [0x00400000]
movzx edx, byte [rax + r12 + 0x5fb18]
jmp 0x4175cc
xor dl, dl
lea r12, [0x00400000]
movsx ecx, r8b
movsx eax, dl
sub ecx, eax
mov eax, r15d
sete al
mov dword [rsp + 0x30], eax
test r14d, r14d
jne 0x41760e
test eax, eax
jne 0x41760e
lea rdx, str.custom
lea rcx, [rsp + 0xc8]
call fcn.00403cb0
test eax, eax
jne 0x4178a1
call fcn.00443840
jmp 0x4178a4
lea rdx, [rsp + 0x38]
mov rcx, qword [0x0047acd8]
call fcn.00410160
nop
mov ebx, dword [rsp + 0x48]
test ebx, ebx
jne 0x4176e9
lea rdx, [rsp + 0x220]
mov rcx, qword [0x0047acd8]
call fcn.00411620
mov rbx, rax
xor edx, edx
lea rcx, [rsp + 0x38]
mov r8, qword [rsp + 0x38]
call qword [r8 + 8]
movsxd rdi, dword [rbx + 0x10]
mov rsi, qword [rbx + 8]
movsxd rbx, dword [rsp + 0x48]
lea edx, [rbx + rdi]
lea rcx, [rsp + 0x38]
mov rax, qword [rsp + 0x38]
call qword [rax + 8]
cmp ebx, ebx
jge 0x417690
mov rax, qword [rsp + 0x40]
lea rdx, [rax + rbx]
lea rcx, [rax + rdi]
add rcx, rbx
mov eax, ebx
sub eax, ebx
movsxd r8, eax
call fcn.00446c20
mov r8, rdi
mov rcx, rbx
add rcx, qword [rsp + 0x40]
mov rdx, rsi
call fcn.00446c20
nop
lea rbp, [0x0045e628]
mov qword [rsp + 0x220], rbp
mov rcx, qword [rsp + 0x228]
xor edi, edi
mov qword [rsp + 0x228], rdi
mov dword [rsp + 0x230], edi
mov dword [rsp + 0x238], edi
test rcx, rcx
je 0x4176e3
call fcn.00446bf0
mov ebx, dword [rsp + 0x48]
jmp 0x4176f2
mov ebx, dword [rsp + 0x48]
jmp 0x4176f2
xor edi, edi
lea rbp, [0x0045e628]
mov ecx, edi
mov rax, rdi
test ebx, ebx
jle 0x41771c
nop
nop
mov rdx, qword [rsp + 0x40]
cmp byte [rdx + rax], 0x3a
jne 0x417713
mov byte [rdx + rax], 0x2e
mov ebx, dword [rsp + 0x48]
inc ecx
inc rax
cmp ecx, ebx
jl 0x417700
mov ecx, edi
mov rax, rdi
test ebx, ebx
jle 0x417741
mov rdx, qword [rsp + 0x40]
cmp byte [rdx + rax], 0x5c
jne 0x417738
mov byte [rdx + rax], 0x2e
mov ebx, dword [rsp + 0x48]
inc ecx
inc rax
cmp ecx, ebx
jl 0x417725
lea rsi, str..j2e.mutex
mov qword [rsp + 0x340], rsi
lea rax, [0x0045e728]
mov qword [rsp + 0x338], rax
nop
inc edi
movsxd rax, edi
cmp byte [rax + rsi], 0
jne 0x417760
mov dword [rsp + 0x348], edi
lea edx, [rdi + rbx]
lea rcx, [rsp + 0x38]
mov rax, qword [rsp + 0x38]
call qword [rax + 8]
cmp ebx, ebx
jge 0x4177a7
movsxd r8, ebx
mov rax, qword [rsp + 0x40]
lea rdx, [rax + r8]
movsxd rcx, edi
add rcx, rax
add rcx, r8
mov eax, ebx
sub eax, ebx
movsxd r8, eax
call fcn.00446c20
movsxd r8, edi
movsxd rcx, ebx
add rcx, qword [rsp + 0x40]
mov rdx, rsi
call fcn.00446c20
nop
mov edx, dword [rsp + 0x48]
lea rcx, [rsp + 0x38]
mov rax, qword [rsp + 0x38]
call qword [rax + 8]
mov r8, qword [rsp + 0x40]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov rbx, rax
test rax, rax
jne 0x4177fd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CreateMutex_error:__d_n
call fcn.004487d0
lea r15d, [rbx + 1]
jmp 0x417821
mov edx, 0x64
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x417879
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov r15d, 1
test r14d, r14d
je 0x417879
mov edx, 0xd
lea rcx, [rsp + 0x2f0]
call fcn.00413b90
nop
mov edx, dword [rsp + 0x300]
lea rcx, [rsp + 0x2f0]
mov rax, qword [rsp + 0x2f0]
call qword [rax + 8]
mov r8, qword [rsp + 0x2f8]
lea rdx, [0x0045f188]
lea rcx, [0x004795d0]
call fcn.00448320
mov ecx, 0xd
call fcn.00449c50
nop
mov qword [rsp + 0x38], rbp
mov rcx, qword [rsp + 0x40]
xor r14d, r14d
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x50], r14d
test rcx, rcx
je 0x4178a4
call fcn.00446bf0
jmp 0x4178a4
xor r14d, r14d
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x350]
call fcn.004105a0
nop
mov esi, r14d
nop
nop
inc esi
movsxd rax, esi
cmp byte [rax + r12 + 0x5edfc], 0
jne 0x4178c0
mov eax, esi
mov edx, dword [rsp + 0x78]
cmp edx, esi
cmovl eax, edx
mov ebp, r14d
mov rdi, r14
movsxd r13, eax
test eax, eax
jle 0x417937
nop
nop
movzx r12d, byte [rdi + r12 + 0x5edfc]
mov rax, qword [rsp + 0x70]
movzx ecx, byte [rax + rdi]
cmp cl, r12b
je 0x41791e
movsx ecx, cl
call fcn.00447c00
mov ebx, eax
movsx ecx, r12b
call fcn.00447c00
cmp ebx, eax
jne 0x41792f
inc ebp
inc rdi
cmp rdi, r13
lea r12, [0x00400000]
jl 0x4178f0
test ebp, ebp
js 0x41794a
mov edx, dword [rsp + 0x78]
cmp ebp, edx
jge 0x41794e
movsxd rcx, ebp
mov rax, qword [rsp + 0x70]
movzx r9d, byte [rcx + rax]
jmp 0x417951
mov edx, dword [rsp + 0x78]
xor r9b, r9b
test ebp, ebp
js 0x41796e
cmp ebp, esi
jge 0x41796e
movsxd rax, ebp
lea r10, [0x00400000]
movzx r8d, byte [rax + r10 + 0x5edfc]
jmp 0x417978
xor r8b, r8b
lea r10, [0x00400000]
movsx ecx, r9b
movsx eax, r8b
lea r8, [0x0045fae0]
sub ecx, eax
je 0x417a8a
mov ebp, r14d
nop
nop
nop
nop
inc ebp
movsxd rax, ebp
cmp byte [rax + r10 + 0x5fad8], 0
jne 0x4179a0
mov eax, ebp
cmp edx, ebp
cmovl eax, edx
mov esi, r14d
mov rdi, r14
movsxd r13, eax
test eax, eax
jle 0x417a17
nop
nop
nop
movzx r12d, byte [rdi + r10 + 0x5fad8]
mov rax, qword [rsp + 0x70]
movzx ecx, byte [rax + rdi]
cmp cl, r12b
je 0x417a05
movsx ecx, cl
call fcn.00447c00
mov ebx, eax
movsx ecx, r12b
call fcn.00447c00
cmp ebx, eax
jne 0x417a0f
lea r10, [0x00400000]
inc esi
inc rdi
cmp rdi, r13
jl 0x4179d0
test esi, esi
js 0x417a2a
mov edx, dword [rsp + 0x78]
cmp esi, edx
jge 0x417a2e
movsxd rcx, esi
mov rax, qword [rsp + 0x70]
movzx r9d, byte [rcx + rax]
jmp 0x417a31
mov edx, dword [rsp + 0x78]
xor r9b, r9b
test esi, esi
js 0x417a4e
cmp esi, ebp
jge 0x417a4e
movsxd rax, esi
lea rcx, [0x00400000]
movzx r8d, byte [rax + rcx + 0x5fad8]
jmp 0x417a51
xor r8b, r8b
movsx ecx, r9b
movsx eax, r8b
sub ecx, eax
je 0x417a83
lea rdx, [0x0045fae0]
lea rcx, [rsp + 0x68]
call fcn.00403cb0
test eax, eax
jne 0x417b82
mov edx, dword [rsp + 0x78]
lea r8, [0x0045fae0]
jmp 0x417a8a
lea r8, [0x0045fae0]
mov esi, r14d
nop
inc esi
movsxd rax, esi
cmp byte [rax + r8], 0
jne 0x417a90
mov eax, esi
cmp edx, esi
cmovl eax, edx
mov ebp, r14d
mov rdi, r14
movsxd r13, eax
test eax, eax
jle 0x417af3
movzx r12d, byte [rdi + r8]
mov rax, qword [rsp + 0x70]
movzx ecx, byte [rax + rdi]
cmp cl, r12b
je 0x417ae1
movsx ecx, cl
call fcn.00447c00
mov ebx, eax
movsx ecx, r12b
call fcn.00447c00
cmp ebx, eax
jne 0x417aeb
lea r8, [0x0045fae0]
inc ebp
inc rdi
cmp rdi, r13
jl 0x417ab0
test ebp, ebp
js 0x417b06
mov edx, dword [rsp + 0x78]
cmp ebp, edx
jge 0x417b06
movsxd rcx, ebp
mov rax, qword [rsp + 0x70]
movzx r8d, byte [rcx + rax]
jmp 0x417b09
xor r8b, r8b
test ebp, ebp
js 0x417b21
cmp ebp, esi
jge 0x417b21
movsxd rax, ebp
lea rcx, [0x0045fae0]
movzx edx, byte [rax + rcx]
jmp 0x417b23
xor dl, dl
movsx ecx, r8b
movsx eax, dl
sub ecx, eax
neg ecx
sbb r9d, r9d
add r9d, 2
mov r8, qword [rsp + 0x158]
mov edx, dword [rsp + 0x60]
lea rcx, [0x0047ad10]
call fcn.004464e0
lea rdx, [0x004792c0]
lea rcx, [0x0047ad10]
call fcn.00445ac0
mov ebx, dword [0x004792d0]
mov edx, ebx
lea rcx, [0x004792c0]
mov rax, qword [0x004792c0]
call qword [rax + 8]
mov rdi, qword [0x004792c8]
jmp 0x417b8e
mov ebx, dword [rsp + 0x60]
mov rdi, qword [rsp + 0x158]
lea rsi, [0x0045e628]
mov qword [rsp + 0x68], rsi
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x78], r14d
mov dword [rsp + 0x80], r14d
test rcx, rcx
je 0x417bbb
call fcn.00446bf0
lea rbp, [0x0045e600]
mov qword [rsp + 0x68], rbp
cmp dword [rsp + 0x30], 0
je 0x417c13
call fcn.00443840
test r15d, r15d
je 0x417c13
lea rdx, [rdi + 8]
lea ecx, [rbx - 1]
call fcn.00444490
mov rbx, qword [rsp + 0xc0]
test rbx, rbx
je 0x417c08
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0xd
call fcn.00449c50
int3
call fcn.00426ca0
xor r11d, r11d
mov qword [rsp + 0x110], r11
mov qword [rsp + 0x118], r11
mov qword [rsp + 0x120], r11
mov qword [rsp + 0x128], r11
mov qword [rsp + 0x130], r11
lea eax, [rbx - 1]
mov dword [rsp + 0x108], eax
lea rax, [rdi + 8]
mov qword [rsp + 0x110], rax
lea rax, [0x0040f1f0]
mov qword [rsp + 0x118], rax
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x350]
call fcn.0040f920
nop
cmp dword [rsp + 0x1b0], 0
jne 0x417d68
mov dword [rsp + 0x30], r14d
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x10000
lea r9, [rsp + 0x108]
lea r8, [0x00416a40]
xor edx, edx
xor ecx, ecx
call fcn.004489a0
mov rbx, rax
test rax, rax
jne 0x417cf2
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
lea r9, [rsp + 0x108]
lea r8, [0x00416a40]
xor edx, edx
xor ecx, ecx
call fcn.004489a0
mov rbx, rax
test rax, rax
je 0x417d20
mov edx, 0xffffffff
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [rsp + 0x30]
jmp 0x417dae
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x120]
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov ecx, dword [rsp + 0x108]
call fcn.00414830
mov edi, eax
mov dword [rsp + 0x130], eax
mov rcx, qword [0x0047ace0]
call fcn.0040bc90
jmp 0x417dae
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x120]
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov ecx, dword [rsp + 0x108]
call fcn.00414830
mov edi, eax
mov dword [rsp + 0x130], eax
mov rcx, qword [0x0047ace0]
call fcn.0040bc90
call fcn.00426d90
lea rcx, [0x0045f390]
call fcn.004486b0
test rax, rax
je 0x417e31
lea rcx, [0x0045f418]
call fcn.004486b0
test rax, rax
je 0x417e31
lea rcx, [0x0045f418]
call fcn.004486b0
mov rcx, rax
call fcn.00448c80
cmp eax, 0xffffffff
jne 0x417e16
call fcn.00448aa0
mov rbx, rax
lea rcx, [0x0045f418]
call fcn.004486b0
mov rdx, rax
mov r8d, dword [rbx]
lea rcx, str.Could_not_delete__s__errno___d
call fcn.004487d0
jmp 0x417e31
lea rcx, [0x0045f418]
call fcn.004486b0
mov rdx, rax
lea rcx, str.Deleted__s_n
call fcn.004487d0
lea rcx, [0x0045f418]
call fcn.004486b0
test rax, rax
je 0x417e56
lea rcx, [0x0045f418]
call fcn.004486b0
mov rcx, rax
call fcn.00448c80
mov qword [0x0047acd8], r14
mov qword [0x0047ace0], r14
mov rbx, qword [rsp + 0xc0]
test rbx, rbx
je 0x417e89
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov qword [rsp + 0x1a0], rsi
mov rcx, qword [rsp + 0x1a8]
mov qword [rsp + 0x1a8], r14
mov dword [rsp + 0x1b0], r14d
mov dword [rsp + 0x1b8], r14d
test rcx, rcx
je 0x417ebb
call fcn.00446bf0
mov qword [rsp + 0x1a0], rbp
mov qword [rsp + 0xc8], rsi
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0xd0], r14
mov dword [rsp + 0xd8], r14d
mov dword [rsp + 0xe0], r14d
test rcx, rcx
je 0x417ef5
call fcn.00446bf0
mov qword [rsp + 0xc8], rbp
mov qword [rsp + 0x138], rsi
mov rcx, qword [rsp + 0x140]
mov qword [rsp + 0x140], r14
mov dword [rsp + 0x148], r14d
mov dword [rsp + 0x150], r14d
test rcx, rcx
je 0x417f2f
call fcn.00446bf0
mov qword [rsp + 0x138], rbp
mov qword [rsp + 0xe8], rsi
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf0], r14
mov dword [rsp + 0xf8], r14d
mov dword [rsp + 0x100], r14d
test rcx, rcx
je 0x417f69
call fcn.00446bf0
mov qword [rsp + 0xe8], rbp
mov qword [rsp + 0x160], rsi
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x168], r14
mov dword [rsp + 0x170], r14d
mov dword [rsp + 0x178], r14d
test rcx, rcx
je 0x417fa3
call fcn.00446bf0
mov qword [rsp + 0x160], rbp
mov qword [rsp + 0x180], rsi
mov rcx, qword [rsp + 0x188]
mov qword [rsp + 0x188], r14
mov dword [rsp + 0x190], r14d
mov dword [rsp + 0x198], r14d
test rcx, rcx
je 0x417fdd
call fcn.00446bf0
mov qword [rsp + 0x180], rbp
lea rcx, [rsp + 0x400]
call fcn.00442c80
nop
mov qword [rsp + 0x88], rsi
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x90], r14
mov dword [rsp + 0x98], r14d
mov dword [rsp + 0xa0], r14d
test rcx, rcx
je 0x418025
call fcn.00446bf0
mov qword [rsp + 0x88], rbp
lea rcx, [rsp + 0x240]
call fcn.0040bc90
nop
mov qword [rsp + 0x260], rsi
mov rcx, qword [rsp + 0x268]
mov qword [rsp + 0x268], r14
mov dword [rsp + 0x270], r14d
mov dword [rsp + 0x278], r14d
test rcx, rcx
je 0x41806d
call fcn.00446bf0
mov qword [rsp + 0x260], rbp
lea rax, [0x0045e638]
mov qword [rsp + 0x240], rax
mov rcx, qword [rsp + 0x248]
mov qword [rsp + 0x248], r14
mov dword [rsp + 0x250], r14d
mov dword [rsp + 0x258], r14d
test rcx, rcx
je 0x4180ae
call fcn.00446bf0
lea rax, [0x0045e608]
mov qword [rsp + 0x240], rax
lea rcx, [rsp + 0x350]
call fcn.0041b060
mov eax, edi
mov rcx, qword [rsp + 0x630]
call fcn.0045d640
mov rbx, qword [rsp + 0x690]
mov rbp, qword [rsp + 0x698]
mov rsi, qword [rsp + 0x670]
mov rdi, qword [rsp + 0x668]
mov r12, qword [rsp + 0x660]
mov r13, qword [rsp + 0x658]
mov r14, qword [rsp + 0x650]
mov r15, qword [rsp + 0x648]
add rsp, 0x678
ret