Function at 0x18001bbd0
Capabilities:
Check if file exists

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2d0
mov qword [rsp + 0x98], 0xfffffffffffffffe
mov qword [rsp + 0x310], rbx
mov rax, qword [0x180097090]
xor rax, rsp
mov qword [rsp + 0x2c0], rax
mov dword [rsp + 0x30], r9d
mov rbp, r8
mov rdi, rdx
mov r13, rcx
mov rax, qword [rsp + 0x338]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x340]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x348]
mov qword [rsp + 0x70], rcx
mov rsi, qword [r13 + 0x18]
mov r12, rsi
cmp rsi, rsi
cmovb rsi, rsi
mov r15, qword [r13 + 0x20]
cmp r15, 0x10
jb 0x18001bc5f
lea rbx, [r13 + 8]
mov rcx, qword [rbx]
jmp 0x18001bc66
lea rbx, [r13 + 8]
mov rcx, rbx
mov r14d, 4
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
lea rdx, str.text
call fcn.18005cf50
movsxd rcx, eax
xor eax, eax
test rcx, rcx
jne 0x18001bc9d
cmp rsi, r14
jb 0x18001bf4b
cmp rsi, r14
setne al
mov ecx, eax
test ecx, ecx
jne 0x18001bf4b
mov qword [rsp + 0xd0], 7
xor esi, esi
mov qword [rsp + 0xc8], rsi
mov word [rsp + 0xb8], si
mov qword [rsp + 0x108], 7
mov qword [rsp + 0x100], rsi
mov word [rsp + 0xf0], si
mov qword [rsp + 0xa0], rsi
mov dword [rsp + 0xa8], esi
mov dword [rsp + 0xac], esi
mov byte [rsp + 0xd8], 0x32
mov byte [rsp + 0xe4], sil
mov byte [rsp + 0xd9], 1
mov eax, 0x1e
mov word [rsp + 0xda], ax
mov dword [rsp + 0xdc], 0xff
mov dword [rsp + 0xe0], 0xff0000
lea r8d, [rcx + 0xb]
lea rdx, str.Courier_New
lea rcx, [rsp + 0xe8]
call fcn.18000d5e0
mov byte [rsp + 0x110], 0xb
mov byte [rsp + 0x111], sil
mov byte [rsp + 0x112], sil
lea rdx, [rsp + 0xa0]
mov rcx, rdi
call fcn.18001fe20
test al, al
jne 0x18001be0a
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.180001470
nop
cmp qword [rax + 0x20], 8
jb 0x18001bd93
mov rdx, qword [rax + 8]
jmp 0x18001bd97
lea rdx, [rax + 8]
lea rcx, [0x18007b788]
call fcn.18004361c
nop
cmp qword [rsp + 0x68], 8
jb 0x18001bdb7
mov rcx, qword [rsp + 0x50]
call fcn.1800538dc
nop
cmp qword [rsp + 0x108], 8
jb 0x18001bdcf
mov rcx, qword [rsp + 0xf0]
call fcn.1800538dc
mov qword [rsp + 0x108], 7
mov qword [rsp + 0x100], rsi
mov word [rsp + 0xf0], si
cmp qword [rsp + 0xd0], 8
jb 0x18001be03
mov rcx, qword [rsp + 0xb8]
call fcn.1800538dc
xor eax, eax
jmp 0x18001c4cb
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x70]
mov qword [rbx], rax
mov eax, dword [rsp + 0xa8]
mov dword [rbx + 8], eax
mov eax, dword [rsp + 0xac]
mov dword [rbx + 0xc], eax
lea rcx, [rbx + 0x10]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xb0]
call fcn.18000bc30
movzx r11d, byte [rsp + 0xd8]
mov byte [rbx + 0x38], r11b
movzx eax, byte [rsp + 0xd9]
mov byte [rbx + 0x39], al
movzx eax, word [rsp + 0xda]
mov word [rbx + 0x3a], ax
mov eax, dword [rsp + 0xdc]
mov dword [rbx + 0x3c], eax
mov eax, dword [rsp + 0xe0]
mov dword [rbx + 0x40], eax
movzx eax, byte [rsp + 0xe4]
mov byte [rbx + 0x44], al
lea rcx, [rbx + 0x48]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xe8]
call fcn.18000bc30
movzx r11d, byte [rsp + 0x110]
mov byte [rbx + 0x70], r11b
movzx eax, byte [rsp + 0x111]
mov byte [rbx + 0x71], al
movzx eax, byte [rsp + 0x112]
mov byte [rbx + 0x72], al
cmp dword [rsp + 0xa8], 0
setne al
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
mov r9, qword [rsp + 0x38]
mov r8d, dword [rsp + 0x330]
mov edx, dword [rsp + 0x30]
lea rcx, [rsp + 0xa0]
call fcn.1800265a0
mov rbx, rax
cmp qword [rsp + 0x108], 8
jb 0x18001bf0f
mov rcx, qword [rsp + 0xf0]
call fcn.1800538dc
mov qword [rsp + 0x108], 7
mov qword [rsp + 0x100], rsi
mov word [rsp + 0xf0], si
cmp qword [rsp + 0xd0], 8
jb 0x18001bf43
mov rcx, qword [rsp + 0xb8]
call fcn.1800538dc
mov rax, rbx
jmp 0x18001c4cb
mov rsi, r12
cmp r12, r12
cmovb rsi, r12
cmp r15, 0x10
jb 0x18001bf60
mov rcx, qword [rbx]
jmp 0x18001bf63
mov rcx, rbx
cmp rsi, r14
cmovb r14, rsi
mov r8, r14
lea rdx, str.dots
call fcn.18005cf50
movsxd rcx, eax
test eax, eax
jne 0x18001bf93
cmp rsi, 4
jb 0x18001c045
cmp rsi, 4
setne al
mov ecx, eax
test ecx, ecx
jne 0x18001c045
mov dword [rsp + 0x84], 0xff000000
lea rdx, [rsp + 0x78]
mov rcx, rdi
call fcn.18001dd60
test al, al
jne 0x18001bffc
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.180001470
nop
cmp qword [rax + 0x20], 8
jb 0x18001bfd2
mov rdx, qword [rax + 8]
jmp 0x18001bfd6
lea rdx, [rax + 8]
lea rcx, [0x18007b7b0]
call fcn.18004361c
nop
cmp qword [rsp + 0x68], 8
jb 0x18001bff5
mov rcx, qword [rsp + 0x50]
call fcn.1800538dc
xor eax, eax
jmp 0x18001c4cb
cmp dword [rsp + 0x8c], 0
setne al
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
cmp qword [rbp + 0x20], 0x10
jb 0x18001c01b
mov rdx, qword [rbp + 8]
jmp 0x18001c01f
lea rdx, [rbp + 8]
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x20], r9
mov r9d, dword [rsp + 0x330]
mov r8d, dword [rsp + 0x30]
lea rcx, [rsp + 0x78]
call fcn.180023850
jmp 0x18001c4cb
mov rsi, r12
cmp r12, r12
cmovb rsi, r12
cmp r15, 0x10
jb 0x18001c05a
mov rcx, qword [rbx]
jmp 0x18001c05d
mov rcx, rbx
mov r8d, 6
cmp rsi, r8
cmovb r8, rsi
lea rdx, str.qrCode
call fcn.18005cf50
movsxd rcx, eax
test eax, eax
jne 0x18001c090
cmp rsi, 6
jb 0x18001c217
cmp rsi, 6
setne al
mov ecx, eax
test ecx, ecx
jne 0x18001c217
lea rdx, [rsp + 0x78]
mov rcx, rdi
call fcn.18001f1d0
test al, al
jne 0x18001c0ee
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.180001470
nop
cmp qword [rax + 0x20], 8
jb 0x18001c0c4
mov rdx, qword [rax + 8]
jmp 0x18001c0c8
lea rdx, [rax + 8]
lea rcx, [0x18007b7d8]
call fcn.18004361c
nop
cmp qword [rsp + 0x68], 8
jb 0x18001c0e7
mov rcx, qword [rsp + 0x50]
call fcn.1800538dc
xor eax, eax
jmp 0x18001c4cb
cmp dword [rsp + 0x84], 0
setne al
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
lea rcx, [rsp + 0x150]
call fcn.18001baa0
nop
lea rcx, [rsp + 0x150]
call fcn.18004553c
cmp qword [rbp + 0x20], 0x10
jb 0x18001c128
mov rbp, qword [rbp + 8]
jmp 0x18001c12c
add rbp, 8
mov qword [rsp + 0x20], rbp
lea r9, [0x18007b7fc]
mov r8d, dword [rsp + 0x178]
lea rdx, str._05x__s__s_
lea rcx, [rsp + 0x48]
call fcn.18002964c
nop
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.18004505c
nop
cmp qword [rsp + 0x68], 0x10
jb 0x18001c175
mov rcx, qword [rsp + 0x50]
call fcn.1800538dc
mov qword [rsp + 0x68], socket
mov qword [rsp + 0x60], 0
mov byte [rsp + 0x50], 0
lea rdx, [rsp + 0x128]
cmp qword [rsp + 0x140], 0x10
cmovae rdx, qword [rsp + 0x128]
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x20], r9
mov r9d, dword [rsp + 0x330]
mov r8d, dword [rsp + 0x30]
lea rcx, [rsp + 0x78]
call fcn.180024790
mov rbx, rax
cmp qword [rsp + 0x140], 0x10
jb 0x18001c1e2
mov rcx, qword [rsp + 0x128]
call fcn.1800538dc
mov qword [rsp + 0x140], socket
mov qword [rsp + 0x138], 0
mov byte [rsp + 0x128], 0
lea rcx, [rsp + 0x150]
call fcn.18001c500
mov rax, rbx
jmp 0x18001c4cb
mov rsi, r12
cmp r12, r12
cmovb rsi, r12
cmp r15, 0x10
jb 0x18001c22a
mov rbx, qword [rbx]
mov r8d, 7
cmp rsi, r8
cmovb r8, rsi
lea rdx, str.picture
mov rcx, rbx
call fcn.18005cf50
movsxd rcx, eax
test eax, eax
je 0x18001c251
xor ebp, ebp
jmp 0x18001c268
cmp rsi, 7
jb 0x18001c4c9
xor ebp, ebp
mov eax, ebp
cmp rsi, 7
setne al
mov ecx, eax
test ecx, ecx
jne 0x18001c4c9
mov qword [rsp + 0xc0], socket
mov qword [rsp + 0xb8], rbp
mov byte [rsp + 0xa8], cl
mov qword [rsp + 0xe8], 7
mov qword [rsp + 0xe0], rbp
mov word [rsp + 0xd0], bp
lea rdx, [rsp + 0xa0]
mov rcx, rdi
call fcn.18001ef10
test al, al
jne 0x18001c351
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.180001470
nop
cmp qword [rax + 0x20], 8
jb 0x18001c2da
mov rdx, qword [rax + 8]
jmp 0x18001c2de
lea rdx, [rax + 8]
lea rcx, [0x18007b818]
call fcn.18004361c
nop
cmp qword [rsp + 0x68], 8
jb 0x18001c2fe
mov rcx, qword [rsp + 0x50]
call fcn.1800538dc
nop
cmp qword [rsp + 0xe8], 8
jb 0x18001c316
mov rcx, qword [rsp + 0xd0]
call fcn.1800538dc
mov qword [rsp + 0xe8], 7
mov qword [rsp + 0xe0], rbp
mov word [rsp + 0xd0], bp
cmp qword [rsp + 0xc0], 0x10
jb 0x18001c34a
mov rcx, qword [rsp + 0xa8]
call fcn.1800538dc
xor eax, eax
jmp 0x18001c4cb
cmp dword [rsp + 0xf8], 0
setne al
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x48]
call fcn.180015590
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0xc8]
call fcn.18000bc30
nop
cmp qword [rsp + 0x68], 8
jb 0x18001c3a0
mov rcx, qword [rsp + 0x50]
call fcn.1800538dc
lea rcx, [rsp + 0xd0]
cmp qword [rsp + 0xe8], 8
cmovae rcx, qword [rsp + 0xd0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x18001c457
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.180001470
nop
cmp qword [rax + 0x20], 8
jb 0x18001c3e3
mov rdx, qword [rax + 8]
jmp 0x18001c3e7
lea rdx, [rax + 8]
lea rcx, str.gVeu1Y_
call fcn.18004361c
nop
cmp qword [rsp + 0x68], 8
jb 0x18001c407
mov rcx, qword [rsp + 0x50]
call fcn.1800538dc
nop
cmp qword [rsp + 0xe8], 8
jb 0x18001c41f
mov rcx, qword [rsp + 0xd0]
call fcn.1800538dc
mov qword [rsp + 0xe8], 7
mov qword [rsp + 0xe0], rbp
mov word [rsp + 0xd0], bp
cmp qword [rsp + 0xc0], 0x10
jb 0x18001c453
mov rcx, qword [rsp + 0xa8]
call fcn.1800538dc
xor eax, eax
jmp 0x18001c4cb
mov r9, qword [rsp + 0x38]
mov r8d, dword [rsp + 0x330]
mov edx, dword [rsp + 0x30]
lea rcx, [rsp + 0xa0]
call fcn.1800245d0
mov rbx, rax
cmp qword [rsp + 0xe8], 8
jb 0x18001c490
mov rcx, qword [rsp + 0xd0]
call fcn.1800538dc
mov qword [rsp + 0xe8], 7
mov qword [rsp + 0xe0], rbp
mov word [rsp + 0xd0], bp
cmp qword [rsp + 0xc0], 0x10
jb 0x18001c4c4
mov rcx, qword [rsp + 0xa8]
call fcn.1800538dc
mov rax, rbx
jmp 0x18001c4cb
xor eax, eax
mov rcx, qword [rsp + 0x2c0]
xor rcx, rsp
call fcn.180052d60
mov rbx, qword [rsp + 0x310]
add rsp, 0x2d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret