Function at 0x18000d6a0
Capabilities:
Delete file

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
mov qword [rbp - 0x41], 0xfffffffffffffffe
mov qword [rsp + 0x100], rbx
mov rdi, rdx
mov r14, rcx
mov edx, 8
mov rcx, rdi
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov r15d, eax
mov edx, 0xa
mov rcx, rdi
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [rbp + 0x77], eax
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov r13, rax
test rax, rax
jne 0x18000d71b
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
xor eax, eax
jmp 0x18000da06
mov edx, reloc.WS2_32.dll_inet_ntoa
mov rcx, rax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov ebx, eax
lea rax, vtable.ATL::CImage.0
mov qword [rbp - 0x29], rax
xor esi, esi
mov qword [rbp - 0x21], rsi
mov qword [rbp - 0x19], rsi
mov qword [rbp - 0x11], rsi
mov qword [rbp - 9], rsi
mov word [rbp - 1], si
or r12d, 0xffffffff
mov dword [rbp + 3], r12d
mov dword [rbp + 7], 0xffffffff
mov qword [rbp + 0xf], rsi
mov dword [rbp + 0x17], esi
mov qword [rbp + 0x1f], rsi
lea rcx, [0x180038b20]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
inc dword [0x180038b48]
lea rcx, [0x180038b20]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov r9d, ebx
mov ebx, dword [rbp + 0x77]
mov r8d, ebx
mov edx, r15d
lea rcx, [rbp - 0x29]
call fcn.18000cba0
test eax, eax
jne 0x18000d7d9
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, r13
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, r13
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
nop
lea rcx, [rbp - 0x29]
call fcn.18000cb00
xor eax, eax
jmp 0x18000da06
inc dword [rbp + 0x17]
lea rdx, [0x180038b50]
mov rcx, qword [rbp + 0xf]
test rcx, rcx
jne 0x18000d82a
mov ecx, esi
nop
movsxd rax, ecx
mov r8, rsi
xchg qword [rdx + rax*8], r8
test r8, r8
jne 0x18000d811
inc ecx
cmp ecx, 4
jl 0x18000d7f0
xor ecx, ecx
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r8, rax
mov qword [rbp + 0xf], r8
mov rdx, qword [rbp - 0x21]
mov rcx, r8
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rbp + 0x1f], rax
mov rcx, qword [rbp + 0xf]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], ebx
mov r9d, r15d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.GDI32.dll_BitBlt]
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, r13
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, r13
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
dec dword [rbp + 0x17]
jne 0x18000d8bd
mov rdx, qword [rbp + 0x1f]
mov rcx, qword [rbp + 0xf]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [rbp + 0xf]
mov edx, esi
lea r8, [0x180038b50]
nop dword [rax + rax]
movsxd rax, edx
xchg qword [r8 + rax*8], rcx
test rcx, rcx
je 0x18000d8b9
inc edx
cmp edx, 4
jl 0x18000d8a0
call qword [sym.imp.GDI32.dll_DeleteDC]
mov qword [rbp + 0xf], rsi
test ebx, ebx
je 0x18000d9fa
mov rcx, qword [0x18003a108]
add rcx, 0xffffffffffffffe8
call fcn.1800013c0
add rax, 0x18
mov qword [rbp - 0x49], rax
lea rcx, [rbp - 0x49]
call fcn.18000b060
lea rcx, [0x180037078]
mov rax, qword [0x180037078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x77], rax
mov r8, qword [0x18003a108]
lea rdx, str._sbmp.tmp
lea rcx, [rbp + 0x77]
call fcn.180002450
lea rcx, [0x180037078]
mov rax, qword [0x180037078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x7f], rax
mov r8, qword [0x18003a108]
lea rdx, str._sjgp.tmp
lea rcx, [rbp + 0x7f]
call fcn.180002450
mov rbx, qword [rbp + 0x7f]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rdi, qword [rbp + 0x77]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rdx, rdi
lea rcx, [rbp - 0x29]
call fcn.18000d130
lea r11, vtable.CBmpToJpg.0
mov qword [rbp - 0x39], r11
mov rdx, rbx
mov rcx, rdi
call fcn.180001b20
cmp al, 1
jne 0x18000d9b4
mov dword [r14], esi
lea rdx, [0x180031070]
mov rcx, rbx
call fcn.180010ea4
test rax, rax
je 0x18000d9ab
mov rdx, rax
mov rcx, r14
call fcn.18000b810
mov rsi, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
nop
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000d9da
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0x77]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x18000d9fa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rbp - 0x29]
call fcn.18000cb00
mov rax, rsi
mov rbx, qword [rsp + 0x100]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret