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

Disassembly:
mov rax, rsp
sub rsp, 0x618
mov qword [rsp + 0x2d0], 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 [0x0047e2e8]
mov qword [rsp + 0x5d0], rax
mov qword [rsp + 0x140], rdx
mov dword [rsp + 0x78], ecx
lea rdx, [0x00463eb4]
xor ecx, ecx
call fcn.0044ca40
mov edx, 1
lea rcx, [rsp + 0x2f0]
call fcn.00425ee0
nop
lea rcx, [rsp + 0x210]
call fcn.0040c100
nop
lea rdi, [section..SHMMESS]
mov qword [rsp + 0xe0], rdi
xor r15d, r15d
mov qword [rsp + 0xe8], r15
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x2f0]
call fcn.0040fd60
nop
lea r14, [0x00463758]
lea r13, [0x00463630]
mov esi, dword [rsp + 0xd0]
test esi, esi
je 0x4145f1
mov ecx, r15d
mov rax, r15
test esi, esi
jle 0x4144f2
nop
nop
nop
mov rdx, qword [rsp + 0xc8]
cmp byte [rdx + rax], 0x5c
jne 0x4144e9
mov byte [rdx + rax], 0x2e
mov esi, dword [rsp + 0xd0]
inc ecx
inc rax
cmp ecx, esi
jl 0x4144d0
lea rbp, str..j2e.mapping
mov qword [rsp + 0x290], rbp
mov qword [rsp + 0x288], r14
mov ebx, r15d
nop
inc ebx
movsxd rax, ebx
cmp byte [rax + rbp], 0
jne 0x414510
mov dword [rsp + 0x298], ebx
lea edx, [rbx + rsi]
lea rcx, [rsp + 0xc0]
mov rax, qword [rsp + 0xc0]
call qword [rax + 8]
cmp esi, esi
jge 0x414560
movsxd rax, esi
mov rcx, qword [rsp + 0xc8]
lea rdx, [rax + rcx]
movsxd rdi, ebx
add rdi, rax
add rcx, rdi
mov eax, esi
sub eax, esi
movsxd r8, eax
call fcn.00448f40
movsxd r8, ebx
movsxd rcx, esi
add rcx, qword [rsp + 0xc8]
mov rdx, rbp
call fcn.00448f40
nop
mov qword [rsp + 0x288], r13
mov edx, dword [rsp + 0xd0]
lea rcx, [rsp + 0xc0]
mov rax, qword [rsp + 0xc0]
call qword [rax + 8]
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x28], rdx
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 + 0xe8], 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 rdi, rax
mov qword [rsp + 0xe0], rax
mov rdx, rdi
lea rcx, [rsp + 0x3a0]
call fcn.00445040
nop
lea rax, [rsp + 0x2f0]
mov qword [0x0047fff8], rax
lea rax, [rsp + 0x210]
mov qword [0x00480000], rax
lea rax, [rsp + 0x3a0]
mov qword [0x00480008], rax
xor eax, eax
mov dword [rsp + 0xf8], eax
mov dword [rsp + 0xfc], eax
mov dword [rsp + 0xf8], 8
lea rcx, [rsp + 0xf8]
call qword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
lea rdx, [rsp + 0xa0]
mov rcx, qword [0x0047fff8]
call fcn.00410d70
nop
mov edx, dword [rsp + 0xb0]
test edx, edx
jne 0x41472b
lea rcx, [rsp + 0xa0]
mov rax, qword [rsp + 0xa0]
call qword [rax + 8]
lea rbp, [0x00464a1c]
mov qword [rsp + 0x2c0], rbp
mov qword [rsp + 0x2b8], r14
mov ebx, r15d
nop
nop
inc ebx
movsxd rax, ebx
cmp byte [rax + rbp], 0
jne 0x4146b0
mov dword [rsp + 0x2c8], ebx
movsxd rsi, dword [rsp + 0xb0]
lea edx, [rbx + rsi]
lea rcx, [rsp + 0xa0]
mov rax, qword [rsp + 0xa0]
call qword [rax + 8]
cmp esi, esi
jge 0x414705
mov rcx, qword [rsp + 0xa8]
lea rdx, [rsi + rcx]
movsxd rdi, ebx
add rdi, rsi
add rcx, rdi
mov eax, esi
sub eax, esi
movsxd r8, eax
call fcn.00448f40
movsxd r8, ebx
mov rcx, rsi
add rcx, qword [rsp + 0xa8]
mov rdx, rbp
call fcn.00448f40
nop
mov qword [rsp + 0x2b8], r13
mov edx, dword [rsp + 0xb0]
lea r12, [0x00463658]
test edx, edx
jle 0x4147f2
lea rcx, [rsp + 0xa0]
mov rax, qword [rsp + 0xa0]
call qword [rax + 8]
mov rbx, qword [rsp + 0xa8]
lea rdx, [rsp + 0x1a8]
mov rcx, qword [0x0047fff8]
call fcn.004110a0
mov rdi, rax
mov rax, qword [rax]
mov edx, dword [rdi + 0x10]
mov rcx, rdi
call qword [rax + 8]
mov r9d, 0x104
lea r8, [rsp + 0x4c0]
mov rdx, rbx
mov rcx, qword [rdi + 8]
call fcn.0040e8a0
mov edi, eax
mov qword [rsp + 0x1a8], r12
mov rcx, qword [rsp + 0x1b0]
mov qword [rsp + 0x1b0], r15
mov dword [rsp + 0x1b8], r15d
mov dword [rsp + 0x1c0], r15d
test rcx, rcx
je 0x4147c6
call fcn.00448f10
mov qword [rsp + 0x1a8], r13
lea eax, [rdi - 1]
cmp eax, 0x102
ja 0x4147e6
lea rcx, [rsp + 0x4c0]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov rcx, qword [0x0047fff8]
call fcn.0041d8f0
lea rdx, [rsp + 0x38]
mov rcx, qword [0x0047fff8]
call fcn.00410b50
nop
mov edx, dword [rsp + 0x48]
test edx, edx
jne 0x4148fb
mov edx, 0x104
lea rcx, [rsp + 0x38]
mov rax, qword [rsp + 0x38]
call qword [rax + 8]
mov edx, dword [rsp + 0x48]
lea rcx, [rsp + 0x38]
mov rax, qword [rsp + 0x38]
call qword [rax + 8]
mov r8d, 0x104
mov rdx, qword [rsp + 0x40]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov edx, dword [rsp + 0x48]
lea rcx, [rsp + 0x38]
mov rax, qword [rsp + 0x38]
call qword [rax + 8]
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, qword [rsp + 0x40]
repne scasb al, byte [rdi]
not rcx
dec rcx
mov rsi, rcx
mov dword [rsp + 0x48], ecx
lea rbp, str..stderr.log
mov qword [rsp + 0x278], rbp
mov qword [rsp + 0x270], r14
mov ebx, r15d
nop
inc ebx
movsxd rax, ebx
cmp byte [rax + rbp], 0
jne 0x414890
mov dword [rsp + 0x280], ebx
lea edx, [rbx + rcx]
lea rcx, [rsp + 0x38]
mov rax, qword [rsp + 0x38]
call qword [rax + 8]
cmp esi, esi
jge 0x4148d7
movsxd rcx, esi
mov rax, qword [rsp + 0x40]
lea rdx, [rax + rcx]
movsxd rdi, ebx
add rdi, rax
add rcx, rdi
mov eax, esi
sub eax, esi
movsxd r8, eax
call fcn.00448f40
movsxd r8, ebx
movsxd rcx, esi
add rcx, qword [rsp + 0x40]
mov rdx, rbp
call fcn.00448f40
nop
mov qword [rsp + 0x270], r13
mov edx, dword [rsp + 0x48]
test edx, edx
je 0x414919
lea rcx, [rsp + 0x38]
mov rax, qword [rsp + 0x38]
call qword [rax + 8]
mov rdx, qword [rsp + 0x40]
lea rcx, [0x00480080]
call fcn.00444a80
lea rdx, [rsp + 0x120]
mov rcx, qword [0x0047fff8]
call fcn.00410930
nop
mov edx, dword [rsp + 0x130]
test edx, edx
je 0x414960
lea rcx, [rsp + 0x120]
mov rax, qword [rsp + 0x120]
call qword [rax + 8]
mov rdx, qword [rsp + 0x128]
lea rcx, [0x00480080]
call fcn.004449b0
mov edx, dword [rsp + 0x48]
lea rcx, [rsp + 0x38]
mov rax, qword [rsp + 0x38]
call qword [rax + 8]
mov r11, qword [rsp + 0x40]
mov qword [rsp + 0x2a8], r11
mov ecx, r15d
mov dword [rsp + 0x2b0], r15d
test r11, r11
je 0x4149a6
cmp byte [r11], cl
je 0x4149a6
inc ecx
movsxd rax, ecx
cmp byte [rax + r11], 0
jne 0x414993
mov dword [rsp + 0x2b0], ecx
mov eax, ecx
mov ebx, dword [rsp + 0x130]
cmp ebx, ecx
cmovl eax, ebx
mov edi, r15d
mov r8, r15
movsxd r10, eax
mov rsi, qword [rsp + 0x128]
test eax, eax
jle 0x4149ec
mov rdx, rsi
mov r9, r11
sub r9, rsi
movzx eax, byte [r9 + rdx]
cmp byte [rdx], al
jne 0x4149e8
inc edi
inc r8
inc rdx
cmp r8, r10
jl 0x4149d2
test edi, edi
js 0x4149fa
cmp edi, ebx
jge 0x4149fa
movsxd rax, edi
movzx r8d, byte [rax + rsi]
jmp 0x4149fd
xor r8b, r8b
test edi, edi
js 0x414a0f
cmp edi, ecx
jge 0x414a0f
movsxd rax, edi
movzx edx, byte [rax + r11]
jmp 0x414a11
xor dl, dl
movsx ecx, r8b
movsx eax, dl
sub ecx, eax
mov qword [rsp + 0x2a0], r13
mov eax, r15d
sete al
mov dword [0x0047fff0], eax
mov dword [rsp + 0x7c], r15d
lea rdx, [rsp + 0x1c8]
lea rcx, [rsp + 0x2f0]
call fcn.004070c0
mov rdi, rax
mov rax, qword [rax]
mov edx, dword [rdi + 0x10]
mov rcx, rdi
call qword [rax + 8]
lea r8, [rsp + 0x7c]
lea rdx, [0x00464a0c]
mov rcx, qword [rdi + 8]
call fcn.00449d80
nop
mov qword [rsp + 0x1c8], r12
mov rcx, qword [rsp + 0x1d0]
mov qword [rsp + 0x1d0], r15
mov dword [rsp + 0x1d8], r15d
mov dword [rsp + 0x1e0], r15d
test rcx, rcx
je 0x414a9f
call fcn.00448f10
mov qword [rsp + 0x1c8], r13
lea rcx, [rsp + 0x458]
lea r14, [0x00400000]
mov rax, qword [r14 + 0x649f0]
mov qword [rcx], rax
mov rax, qword [r14 + 0x649f8]
mov qword [rcx + 8], rax
mov rax, qword [r14 + 0x64a00]
mov qword [rcx + 0x10], rax
movzx eax, byte [r14 + 0x64a08]
mov byte [rcx + 0x18], al
lea rcx, [rsp + 0x458]
lea r12, [0x004800d0]
mov rdx, r12
mov ebx, 0x19
mov rdi, rbx
nop
nop
movzx eax, byte [rcx]
mov byte [rdx], al
inc rdx
inc rcx
dec rdi
jne 0x414b00
lea rcx, [0x004643c0]
call fcn.0044a9d0
test rax, rax
je 0x414b5c
mov rdi, r12
movzx eax, byte [rdi]
test al, al
js 0x414b36
movzx eax, byte [rdi]
cmp al, 0x20
jge 0x414b36
mov al, 0x2e
jmp 0x414b39
movzx eax, byte [rdi]
movsx edx, al
lea rcx, [0x004643bc]
call fcn.0044aaf0
inc rdi
dec rbx
jne 0x414b24
lea rcx, [0x004643b8]
call fcn.0044aaf0
cmp byte [0x004800d0], 0
je 0x414c09
mov edx, dword [rsp + 0x39c]
mov ecx, dword [rsp + 0x7c]
call fcn.004283e0
test eax, eax
jne 0x414c09
lea edx, [rax + 9]
lea rcx, [rsp + 0x148]
call fcn.00413750
nop
mov edx, dword [rsp + 0x158]
lea rcx, [rsp + 0x148]
mov rax, qword [rsp + 0x148]
call qword [rax + 8]
mov r8, qword [rsp + 0x150]
lea rdx, [0x004641b8]
lea rcx, [0x0047e5f0]
call fcn.0044a640
cmp dword [0x0047fff0], 0
jne 0x414bfe
mov edx, dword [rsp + 0x158]
lea rcx, [rsp + 0x148]
mov rax, qword [rsp + 0x148]
call qword [rax + 8]
mov rdx, qword [rsp + 0x150]
lea rcx, [0x004641b8]
call fcn.0044aaf0
mov ecx, 9
call fcn.0044bc60
nop
lea rcx, [rsp + 0x440]
mov rax, qword [r14 + 0x649d8]
mov qword [rcx], rax
mov rax, qword [r14 + 0x649e0]
mov qword [rcx + 8], rax
mov eax, dword [r14 + 0x649e8]
mov dword [rcx + 0x10], eax
movzx eax, word [r14 + 0x649ec]
mov word [rcx + 0x14], ax
lea rcx, [rsp + 0x498]
mov rax, qword [r14 + 0x649b8]
mov qword [rcx], rax
mov rax, qword [r14 + 0x649c0]
mov qword [rcx + 8], rax
mov rax, qword [r14 + 0x649c8]
mov qword [rcx + 0x10], rax
movzx eax, word [r14 + 0x649d0]
mov word [rcx + 0x18], ax
movzx eax, byte [r14 + 0x649d2]
mov byte [rcx + 0x1a], al
lea rcx, [rsp + 0x478]
mov rax, qword [r14 + 0x64998]
mov qword [rcx], rax
mov rax, qword [r14 + 0x649a0]
mov qword [rcx + 8], rax
mov rax, qword [r14 + 0x649a8]
mov qword [rcx + 0x10], rax
movzx eax, word [r14 + 0x649b0]
mov word [rcx + 0x18], ax
lea rcx, [rsp + 0x498]
mov rdx, r12
mov ebx, 0x1b
mov rdi, rbx
movzx eax, byte [rcx]
mov byte [rdx], al
inc rdx
inc rcx
dec rdi
jne 0x414cc2
lea rcx, [0x004643c0]
call fcn.0044a9d0
test rax, rax
je 0x414d1e
mov rdi, r12
movzx eax, byte [rdi]
test al, al
js 0x414cf8
movzx eax, byte [rdi]
cmp al, 0x20
jge 0x414cf8
mov al, 0x2e
jmp 0x414cfb
movzx eax, byte [rdi]
movsx edx, al
lea rcx, [0x004643bc]
call fcn.0044aaf0
inc rdi
dec rbx
jne 0x414ce6
lea rcx, [0x004643b8]
call fcn.0044aaf0
mov rbp, qword [0x004800d0]
lea rcx, [rsp + 0x478]
mov rdx, r12
mov ebx, 0x1a
mov rdi, rbx
nop
nop
movzx eax, byte [rcx]
mov byte [rdx], al
inc rdx
inc rcx
dec rdi
jne 0x414d40
lea rcx, [0x004643c0]
call fcn.0044a9d0
test rax, rax
je 0x414d9c
mov rdi, r12
movzx eax, byte [rdi]
test al, al
js 0x414d76
movzx eax, byte [rdi]
cmp al, 0x20
jge 0x414d76
mov al, 0x2e
jmp 0x414d79
movzx eax, byte [rdi]
movsx edx, al
lea rcx, [0x004643bc]
call fcn.0044aaf0
inc rdi
dec rbx
jne 0x414d64
lea rcx, [0x004643b8]
call fcn.0044aaf0
mov esi, dword [0x004800d0]
lea rcx, [rsp + 0x440]
mov rdx, r12
mov ebx, 0x16
mov rdi, rbx
nop
nop
nop
movzx eax, byte [rcx]
mov byte [rdx], al
inc rdx
inc rcx
dec rdi
jne 0x414dc0
lea rcx, [0x004643c0]
call fcn.0044a9d0
test rax, rax
je 0x414e1c
mov rdi, r12
movzx eax, byte [rdi]
test al, al
js 0x414df6
movzx eax, byte [rdi]
cmp al, 0x20
jge 0x414df6
mov al, 0x2e
jmp 0x414df9
movzx eax, byte [rdi]
movsx edx, al
lea rcx, [0x004643bc]
call fcn.0044aaf0
inc rdi
dec rbx
jne 0x414de4
lea rcx, [0x004643b8]
call fcn.0044aaf0
cmp byte [0x004800d0], 0
je 0x414ec7
mov r8d, esi
mov rdx, rbp
mov rcx, r12
call fcn.004135e0
test eax, eax
jne 0x414ec7
lea edx, [rax + 0xb]
lea rcx, [rsp + 0x188]
call fcn.00413750
nop
mov edx, dword [rsp + 0x198]
lea rcx, [rsp + 0x188]
mov rax, qword [rsp + 0x188]
call qword [rax + 8]
mov r8, qword [rsp + 0x190]
lea rdx, [0x004641b8]
lea rcx, [0x0047e5f0]
call fcn.0044a640
cmp dword [0x0047fff0], 0
jne 0x414ebc
mov edx, dword [rsp + 0x198]
lea rcx, [rsp + 0x188]
mov rax, qword [rsp + 0x188]
call qword [rax + 8]
mov rdx, qword [rsp + 0x190]
lea rcx, [0x004641b8]
call fcn.0044aaf0
mov ecx, 0xb
call fcn.0044bc60
nop
lea rdx, [rsp + 0x100]
mov rcx, qword [0x0047fff8]
call fcn.004100c0
nop
mov esi, r15d
nop
inc esi
movsxd rax, esi
cmp byte [rax + r14 + 0x63e2c], 0
jne 0x414ee0
mov eax, esi
mov edx, dword [rsp + 0x110]
cmp edx, esi
cmovl eax, edx
mov ebp, r15d
mov rbx, r15
movsxd r13, eax
test eax, eax
jle 0x414f56
nop
nop
movzx r12d, byte [rbx + r14 + 0x63e2c]
mov rax, qword [rsp + 0x108]
movzx ecx, byte [rax + rbx]
cmp cl, r12b
je 0x414f41
movsx ecx, cl
call fcn.00449f20
mov edi, eax
movsx ecx, r12b
call fcn.00449f20
cmp edi, eax
jne 0x414f4b
inc ebp
inc rbx
cmp rbx, r13
jl 0x414f10
test ebp, ebp
js 0x414f6b
mov edx, dword [rsp + 0x110]
cmp ebp, edx
jge 0x414f72
movsxd rcx, ebp
mov rax, qword [rsp + 0x108]
movzx ecx, byte [rcx + rax]
jmp 0x414f74
mov edx, dword [rsp + 0x110]
xor cl, cl
test ebp, ebp
js 0x414f8a
cmp ebp, esi
jge 0x414f8a
movsxd rax, ebp
movzx eax, byte [rax + r14 + 0x63e2c]
jmp 0x414f8c
xor al, al
movsx ecx, cl
movsx eax, al
sub ecx, eax
mov r14d, r15d
sete r14b
mov ebp, r15d
lea rcx, [0x00400000]
nop
nop
nop
inc ebp
movsxd rax, ebp
cmp byte [rax + rcx + 0x64988], 0
jne 0x414fb0
mov eax, ebp
cmp edx, ebp
cmovl eax, edx
mov esi, r15d
mov rbx, r15
movsxd r13, eax
test eax, eax
jle 0x415020
movzx r12d, byte [rbx + rcx + 0x64988]
mov rax, qword [rsp + 0x108]
movzx ecx, byte [rax + rbx]
cmp cl, r12b
je 0x415004
movsx ecx, cl
call fcn.00449f20
mov edi, eax
movsx ecx, r12b
call fcn.00449f20
cmp edi, eax
jne 0x415015
inc esi
inc rbx
cmp rbx, r13
lea rcx, [0x00400000]
jl 0x414fd3
test esi, esi
js 0x415035
mov edx, dword [rsp + 0x110]
cmp esi, edx
jge 0x415035
movsxd rcx, esi
mov rax, qword [rsp + 0x108]
movzx ecx, byte [rcx + rax]
jmp 0x415037
xor cl, cl
test esi, esi
js 0x415054
cmp esi, ebp
jge 0x415054
movsxd rax, esi
lea r12, [0x00400000]
movzx edx, byte [rax + r12 + 0x64988]
jmp 0x41505d
xor dl, dl
lea r12, [0x00400000]
movsx ecx, cl
movsx eax, dl
sub ecx, eax
mov eax, r15d
sete al
mov dword [rsp + 0x30], eax
test r14d, r14d
jne 0x41509e
test eax, eax
jne 0x41509e
lea rdx, str.custom
lea rcx, [rsp + 0x100]
call fcn.00403ca0
test eax, eax
jne 0x415371
call fcn.00445b60
jmp 0x415374
lea rdx, [rsp + 0x58]
mov rcx, qword [0x0047fff8]
call fcn.0040fd60
nop
mov ebx, dword [rsp + 0x68]
test ebx, ebx
jne 0x415178
lea rdx, [rsp + 0x1e8]
mov rcx, qword [0x0047fff8]
call fcn.00410f90
mov rdi, rax
xor edx, edx
lea rcx, [rsp + 0x58]
mov rax, qword [rsp + 0x58]
call qword [rax + 8]
movsxd rsi, dword [rdi + 0x10]
mov rbp, qword [rdi + 8]
movsxd rbx, dword [rsp + 0x68]
lea edx, [rbx + rsi]
lea rcx, [rsp + 0x58]
mov rax, qword [rsp + 0x58]
call qword [rax + 8]
cmp ebx, ebx
jge 0x41511f
mov rax, qword [rsp + 0x60]
lea rdx, [rax + rbx]
lea rcx, [rax + rsi]
add rcx, rbx
mov eax, ebx
sub eax, ebx
movsxd r8, eax
call fcn.00448f40
mov r8, rsi
mov rcx, rbx
add rcx, qword [rsp + 0x60]
mov rdx, rbp
call fcn.00448f40
nop
lea r13, [0x00463658]
mov qword [rsp + 0x1e8], r13
mov rcx, qword [rsp + 0x1f0]
xor edi, edi
mov qword [rsp + 0x1f0], rdi
mov dword [rsp + 0x1f8], edi
mov dword [rsp + 0x200], edi
test rcx, rcx
je 0x415172
call fcn.00448f10
mov ebx, dword [rsp + 0x68]
jmp 0x415181
mov ebx, dword [rsp + 0x68]
jmp 0x415181
xor edi, edi
lea r13, [0x00463658]
mov ecx, edi
mov rax, rdi
test ebx, ebx
jle 0x4151ac
nop
nop
mov rdx, qword [rsp + 0x60]
cmp byte [rdx + rax], 0x3a
jne 0x4151a3
mov byte [rdx + rax], 0x2e
mov ebx, dword [rsp + 0x68]
inc ecx
inc rax
cmp ecx, ebx
jl 0x415190
mov ecx, edi
mov rax, rdi
test ebx, ebx
jle 0x4151d1
mov rdx, qword [rsp + 0x60]
cmp byte [rdx + rax], 0x5c
jne 0x4151c8
mov byte [rdx + rax], 0x2e
mov ebx, dword [rsp + 0x68]
inc ecx
inc rax
cmp ecx, ebx
jl 0x4151b5
lea rbp, str..j2e.mutex
mov qword [rsp + 0x2e0], rbp
lea rax, [0x00463758]
mov qword [rsp + 0x2d8], rax
mov esi, edi
inc esi
movsxd rax, esi
cmp byte [rax + rbp], 0
jne 0x4151f1
mov dword [rsp + 0x2e8], esi
lea edx, [rsi + rbx]
lea rcx, [rsp + 0x58]
mov rax, qword [rsp + 0x58]
call qword [rax + 8]
cmp ebx, ebx
jge 0x415238
movsxd rcx, ebx
mov rax, qword [rsp + 0x60]
lea rdx, [rax + rcx]
movsxd rdi, esi
add rdi, rax
add rcx, rdi
mov eax, ebx
sub eax, ebx
movsxd r8, eax
call fcn.00448f40
movsxd r8, esi
movsxd rcx, ebx
add rcx, qword [rsp + 0x60]
mov rdx, rbp
call fcn.00448f40
nop
mov edx, dword [rsp + 0x68]
lea rcx, [rsp + 0x58]
mov rax, qword [rsp + 0x58]
call qword [rax + 8]
mov r8, qword [rsp + 0x60]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov rdi, rax
test rax, rax
jne 0x41528e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.CreateMutex_error:__d_n
call fcn.0044aaf0
lea r15d, [rdi + 1]
jmp 0x4152b6
mov edx, 0x64
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x415349
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov r15d, 1
test r14d, r14d
je 0x415349
mov edx, 0xd
lea rcx, [rsp + 0x168]
call fcn.00413750
nop
mov edx, dword [rsp + 0x178]
lea rcx, [rsp + 0x168]
mov rax, qword [rsp + 0x168]
call qword [rax + 8]
mov r8, qword [rsp + 0x170]
lea rdx, [0x004641b8]
lea rcx, [0x0047e5f0]
call fcn.0044a640
cmp dword [0x0047fff0], 0
jne 0x41533e
mov edx, dword [rsp + 0x178]
lea rcx, [rsp + 0x168]
mov rax, qword [rsp + 0x168]
call qword [rax + 8]
mov rdx, qword [rsp + 0x170]
lea rcx, [0x004641b8]
call fcn.0044aaf0
mov ecx, 0xd
call fcn.0044bc60
nop
mov qword [rsp + 0x58], r13
mov rcx, qword [rsp + 0x60]
xor r14d, r14d
mov qword [rsp + 0x60], r14
mov dword [rsp + 0x68], r14d
mov dword [rsp + 0x70], r14d
test rcx, rcx
je 0x415374
call fcn.00448f10
jmp 0x415374
xor r14d, r14d
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x2f0]
call fcn.0040ff10
nop
mov esi, r14d
nop
inc esi
movsxd rax, esi
cmp byte [rax + r12 + 0x63e2c], 0
jne 0x415390
mov eax, esi
mov edx, dword [rsp + 0x90]
cmp edx, esi
cmovl eax, edx
mov ebp, r14d
mov rbx, r14
movsxd r13, eax
test eax, eax
jle 0x41540d
nop
nop
movzx r12d, byte [rbx + r12 + 0x63e2c]
mov rax, qword [rsp + 0x88]
movzx ecx, byte [rax + rbx]
cmp cl, r12b
je 0x4153f1
movsx ecx, cl
call fcn.00449f20
mov edi, eax
movsx ecx, r12b
call fcn.00449f20
cmp edi, eax
jne 0x415402
inc ebp
inc rbx
cmp rbx, r13
lea r12, [0x00400000]
jl 0x4153c0
test ebp, ebp
js 0x415422
mov edx, dword [rsp + 0x90]
cmp ebp, edx
jge 0x415429
movsxd rcx, ebp
mov rax, qword [rsp + 0x88]
movzx ecx, byte [rcx + rax]
jmp 0x41542b
mov edx, dword [rsp + 0x90]
xor cl, cl
test ebp, ebp
js 0x415447
cmp ebp, esi
jge 0x415447
movsxd rax, ebp
lea rdi, [0x00400000]
movzx eax, byte [rax + rdi + 0x63e2c]
jmp 0x415450
xor al, al
lea rdi, [0x00400000]
movsx ecx, cl
movsx eax, al
lea r8, [0x00464950]
sub ecx, eax
je 0x415559
mov ebp, r14d
nop
nop
inc ebp
movsxd rax, ebp
cmp byte [rax + rdi + 0x64948], 0
jne 0x415470
mov eax, ebp
cmp edx, ebp
cmovl eax, edx
mov esi, r14d
mov rbx, r14
movsxd r13, eax
test eax, eax
jle 0x4154e0
movzx r12d, byte [rbx + rdi + 0x64948]
mov rax, qword [rsp + 0x88]
movzx ecx, byte [rax + rbx]
cmp cl, r12b
je 0x4154cb
movsx ecx, cl
call fcn.00449f20
mov edi, eax
movsx ecx, r12b
call fcn.00449f20
cmp edi, eax
jne 0x4154d5
lea rdi, [0x00400000]
inc esi
inc rbx
cmp rbx, r13
jl 0x415493
test esi, esi
js 0x4154f5
mov edx, dword [rsp + 0x90]
cmp esi, edx
jge 0x4154fc
movsxd rcx, esi
mov rax, qword [rsp + 0x88]
movzx ecx, byte [rcx + rax]
jmp 0x4154fe
mov edx, dword [rsp + 0x90]
xor cl, cl
test esi, esi
js 0x41551a
cmp esi, ebp
jge 0x41551a
movsxd rax, esi
lea rdi, [0x00400000]
movzx eax, byte [rax + rdi + 0x64948]
jmp 0x41551c
xor al, al
movsx ecx, cl
movsx eax, al
sub ecx, eax
je 0x415552
lea rdx, [0x00464950]
lea rcx, [rsp + 0x80]
call fcn.00403ca0
test eax, eax
jne 0x415658
mov edx, dword [rsp + 0x90]
lea r8, [0x00464950]
jmp 0x415559
lea r8, [0x00464950]
mov esi, r14d
nop
inc esi
movsxd rax, esi
cmp byte [rax + r8], 0
jne 0x415560
mov eax, esi
cmp edx, esi
cmovl eax, edx
mov ebp, r14d
mov rbx, r14
movsxd r13, eax
test eax, eax
jle 0x4155c9
movzx r12d, byte [rbx + r8]
mov rax, qword [rsp + 0x88]
movzx ecx, byte [rax + rbx]
cmp cl, r12b
je 0x4155b4
movsx ecx, cl
call fcn.00449f20
mov edi, eax
movsx ecx, r12b
call fcn.00449f20
cmp edi, eax
jne 0x4155be
lea r8, [0x00464950]
inc ebp
inc rbx
cmp rbx, r13
jl 0x415580
test ebp, ebp
js 0x4155de
mov edx, dword [rsp + 0x90]
cmp ebp, edx
jge 0x4155de
movsxd rcx, ebp
mov rax, qword [rsp + 0x88]
movzx ecx, byte [rcx + rax]
jmp 0x4155e0
xor cl, cl
test ebp, ebp
js 0x4155f8
cmp ebp, esi
jge 0x4155f8
movsxd rax, ebp
lea rdx, [0x00464950]
movzx edx, byte [rax + rdx]
jmp 0x4155fa
xor dl, dl
movsx ecx, cl
movsx eax, dl
sub ecx, eax
neg ecx
sbb r9d, r9d
add r9d, 2
mov r8, qword [rsp + 0x140]
mov edx, dword [rsp + 0x78]
lea rcx, [0x00480030]
call fcn.00448800
lea rdx, [0x0047e2c0]
lea rcx, [0x00480030]
call fcn.00447de0
mov edi, dword [0x0047e2d0]
mov edx, edi
lea rcx, [0x0047e2c0]
mov rax, qword [0x0047e2c0]
call qword [rax + 8]
mov rbx, qword [0x0047e2c8]
jmp 0x415664
mov edi, dword [rsp + 0x78]
mov rbx, qword [rsp + 0x140]
lea rsi, [0x00463658]
mov qword [rsp + 0x80], rsi
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x88], r14
mov dword [rsp + 0x90], r14d
mov dword [rsp + 0x98], r14d
test rcx, rcx
je 0x41569d
call fcn.00448f10
lea rbp, [0x00463630]
mov qword [rsp + 0x80], rbp
cmp dword [rsp + 0x30], 0
je 0x4156f8
call fcn.00445b60
test r15d, r15d
je 0x4156f8
lea rdx, [rbx + 8]
lea ecx, [rdi - 1]
call fcn.004467b0
mov rdi, qword [rsp + 0xe8]
test rdi, rdi
je 0x4156ed
mov rcx, qword [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0xd
call fcn.0044bc60
int3
call fcn.004419c0
lea rdx, [rbx + 8]
lea ecx, [rdi - 1]
call fcn.0041b070
mov ebx, eax
lea rcx, [rsp + 0x210]
call fcn.0040bc80
call fcn.00441ab0
lea rcx, [0x004643c0]
call fcn.0044a9d0
test rax, rax
je 0x41579b
lea rcx, [0x00464448]
call fcn.0044a9d0
test rax, rax
je 0x41579b
lea rcx, [0x00464448]
call fcn.0044a9d0
mov rcx, rax
call fcn.0044afa0
cmp eax, 0xffffffff
jne 0x415780
call fcn.0044adc0
mov rdi, rax
lea rcx, [0x00464448]
call fcn.0044a9d0
mov rdx, rax
mov r8d, dword [rdi]
lea rcx, str.Could_not_delete__s__errno___d
call fcn.0044aaf0
jmp 0x41579b
lea rcx, [0x00464448]
call fcn.0044a9d0
mov rdx, rax
lea rcx, str.Deleted__s_n
call fcn.0044aaf0
lea rcx, [0x00464448]
call fcn.0044a9d0
test rax, rax
je 0x4157c0
lea rcx, [0x00464448]
call fcn.0044a9d0
mov rcx, rax
call fcn.0044afa0
mov qword [0x0047fff8], r14
mov qword [0x00480000], r14
mov rdi, qword [rsp + 0xe8]
test rdi, rdi
je 0x4157f3
mov rcx, qword [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov qword [rsp + 0x100], rsi
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0x108], r14
mov dword [rsp + 0x110], r14d
mov dword [rsp + 0x118], r14d
test rcx, rcx
je 0x415825
call fcn.00448f10
mov qword [rsp + 0x100], rbp
mov qword [rsp + 0x120], rsi
mov rcx, qword [rsp + 0x128]
mov qword [rsp + 0x128], r14
mov dword [rsp + 0x130], r14d
mov dword [rsp + 0x138], r14d
test rcx, rcx
je 0x41585f
call fcn.00448f10
mov qword [rsp + 0x120], rbp
mov qword [rsp + 0x38], rsi
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x50], r14d
test rcx, rcx
je 0x41588a
call fcn.00448f10
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0xa0], rsi
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0xa8], r14
mov dword [rsp + 0xb0], r14d
mov dword [rsp + 0xb8], r14d
test rcx, rcx
je 0x4158c1
call fcn.00448f10
mov qword [rsp + 0xa0], rbp
lea rcx, [rsp + 0x3a0]
call fcn.00444fa0
nop
mov qword [rsp + 0xc0], rsi
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], r14
mov dword [rsp + 0xd0], r14d
mov dword [rsp + 0xd8], r14d
test rcx, rcx
je 0x415909
call fcn.00448f10
mov qword [rsp + 0xc0], rbp
lea rcx, [rsp + 0x210]
call fcn.0040bc80
nop
mov qword [rsp + 0x230], rsi
mov rcx, qword [rsp + 0x238]
mov qword [rsp + 0x238], r14
mov dword [rsp + 0x240], r14d
mov dword [rsp + 0x248], r14d
test rcx, rcx
je 0x415951
call fcn.00448f10
mov qword [rsp + 0x230], rbp
lea rax, [0x00463668]
mov qword [rsp + 0x210], rax
mov rcx, qword [rsp + 0x218]
mov qword [rsp + 0x218], r14
mov dword [rsp + 0x220], r14d
mov dword [rsp + 0x228], r14d
test rcx, rcx
je 0x415992
call fcn.00448f10
lea rax, [0x00463638]
mov qword [rsp + 0x210], rax
lea rcx, [rsp + 0x2f0]
call fcn.0041d520
mov eax, ebx
mov rcx, qword [rsp + 0x5d0]
call fcn.00462020
mov rbx, qword [rsp + 0x630]
mov rbp, qword [rsp + 0x638]
mov rsi, qword [rsp + 0x610]
mov rdi, qword [rsp + 0x608]
mov r12, qword [rsp + 0x600]
mov r13, qword [rsp + 0x5f8]
mov r14, qword [rsp + 0x5f0]
mov r15, qword [rsp + 0x5e8]
add rsp, 0x618
ret