Function at 0x180055570
Capabilities:
Read file via mapping

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x8d0]
sub rsp, 0x9d0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0xa20], rbx
mov rax, qword [0x1800d1eb0]
xor rax, rsp
mov qword [rbp + 0x8c0], rax
mov ebx, edx
mov r14, rcx
xor r12d, r12d
mov r15d, r12d
mov dword [rsp + 0x40], r12d
mov esi, dword [0x1800d331c]
test esi, esi
je 0x1800558c8
cmp esi, 1
je 0x1800555f1
call fcn.180011f40
mov ecx, r12d
cmp eax, 2
sete cl
test ecx, ecx
je 0x180055670
mov esi, 1
mov dword [0x1800d331c], esi
mov rdi, qword [0x1800d6f10]
test rdi, rdi
jne 0x18005562e
mov ecx, 0x2a8
call fcn.18007b11c
mov qword [rsp + 0x40], rax
test rax, rax
je 0x18005561e
mov rcx, rax
call fcn.180015880
mov rdi, rax
jmp 0x180055621
mov rdi, r12
mov qword [0x1800d6f10], rdi
mov esi, dword [0x1800d331c]
mov rcx, rdi
call fcn.180015af0
test eax, eax
jne 0x1800560e0
test esi, esi
je 0x1800558c8
cmp esi, 1
je 0x18005567c
call fcn.180011f40
mov ecx, r12d
cmp eax, 2
sete cl
test ecx, ecx
je 0x180055670
mov dword [0x1800d331c], 1
mov rdi, qword [0x1800d6f10]
jmp 0x18005567c
mov dword [0x1800d331c], r12d
jmp 0x1800558c8
test rdi, rdi
jne 0x1800556ac
mov ecx, 0x2a8
call fcn.18007b11c
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1800556a2
mov rcx, rax
call fcn.180015880
mov rdi, rax
jmp 0x1800556a5
mov rdi, r12
mov qword [0x1800d6f10], rdi
mov rcx, rdi
call fcn.180016ca0
test eax, eax
jne 0x180055729
test rdi, rdi
jne 0x1800556e8
mov ecx, 0x2a8
call fcn.18007b11c
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1800556de
mov rcx, rax
call fcn.180015880
mov rdi, rax
jmp 0x1800556e1
mov rdi, r12
mov qword [0x1800d6f10], rdi
mov rcx, rdi
call fcn.180016ae0
test eax, eax
jne 0x180055729
call fcn.180001150
mov rcx, rax
call fcn.180018230
test eax, eax
jne 0x180055722
call fcn.180001150
mov rcx, rax
call fcn.1800181a0
test eax, eax
jne 0x180055722
mov rdi, qword [0x1800d6f10]
jmp 0x180055827
mov rdi, qword [0x1800d6f10]
cmp qword [r14 + 0x898], 0
je 0x180055827
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rdi, rax
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.18006c400
nop
cmp dword [0x1800d3580], 0
je 0x18005581a
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], r12
mov word [rsp + 0x58], r12w
or r13, 0xffffffffffffffff
mov r9, r13
xor r8d, r8d
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x58]
call fcn.1800049e0
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [r14 + 0x888]
call fcn.18005b030
test eax, eax
je 0x180055807
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], r12
mov word [rsp + 0x58], r12w
mov r9, r13
xor r8d, r8d
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x58]
call fcn.1800049e0
mov r8, rdi
lea rdx, [rsp + 0x58]
lea rcx, [r14 + 0x888]
call fcn.18005bc70
test eax, eax
jne 0x18005581a
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov ecx, ebx
call qword [0x1800d9778]
mov rdi, rax
cmp qword [rbp - 0x58], 8
jb 0x1800557ff
mov rcx, qword [rbp - 0x70]
call fcn.18007a7a4
mov rax, rdi
jmp 0x1800560e8
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov ecx, ebx
call qword [0x1800d9778]
mov rdi, rax
jmp 0x1800557ef
mov ecx, ebx
call qword [0x1800d9778]
mov rdi, rax
jmp 0x1800557ef
test rdi, rdi
jne 0x180055857
mov ecx, 0x2a8
call fcn.18007b11c
mov qword [rsp + 0x40], rax
test rax, rax
je 0x18005584d
mov rcx, rax
call fcn.180015880
mov rdi, rax
jmp 0x180055850
mov rdi, r12
mov qword [0x1800d6f10], rdi
mov rcx, rdi
call fcn.180016ca0
test eax, eax
jne 0x180055896
call fcn.180001150
mov rcx, rax
call fcn.180016ae0
test eax, eax
jne 0x180055896
call fcn.180001150
mov rcx, rax
call fcn.180018230
test eax, eax
jne 0x180055896
call fcn.180001150
mov rcx, rax
call fcn.1800181a0
test eax, eax
je 0x1800558c8
cmp qword [r14 + 0x898], 0
jne 0x1800558c8
mov ecx, ebx
call qword [0x1800d9778]
mov rdi, rax
mov rdx, rax
mov ecx, ebx
call fcn.180070c70
test eax, eax
je 0x1800557ff
call qword [sym.imp.USER32.dll_EmptyClipboard]
jmp 0x1800557ff
call fcn.180011e40
test al, al
je 0x180055930
cmp ebx, 2
je 0x1800560e0
cmp ebx, 8
je 0x1800560e0
cmp ebx, 0x11
je 0x1800560e0
cmp ebx, 0x82
je 0x1800560e0
cmp ebx, 0x8e
je 0x1800560e0
cmp ebx, 0x83
je 0x1800560e0
cmp ebx, 0xe
je 0x1800560e0
cmp ebx, 3
je 0x1800560e0
cmp ebx, 6
jne 0x1800559c4
jmp 0x1800560e0
call fcn.180001050
test eax, eax
je 0x180055957
call fcn.180001150
mov rcx, rax
call fcn.180016a50
test eax, eax
je 0x180055957
cmp dword [0x1800d3580], 0
je 0x1800558d1
call fcn.180001050
test eax, eax
je 0x1800559c4
cmp qword [r14 + 0x898], 0
jne 0x1800559c4
cmp ebx, 2
je 0x1800560e0
cmp ebx, 8
je 0x1800560e0
cmp ebx, 0x11
je 0x1800560e0
cmp ebx, 0x82
je 0x1800560e0
cmp ebx, 0x8e
je 0x1800560e0
cmp ebx, 0x83
je 0x1800560e0
cmp ebx, 0xe
je 0x1800560e0
cmp ebx, 3
je 0x1800560e0
cmp ebx, 6
je 0x1800560e0
cmp dword [0x1800d92b0], 1
jl 0x1800559d5
mov eax, dword [0x1800d94b8]
jmp 0x1800559dd
call fcn.180011d40
movzx eax, al
test eax, eax
jne 0x180055ac4
lea rcx, [rsp + 0x58]
call fcn.1800112e0
mov rdx, rax
mov r15d, 1
mov dword [rsp + 0x40], r15d
mov rsi, qword [rax + 0x10]
cmp rsi, rsi
cmp qword [rax + 0x18], 8
jb 0x180055a0e
mov rdx, qword [rax]
mov edi, 0x18
cmp rsi, rdi
cmovb rdi, rsi
lea rcx, str.626E_B0L0_UC03_I0QZ_H1PP
or r13, 0xffffffffffffffff
test rdi, rdi
je 0x180055a53
nop word [rax + rax]
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x180055a47
add rdx, 2
add rcx, 2
dec rdi
jne 0x180055a30
jmp 0x180055a53
mov edi, r15d
cmp word [rdx], ax
cmovb edi, r13d
jmp 0x180055a56
mov edi, r12d
movsxd rax, edi
test edi, edi
jne 0x180055a72
cmp rsi, 0x18
jae 0x180055a68
mov eax, r13d
jmp 0x180055a72
mov eax, r12d
cmp rsi, 0x18
setne al
test eax, eax
sete al
test al, al
je 0x180055abf
call fcn.180001150
mov rcx, rax
call fcn.1800185f0
test eax, eax
jne 0x180055ac4
call fcn.180001150
mov rcx, rax
call fcn.180018350
test eax, eax
jne 0x180055ac4
call fcn.180001150
mov rcx, rax
call fcn.180018680
test eax, eax
jne 0x180055ac4
call fcn.180001150
mov rcx, rax
call fcn.1800177e0
test eax, eax
jne 0x180055ac4
xor dil, dil
jmp 0x180055ac7
mov dil, 1
test r15b, 1
je 0x180055adf
cmp qword [rsp + 0x70], 8
jb 0x180055adf
mov rcx, qword [rsp + 0x58]
call fcn.18007a7a4
test dil, dil
je 0x180055af7
cmp ebx, 1
je 0x1800560e0
cmp ebx, 0xd
jne 0x180055b3f
jmp 0x1800560e0
call fcn.180001050
test eax, eax
je 0x180055b1a
call fcn.180001150
mov rcx, rax
call fcn.180016a50
test eax, eax
je 0x180055b1a
cmp dword [0x1800d3580], 0
je 0x180055ae4
call fcn.180001050
test eax, eax
je 0x180055b3f
cmp qword [r14 + 0x898], 0
jne 0x180055b3f
cmp ebx, 1
je 0x1800560e0
cmp ebx, 0xd
je 0x1800560e0
mov byte [rbp - 0x40], 0
xor edx, edx
mov r8d, 0xff
lea rcx, [rbp - 0x3f]
call fcn.18007e840
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rdi, rax
mov r8d, pe_nt_image_headers64
lea rdx, [rbp - 0x40]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetClassNameA]
mov byte [rbp + 0xc0], 0
xor edx, edx
mov r8d, 0x7ff
lea rcx, [rbp + 0xc1]
call fcn.18007e840
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
lea r9, [rbp + 0xc0]
mov edx, recv
mov r8d, 0x800
mov rcx, rdi
call qword [sym.imp.USER32.dll_SendMessageTimeoutA]
lea rsi, [rbp + 0xc0]
lea rdi, [0x1800aec00]
mov ecx, 9
repe cmpsb byte [rsi], byte [rdi]
je 0x180055cec
lea rsi, [rbp + 0xc0]
lea rdi, [0x1800aec10]
mov ecx, 9
repe cmpsb byte [rsi], byte [rdi]
je 0x180055cec
lea rsi, [rbp + 0xc0]
lea rdi, [0x1800aec20]
mov ecx, 0xb
repe cmpsb byte [rsi], byte [rdi]
je 0x180055cec
lea rsi, [rbp + 0xc0]
lea rdi, [0x1800aec30]
mov ecx, recv
repe cmpsb byte [rsi], byte [rdi]
je 0x180055cec
lea rsi, [rbp + 0xc0]
lea rdi, [0x1800aec40]
mov ecx, 0xb
repe cmpsb byte [rsi], byte [rdi]
je 0x180055cec
lea rsi, [rbp + 0xc0]
lea rdi, [0x1800aec50]
mov ecx, 9
repe cmpsb byte [rsi], byte [rdi]
je 0x180055cec
lea rsi, [rbp + 0xc0]
lea rdi, [0x1800aec60]
mov ecx, recv
repe cmpsb byte [rsi], byte [rdi]
je 0x180055cec
lea rsi, [rbp + 0xc0]
lea rdi, [0x1800aec70]
mov ecx, recv
repe cmpsb byte [rsi], byte [rdi]
je 0x180055cec
lea rsi, [rbp + 0xc0]
lea rdi, [0x1800aec80]
mov ecx, recv
repe cmpsb byte [rsi], byte [rdi]
je 0x180055cec
lea rsi, [rbp + 0xc0]
lea rdi, str.3D_Studio
mov ecx, reloc.WS2_32.dll_send
repe cmpsb byte [rsi], byte [rdi]
je 0x180055cec
lea rsi, [rbp + 0xc0]
lea rdi, [0x1800aeca8]
mov ecx, send
repe cmpsb byte [rsi], byte [rdi]
je 0x180055cec
lea rsi, [rbp + 0xc0]
lea rdi, [0x1800aecb8]
mov ecx, 9
repe cmpsb byte [rsi], byte [rdi]
jne 0x180055d25
cmp ebx, 0xc0b4
je 0x1800560e0
cmp ebx, 0xf
je 0x1800560e0
cmp ebx, 0xc074
je 0x1800560e0
cmp ebx, 0xc013
je 0x1800560e0
cmp ebx, 0xc009
je 0x1800560e0
mov qword [rsp + 0x40], r12
cmp ebx, 0xe
jne 0x180055e7f
lea ecx, [rbx - 0xb]
call qword [0x1800d9778]
mov rdi, rax
test rax, rax
je 0x180055df5
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalSize]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r12, rax
xor r8d, r8d
xor edx, edx
mov rcx, qword [rax + 0x10]
call qword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
mov esi, eax
mov ecx, eax
call fcn.180078408
mov rbx, rax
mov r8d, esi
xor edx, edx
mov rcx, rax
call fcn.18007e840
mov r8, rbx
mov edx, esi
mov rcx, qword [r12 + 0x10]
call qword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
mov edi, eax
cmp word [rbx + 0x10], 9
jne 0x180055ddf
cmp dword [rbx + 6], 0xa
jae 0x180055db7
lea rdx, [0x1800aecc8]
lea rcx, [0x1800d7100]
call fcn.180006a50
movzx edx, word [rbx + 2]
add edx, edx
movsxd rcx, edx
lea eax, [rdx + 0xa]
cmp edx, eax
jge 0x180055ddf
add rcx, rbx
sub eax, edx
mov edx, eax
nop
movzx eax, byte [rcx]
not al
mov byte [rcx], al
inc rcx
dec rdx
jne 0x180055dd0
mov r9, r12
xor r8d, r8d
mov rdx, rbx
mov ecx, edi
call qword [sym.imp.GDI32.dll_SetWinMetaFileBits]
jmp 0x1800560e8
mov ecx, recv
call qword [0x1800d9778]
mov rsi, rax
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.GDI32.dll_GetEnhMetaFileBits]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, edi
call fcn.180078408
mov rbx, rax
mov r8, rax
mov edx, edi
mov rcx, rsi
call qword [sym.imp.GDI32.dll_GetEnhMetaFileBits]
mov esi, eax
movsxd rdi, dword [rbx + 4]
cmp dword [rbx + 0x30], 0xa
jae 0x180055e50
lea rdx, [0x1800aecf0]
lea rcx, [0x1800d7100]
call fcn.180006a50
mov rcx, rdi
lea edx, [rdi + 0xa]
cmp edi, edx
jge 0x180055e6f
add rcx, rbx
sub edx, edi
nop
movzx eax, byte [rcx]
not al
mov byte [rcx], al
inc rcx
dec rdx
jne 0x180055e60
mov rdx, rbx
mov ecx, esi
call qword [sym.imp.GDI32.dll_SetEnhMetaFileBits]
jmp 0x1800560e8
cmp ebx, 2
jne 0x180055f9d
mov ecx, ebx
call qword [0x1800d9778]
mov rdi, rax
test rax, rax
jne 0x180055e9f
xor eax, eax
jmp 0x1800560e8
lea r8, [rbp - 0x70]
mov edx, 0x20
mov rcx, rax
call qword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
je 0x180055ec9
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.18006b600
mov r12, rax
lea rcx, [rsp + 0x58]
call fcn.1800711d0
nop
mov r13d, dword [r12 + 0x14]
mov ebx, dword [r12 + 8]
mov esi, dword [r12 + 4]
mov eax, dword [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 4]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
test rax, rax
jne 0x180055f1b
lea rdx, [0x1800aff38]
lea rcx, [0x1800d7100]
call fcn.1800068a0
jmp 0x180055f88
cmp dword [rax + 8], r13d
jne 0x180055f88
cmp dword [rax + 4], ebx
jne 0x180055f88
cmp dword [rax], esi
jne 0x180055f88
mov eax, dword [r12 + 0x14]
add eax, 0xfffffffc
cmp eax, 0x34
jle 0x180055f7b
lea rcx, [r12 + 0x35]
add eax, 0xffffffcb
shr eax, 3
lea edx, [rax + 1]
nop word [rax + rax]
movzx eax, byte [rcx - 1]
not al
mov byte [rcx - 1], al
movzx eax, byte [rcx]
not al
mov byte [rcx], al
movzx eax, byte [rcx + 1]
not al
mov byte [rcx + 1], al
movzx eax, byte [rcx + 2]
not al
mov byte [rcx + 2], al
add rcx, 8
dec rdx
jne 0x180055f50
mov rcx, r12
call fcn.18006b7d0
mov rdi, rax
jmp 0x180055f88
cmp qword [rbp - 0x80], 8
jb 0x1800557ff
mov rcx, qword [rsp + 0x68]
jmp 0x1800557fa
cmp ebx, 0xd
je 0x18005608c
cmp ebx, 1
je 0x18005608c
mov ecx, ebx
call qword [0x1800d9778]
mov rsi, rax
test rax, rax
je 0x180055e98
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
jne 0x180055fd9
mov rax, rsi
jmp 0x1800560e8
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalSize]
mov rdi, rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
test edi, edi
je 0x18005602b
cmp ebx, 8
jne 0x18005602b
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalSize]
test eax, eax
je 0x180055fd1
mov r8d, eax
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.180070ec0
test al, al
je 0x180055fd1
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rax, qword [rsp + 0x40]
jmp 0x1800560e8
mov rdx, rsi
mov ecx, ebx
call fcn.180070c70
test eax, eax
je 0x180055fd1
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalSize]
test eax, eax
je 0x180055fd1
mov r9d, eax
lea r8, [rsp + 0x40]
mov rdx, rsi
mov ecx, ebx
call fcn.1800710d0
test al, al
je 0x180055fd1
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x180055fd1
mov rcx, qword [0x1800d70b8]
test rcx, rcx
je 0x180056080
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov qword [0x1800d70b8], rdi
jmp 0x1800557ff
mov qword [rsp + 0x40], r12
mov ecx, ebx
call qword [0x1800d9778]
mov rdi, rax
mov rdx, rax
mov ecx, ebx
call fcn.180070c70
cmp eax, 1
jne 0x1800560d4
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalSize]
test eax, eax
je 0x1800560cf
mov r9d, eax
lea r8, [rsp + 0x40]
mov rdx, rdi
mov ecx, ebx
call fcn.1800710d0
mov r12, qword [rsp + 0x40]
mov rax, r12
jmp 0x1800560e8
cmp eax, 3
cmove rdi, r12
jmp 0x1800557ff
mov ecx, ebx
call qword [0x1800d9778]
mov rcx, qword [rbp + 0x8c0]
xor rcx, rsp
call fcn.18007a7c0
mov rbx, qword [rsp + 0xa20]
add rsp, 0x9d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret