Function at 0x180079ed0
Capabilities:
Check for software breakpoints

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x468]
sub rsp, 0x568
mov rax, qword [0x1800bf580]
xor rax, rsp
mov qword [rbp + 0x450], rax
mov qword [rbp + 0x28], rdx
mov r11, rdx
mov edx, dword [rbp + 0x4d8]
mov r12, r8
mov r15, qword [rbp + 0x28]
mov r10, r9
mov qword [rbp - 0x40], r8
mov r8, qword [rbp + 0x4d0]
lea eax, [rdx - 0x10]
mov qword [rbp + 0x30], r9
mov qword [rbp + 0x40], rcx
mov r9, rcx
mov qword [rsp + 0x40], r8
mov dword [rbp - 0x38], eax
cmp edx, eax
jbe case.0x180079f6f.96
movzx esi, byte [rbp - 0x48]
xor ebx, ebx
mov r14d, dword [rbp - 0x38]
mov edi, dword [rbp - 0x38]
mov dword [rbp - 0x50], esi
mov qword [rbp - 8], r15
lea eax, [rdx - 0x5d]
lea r13, [0x180000000]
cmp eax, 0x20
ja case.0x180079f6f.94
mov ecx, dword [r13 + rax*4 + 0x7b634]
add rcx, r13
jmp rcx
mov dword [rbp - 0x7c], ebx
jmp case.0x180079f6f.94
mov eax, dword [r8 + 4]
mov dword [r11], eax
test r9, r9
je case.0x180079f6f.94
mov eax, dword [r8 + 8]
mov dword [r9], eax
jmp case.0x180079f6f.94
mov edx, 0x93
mov rcx, r8
call fcn.18004a950
mov r8, qword [rsp + 0x40]
jmp 0x18007b118
mov r9, r8
mov qword [rsp + 0x28], rbx
xor r8d, r8d
mov dword [rsp + 0x20], 0x91
xor edx, edx
xor ecx, ecx
call fcn.180086b80
cmp eax, 1
jne 0x18007b2c7
mov r9, qword [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x28], rbx
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], 0x91
call fcn.180086b80
mov r14, rax
cmp eax, 1
je 0x18007b262
mov r8, qword [rsp + 0x40]
mov eax, ebx
cmp dword [r8 + 4], 0
setg al
mov dword [rbp], eax
jmp 0x18007b118
xor edx, edx
mov dword [rbp - 0x20], ebx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
mov r9d, 0xfb
call fcn.18008cd70
cmp al, 0x42
jne 0x18007b327
mov r8, qword [rsp + 0x40]
mov r9d, 0xfb
xor edx, edx
mov qword [rsp + 0x20], rbx
xor ecx, ecx
call fcn.18008cd70
cmp al, 0x4d
jne 0x18007b327
mov r8, qword [rsp + 0x40]
jmp 0x18007b118
mov dword [rsp + 0x68], ebx
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x6c], ebx
mov dword [rbp - 0x78], ebx
jmp case.0x180079f6f.94
xor edx, edx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea ecx, [rdx + 0x70]
call fcn.180016100
mov r8, qword [rsp + 0x40]
cmp eax, 2
jne 0x18007b118
lea r9, [rsp + 0x70]
mov dword [rsp + 0x70], 1
xor edx, edx
mov ecx, 0x9f
call fcn.1800321d0
mov r8, qword [rsp + 0x40]
jmp 0x18007b118
mov eax, dword [r8 + 4]
cdq
xor eax, edx
sub eax, edx
mov dword [r8 + 4], eax
jmp 0x18007b118
mov r10, qword [rsp + 0x50]
test r10, r10
je 0x18007b4c7
cmp r14d, 0x10
jge 0x18007a56c
movsxd rdx, dword [rbp - 0x7c]
mov eax, 0xbf
mov dword [rsp + 0x78], eax
mov rcx, rdx
mov qword [rsp + 0x48], rdx
sub eax, 0xbf
je 0x18007a54d
sub eax, 0x2d
je 0x18007a3cf
sub eax, 0x2d
je 0x18007a3bf
cmp eax, 0x2d
jne 0x18007a551
cmp dword [r8 + 4], 0
mov dword [rbp - 0x54], ebx
jle 0x18007a551
mov esi, dword [rbp - 0x34]
nop dword [rax]
mov r12d, 0x8a
mov dword [rbp - 0x5c], r12d
nop word [rax + rax]
cmp r12d, 0x8a
je 0x18007a190
cmp r12d, 0x1c08
je 0x18007a3ad
cmp r12d, 0x3786
jne 0x18007a36e
mov qword [rsp + 0x28], r8
lea rdx, [rsp + 0x70]
xor r8d, r8d
mov dword [rsp + 0x70], esi
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov ecx, 0x10e
call fcn.180079080
mov r8, qword [rsp + 0x40]
jmp 0x18007a36e
cmp dword [r8], 0
mov r13d, ebx
jle 0x18007a36e
nop dword [rax]
mov r12d, 0x11d
nop word [rax + rax]
cmp r12d, 0x1deb6
ja 0x18007a2e6
je 0x18007a27e
cmp r12d, 0x11d
je 0x18007a256
cmp r12d, 0xa050
je 0x18007a1f5
cmp r12d, 0x13f83
jne 0x18007a344
movsxd rax, dword [rsp + 0x7c]
movzx eax, byte [rbp + rax*4 + 0x52]
jmp 0x18007a335
mov r11d, dword [rsp + 0x7c]
mov r8d, r11d
movsxd r9, dword [rsp + 0x58]
and r8d, 0xf
mov eax, r11d
sar eax, 4
cmp r14d, 4
cmovne eax, r11d
movsxd r11, eax
mov dword [rsp + 0x7c], r11d
lea rdx, [r11*4]
movzx eax, byte [rbp + rdx + 0x50]
mov byte [r9 + r10], al
inc r9d
movzx eax, byte [rbp + rdx + 0x51]
movsxd rcx, r9d
inc r9d
cmp r14d, 4
mov dword [rsp + 0x58], r9d
cmovne r8d, dword [rbp - 0x44]
mov dword [rbp - 0x44], r8d
mov byte [rcx + r10], al
jmp 0x18007a344
xor edx, edx
mov qword [rsp + 0x20], rbx
xor ecx, ecx
mov r9d, 0xfb
call fcn.18008cd70
mov r10, qword [rsp + 0x50]
movzx eax, al
mov dword [rsp + 0x7c], eax
mov dword [rbp - 0x44], ebx
jmp 0x18007a344
cmp dword [rbp - 0x58], 4
jne 0x18007a294
movsxd rcx, dword [rsp + 0x58]
mov byte [rcx + r10], 0xff
inc ecx
mov dword [rsp + 0x58], ecx
lea eax, [r13 + 1]
cmp eax, dword [r8]
je 0x18007a3ad
cmp r14d, 8
jne 0x18007a2d3
xor edx, edx
mov qword [rsp + 0x20], rbx
xor ecx, ecx
mov r9d, 0xfb
call fcn.18008cd70
mov r10, qword [rsp + 0x50]
movzx r11d, al
movsxd rax, r11d
mov dword [rsp + 0x7c], r11d
movzx eax, byte [rbp + rax*4 + 0x50]
jmp 0x18007a335
mov r11d, dword [rbp - 0x44]
movsxd rax, r11d
mov dword [rsp + 0x7c], r11d
movzx eax, byte [rbp + rax*4 + 0x50]
jmp 0x18007a335
cmp r12d, 0x27de9
je 0x18007a32b
cmp r12d, 0x31d1c
jne 0x18007a344
movsxd r9, dword [rsp + 0x58]
movsxd rax, dword [rsp + 0x7c]
movzx eax, byte [rbp + rax*4 + 0x52]
mov byte [r9 + r10], al
inc r9d
cmp dword [rbp - 0x58], 4
mov dword [rsp + 0x58], r9d
jne 0x18007a344
movsxd rax, r9d
inc r9d
mov dword [rsp + 0x58], r9d
mov byte [rax + r10], 0xff
jmp 0x18007a344
movsxd rax, dword [rsp + 0x7c]
movzx eax, byte [rbp + rax*4 + 0x51]
movsxd rdx, dword [rsp + 0x58]
mov byte [rdx + r10], al
inc edx
mov dword [rsp + 0x58], edx
mov r8, qword [rsp + 0x40]
add r12d, 0x9f33
cmp r12d, 0x3bb32
jbe 0x18007a1b0
add r13d, 2
cmp r13d, dword [r8]
jl 0x18007a1a0
mov r12d, dword [rbp - 0x5c]
mov r10, qword [rsp + 0x50]
add r12d, 0x1b7e
mov dword [rbp - 0x5c], r12d
cmp r12d, 0x527a
jbe 0x18007a140
mov eax, dword [rbp - 0x54]
inc eax
mov dword [rbp - 0x54], eax
cmp eax, dword [r8 + 4]
jl 0x18007a130
mov esi, dword [rbp - 0x50]
mov rcx, qword [rsp + 0x48]
mov edx, dword [rbp - 0x7c]
jmp 0x18007a551
mov r12d, 0x1c08
mov dword [rbp + 0x4d8], 0x64
jmp 0x18007a36e
mov eax, dword [rbp - 0x60]
neg eax
and eax, 3
mov dword [rbp - 0x34], eax
jmp 0x18007a551
test edx, edx
je 0x18007b3f7
cmp edx, 0x100
jg 0x18007b3f7
mov r13, rbx
test rcx, rcx
jle 0x18007a4c6
mov r15d, dword [rsp + 0x64]
nop dword [rax]
nop dword [rax + rax]
mov r12d, 0x11d
cmp r12d, 0x11d
je 0x18007a424
cmp r12d, 0xb577
jne 0x18007a49d
mov byte [rbp + r13*4 + 0x53], 0xff
jmp 0x18007a49d
xor edx, edx
mov qword [rsp + 0x20], rbx
xor ecx, ecx
mov r9d, 0xfb
call fcn.18008cd70
mov r8, qword [rsp + 0x40]
mov r9d, 0xfb
xor edx, edx
mov byte [rbp + r13*4 + 0x52], al
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call fcn.18008cd70
mov r8, qword [rsp + 0x40]
mov r9d, 0xfb
xor edx, edx
mov byte [rbp + r13*4 + 0x51], al
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call fcn.18008cd70
mov r8, qword [rsp + 0x40]
mov byte [rbp + r13*4 + 0x50], al
cmp r15d, 0xc
je 0x18007a49d
mov r9d, 0xfb
mov qword [rsp + 0x20], rbx
xor edx, edx
xor ecx, ecx
call fcn.18008cd70
mov r8, qword [rsp + 0x40]
add r12d, 0xb45a
cmp r12d, 0x168b4
jbe 0x18007a406
inc r13
cmp r13, qword [rsp + 0x48]
jl 0x18007a400
mov r15, qword [rbp - 8]
mov edx, dword [rbp - 0x7c]
mov ecx, dword [rbp - 0x4c]
mov eax, ebx
cmp dword [rsp + 0x64], 0xc
mov qword [rsp + 0x28], r8
sete al
mov qword [rsp + 0x20], rbx
add eax, 0xfffffffc
add ecx, 0xfffffff2
imul eax, edx
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x70]
sub eax, dword [rsp + 0x64]
add eax, ecx
mov ecx, 0x10e
mov dword [rsp + 0x70], eax
call fcn.180079080
cmp r14d, 4
jne 0x18007a529
mov r8, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov edx, dword [r8]
inc edx
shr edx, 1
mov dword [rbp - 0x60], edx
mov edx, dword [rbp - 0x7c]
jmp 0x18007a551
cmp r14d, 8
jne 0x18007b387
mov r8, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov edx, dword [rbp - 0x7c]
mov eax, dword [r8]
mov dword [rbp - 0x60], eax
jmp 0x18007a551
mov dword [rsp + 0x58], ebx
mov eax, dword [rsp + 0x78]
add eax, 0x2d
mov dword [rsp + 0x78], eax
cmp eax, 0x173
jb 0x18007a0f2
jmp 0x18007abd8
mov r12d, 0xa6
mov dword [rsp + 0x70], ebx
mov dword [rbp - 0x5c], r12d
mov r13d, ebx
nop dword [rax]
cmp r13d, 7
ja case.default.0x18007a59e
lea rdx, [0x180000000]
mov eax, r13d
mov ecx, dword [rdx + rax*4 + 0x7b6b8]
add rcx, rdx
jmp rcx
mov dword [rbp - 0x10], ebx
jmp case.default.0x18007a59e
mov dword [rbp - 0x24], ebx
mov dword [rbp - 0x14], ebx
mov dword [rbp - 0x18], ebx
jmp case.default.0x18007a59e
mov dword [rsp + 0x5c], ebx
mov dword [rbp - 0x80], ebx
jmp case.default.0x18007a59e
cmp dword [r8 + 4], 0
mov dword [rbp - 0x54], ebx
jle case.default.0x18007a59e
mov r15d, dword [rbp - 0x58]
nop dword [rax]
nop dword [rax + rax]
movsxd rcx, dword [rsp + 0x5c]
mov edx, dword [rbp - 0x80]
mov r13, rcx
mov eax, dword [r8]
mov dword [rsp + 0x78], ebx
test edx, edx
je 0x18007a71d
test eax, eax
jle 0x18007a8b9
nop dword [rax]
nop word [rax + rax]
mov r12d, 0x48
cmp r12d, 0x48
je 0x18007a6a3
cmp r12d, 0x4c
je 0x18007a684
cmp r12d, 0x50
je 0x18007a652
cmp r12d, 0x54
jne 0x18007a6f0
cmp r15d, 4
jne 0x18007a6f0
inc ecx
mov byte [r10 + r13], sil
mov dword [rsp + 0x5c], ecx
inc r13
jmp 0x18007a6f0
add ecx, 3
add r13, 3
mov dword [rsp + 0x5c], ecx
cmp edx, 2
jne 0x18007a67f
xor edx, edx
mov qword [rsp + 0x20], rbx
xor ecx, ecx
mov r9d, 0xfb
call fcn.18008cd70
mov r10, qword [rsp + 0x50]
mov esi, eax
jmp 0x18007a6e4
mov sil, 0xff
jmp 0x18007a6f0
xor edx, edx
mov qword [rsp + 0x20], rbx
xor ecx, ecx
mov r9d, 0xfb
call fcn.18008cd70
mov r10, qword [rsp + 0x50]
mov byte [r10 + r13], al
jmp 0x18007a6e4
xor edx, edx
mov qword [rsp + 0x20], rbx
xor ecx, ecx
mov r9d, 0xfb
call fcn.18008cd70
mov rcx, qword [rsp + 0x50]
mov r9d, 0xfb
mov r8, qword [rsp + 0x40]
xor edx, edx
mov qword [rsp + 0x20], rbx
mov byte [rcx + r13 + 2], al
xor ecx, ecx
call fcn.18008cd70
mov r10, qword [rsp + 0x50]
mov byte [r10 + r13 + 1], al
mov r8, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x5c]
mov edx, dword [rbp - 0x80]
add r12d, 4
cmp r12d, 0x58
jb 0x18007a616
mov ecx, dword [rsp + 0x78]
inc ecx
mov dword [rbp - 0x50], esi
cmp ecx, dword [r8]
mov dword [rsp + 0x78], ecx
mov ecx, dword [rsp + 0x5c]
jl 0x18007a610
jmp 0x18007a8b9
test eax, eax
jle 0x18007a8b9
mov esi, dword [rbp - 0x78]
nop dword [rax + rax]
mov r12d, 0x8d
mov eax, r12d
sub eax, 0x8d
je 0x18007a7a0
cmp eax, 9
jne 0x18007a889
test esi, esi
je 0x18007a783
mov eax, dword [rbp - 0x10]
lea r9, [rbp - 0x68]
mov dword [rbp - 0x70], eax
lea r8, [rbp - 0x70]
mov eax, dword [rbp - 0x1c]
lea rcx, [rsp + 0x48]
mov dword [rbp - 0x68], eax
mov edx, 0x4f
mov eax, edi
and eax, esi
mov dword [rsp + 0x48], eax
call fcn.180068e10
mov r10, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x5c]
jmp 0x18007a788
mov eax, 0xff
cmp r15d, 4
jne 0x18007a889
inc ecx
mov byte [r10 + r13], al
inc r13
jmp 0x18007a885
cmp r14d, 0x10
jne 0x18007a7c7
mov r9, r8
mov qword [rsp + 0x28], rbx
xor r8d, r8d
mov dword [rsp + 0x20], 0x91
xor edx, edx
xor ecx, ecx
call fcn.180086b80
mov rdi, rax
jmp 0x18007a7d6
mov edx, 0x93
mov rcx, r8
call fcn.18004a950
mov edi, eax
mov eax, dword [rbp - 0x30]
lea r9, [rsp + 0x48]
mov dword [rbp - 0x70], eax
lea r8, [rbp - 0x70]
mov eax, dword [rbp - 0x24]
lea rcx, [rbp - 0x68]
mov dword [rsp + 0x48], eax
mov edx, 0x4f
mov eax, edi
and eax, dword [rsp + 0x68]
mov dword [rbp - 0x68], eax
call fcn.180068e10
mov rcx, qword [rsp + 0x50]
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x70]
mov edx, 0x4f
mov byte [rcx + r13], al
lea rcx, [rbp - 0x68]
mov eax, dword [rbp - 0x2c]
mov dword [rbp - 0x70], eax
mov eax, dword [rbp - 0x14]
mov dword [rsp + 0x48], eax
mov eax, edi
and eax, dword [rsp + 0x60]
mov dword [rbp - 0x68], eax
call fcn.180068e10
mov rcx, qword [rsp + 0x50]
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x70]
mov edx, 0x4f
mov byte [rcx + r13 + 1], al
lea rcx, [rbp - 0x68]
mov eax, dword [rbp - 0x28]
mov dword [rbp - 0x70], eax
mov eax, dword [rbp - 0x18]
mov dword [rsp + 0x48], eax
mov eax, edi
and eax, dword [rsp + 0x6c]
mov dword [rbp - 0x68], eax
call fcn.180068e10
mov r10, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x5c]
add ecx, 3
mov byte [r10 + r13 + 2], al
add r13, 3
mov dword [rsp + 0x5c], ecx
mov r8, qword [rsp + 0x40]
add r12d, 9
cmp r12d, 0x9f
jb 0x18007a736
mov ecx, dword [rsp + 0x78]
inc ecx
cmp ecx, dword [r8]
mov dword [rsp + 0x78], ecx
mov ecx, dword [rsp + 0x5c]
jl 0x18007a730
mov esi, dword [rbp - 0x50]
mov eax, dword [rbp - 0x34]
lea rdx, [rsp + 0x48]
mov qword [rsp + 0x28], r8
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x48], eax
mov ecx, 0x10e
mov qword [rsp + 0x20], rbx
call fcn.180079080
mov ecx, dword [rbp - 0x54]
mov r8, qword [rsp + 0x40]
inc ecx
mov r10, qword [rsp + 0x50]
mov dword [rbp - 0x54], ecx
cmp ecx, dword [r8 + 4]
jl 0x18007a5e0
mov r15, qword [rbp - 8]
mov r13d, dword [rsp + 0x70]
mov r12d, dword [rbp - 0x5c]
jmp case.default.0x18007a59e
cmp dword [rbp - 0x80], 0
jne case.default.0x18007a59e
mov r12d, 0xdb
nop dword [rax]
mov eax, r12d
sub eax, 0xdb
je 0x18007aaac
sub eax, 1
je 0x18007aa78
sub eax, 1
je 0x18007a9c8
cmp eax, 1
jne 0x18007aacd
mov eax, dword [rsp + 0x6c]
lea rdx, [rsp + 0x48]
mov r9d, 0xeb
mov dword [rsp + 0x48], eax
xor r8d, r8d
mov qword [rsp + 0x20], rbx
xor ecx, ecx
call fcn.18008aba0
mov dword [rbp - 0x28], eax
lea rcx, [rsp + 0x48]
mov eax, dword [rbp - 0x78]
xor r9d, r9d
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov dword [rsp + 0x28], 0xd8
xor edx, edx
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x20], rbx
call fcn.1800763b0
sub eax, 7
mov qword [rsp + 0x20], rbx
mov dword [rbp - 0x1c], eax
lea rdx, [rsp + 0x48]
mov eax, dword [rbp - 0x78]
mov r9d, 0xeb
xor r8d, r8d
mov dword [rsp + 0x48], eax
xor ecx, ecx
call fcn.18008aba0
mov dword [rbp - 0x10], eax
jmp 0x18007aacd
mov eax, dword [rsp + 0x68]
lea rdx, [rsp + 0x48]
mov r9d, 0xeb
mov dword [rsp + 0x48], eax
xor r8d, r8d
mov qword [rsp + 0x20], rbx
xor ecx, ecx
call fcn.18008aba0
mov dword [rbp - 0x30], eax
lea rcx, [rsp + 0x48]
mov eax, dword [rsp + 0x60]
xor r9d, r9d
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov dword [rsp + 0x28], 0xd8
xor edx, edx
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x20], rbx
call fcn.1800763b0
sub eax, 7
mov qword [rsp + 0x20], rbx
mov dword [rbp - 0x14], eax
lea rdx, [rsp + 0x48]
mov eax, dword [rsp + 0x60]
mov r9d, 0xeb
xor r8d, r8d
mov dword [rsp + 0x48], eax
xor ecx, ecx
call fcn.18008aba0
mov dword [rbp - 0x2c], eax
lea rcx, [rsp + 0x48]
mov eax, dword [rsp + 0x6c]
xor r9d, r9d
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov dword [rsp + 0x28], 0xd8
xor edx, edx
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x20], rbx
call fcn.1800763b0
sub eax, 7
mov dword [rbp - 0x18], eax
jmp 0x18007aacd
mov eax, dword [rsp + 0x68]
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov dword [rsp + 0x28], 0xd8
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x48], eax
call fcn.1800763b0
sub eax, 7
mov dword [rbp - 0x24], eax
jmp 0x18007aacd
cmp dword [rsp + 0x68], 0
je 0x18007b45c
cmp dword [rsp + 0x60], 0
je 0x18007b45c
cmp dword [rsp + 0x6c], 0
je 0x18007b45c
inc r12d
cmp r12d, 0xdf
jb 0x18007a920
mov r12d, dword [rbp - 0x5c]
jmp 0x18007abb2
mov eax, dword [rbp - 0x60]
neg eax
and eax, 3
mov dword [rbp - 0x34], eax
cmp r14d, 0x18
jne 0x18007ab03
mov dword [rbp - 0x80], 1
jmp case.default.0x18007a59e
cmp r14d, 0x20
jne case.default.0x18007a59e
cmp dword [rsp + 0x6c], 0xff
jne case.default.0x18007a59e
cmp dword [rsp + 0x60], 0xff00
jne case.default.0x18007a59e
cmp dword [rsp + 0x68], 0xff0000
jne case.default.0x18007a59e
cmp dword [rbp - 0x78], 0xff000000
jne case.default.0x18007a59e
mov dword [rbp - 0x80], 2
jmp case.default.0x18007a59e
mov dword [rbp - 0x1c], ebx
mov dword [rbp - 0x30], ebx
mov dword [rbp - 0x2c], ebx
mov dword [rbp - 0x28], ebx
jmp case.default.0x18007a59e
mov eax, dword [rbp - 0x4c]
lea rdx, [rsp + 0x48]
sub eax, dword [rsp + 0x64]
xor r9d, r9d
mov qword [rsp + 0x28], r8
sub eax, 0xe
xor r8d, r8d
mov dword [rsp + 0x48], eax
mov ecx, 0x10e
mov qword [rsp + 0x20], rbx
call fcn.180079080
cmp r14d, 0x18
jne 0x18007ab9a
mov r8, qword [rsp + 0x40]
mov eax, dword [r8]
lea eax, [rax + rax*2]
mov dword [rbp - 0x60], eax
jmp 0x18007abb7
cmp r14d, 0x10
jne 0x18007abaf
mov r8, qword [rsp + 0x40]
mov eax, dword [r8]
add eax, eax
mov dword [rbp - 0x60], eax
jmp 0x18007abb7
mov dword [rbp - 0x60], ebx
mov r8, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
inc r12d
inc r13d
mov dword [rbp - 0x5c], r12d
mov dword [rsp + 0x70], r13d
cmp r12d, 0xae
jb 0x18007a580
cmp dword [rbp], 0
je 0x18007b114
mov r8d, dword [r8 + 4]
mov r11d, ebx
test r8d, 0xfffffffe
jle 0x18007b10f
mov r15, qword [rsp + 0x50]
mov r12, qword [rsp + 0x40]
mov r13d, dword [rbp - 0x58]
nop dword [rax]
nop dword [rax + rax]
mov edx, dword [r12]
sub r8d, r11d
dec r8d
imul edx, r13d
imul r8d, dword [r12]
mov r9d, ebx
mov r10d, edx
imul r8d, r13d
imul r10d, r11d
mov eax, r8d
add r8, r15
test edx, edx
jle 0x18007ac64
sub r10, rax
nop
movzx eax, byte [r8]
inc r9d
movzx ecx, byte [r8 + r10]
mov byte [r8 + r10], al
mov byte [r8], cl
lea r8, [r8 + 1]
mov eax, dword [r12]
imul eax, r13d
cmp r9d, eax
jl 0x18007ac40
mov r8d, dword [r12 + 4]
inc r11d
mov eax, r8d
sar eax, 1
cmp r11d, eax
jl 0x18007ac10
mov r15, qword [rbp - 8]
mov r8, r12
jmp 0x18007b114
mov qword [r8 + 0x38], r12
jmp case.0x180079f6f.94
mov r9, r8
mov qword [rsp + 0x28], rbx
xor r8d, r8d
mov dword [rsp + 0x20], 0x91
xor edx, edx
xor ecx, ecx
call fcn.180086b80
mov r12, qword [rsp + 0x40]
xor r8d, r8d
mov r9, r12
mov qword [rsp + 0x28], rbx
xor edx, edx
mov dword [rsp + 0x20], 0x91
xor ecx, ecx
call fcn.180086b80
mov edx, 0x93
mov rcx, r12
call fcn.18004a950
mov edx, 0x93
mov dword [rbp - 0x4c], eax
mov rcx, r12
call fcn.18004a950
mov dword [rsp + 0x64], eax
mov r8, r12
jmp 0x18007b114
mov r12d, dword [rsp + 0x64]
cmp r12d, 0xc
jne 0x18007ad22
cmp r14d, 0x18
jge 0x18007b0d0
mov ecx, dword [rbp - 0x4c]
mov eax, 0x55555556
add ecx, 0xffffffda
imul ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [rbp - 0x7c], ecx
jmp 0x18007b0d0
mov r13d, 0x94
mov dword [rsp + 0x70], r13d
nop dword [rax]
mov eax, r13d
sub eax, 0x94
je 0x18007b096
sub eax, 0x13
je 0x18007b053
cmp eax, 0x13
jne 0x18007b0b6
mov edx, 0x93
mov rcx, r8
call fcn.18004a950
cmp r12d, 0x28
je 0x18007aec5
mov rbx, qword [rsp + 0x40]
cmp r12d, 0x38
je 0x18007ae8b
mov r13d, 0x11a
nop dword [rax]
mov eax, r13d
sub eax, 0x11a
je 0x18007ae4d
sub eax, 1
je 0x18007ae2a
sub eax, 1
je 0x18007adf8
cmp eax, 1
jne 0x18007ae6f
cmp r12d, 0x7c
jne 0x18007ae6f
mov r12d, 0xad
mov eax, r12d
sub eax, 0xab
je 0x18007add8
sub eax, 1
je 0x18007adcb
cmp eax, 1
je 0x18007add8
jmp 0x18007ade5
mov edx, 0x93
mov rcx, rbx
call fcn.18004a950
mov edx, 0x93
mov rcx, rbx
call fcn.18004a950
dec r12d
cmp r12d, 0xaa
ja 0x18007adb5
mov r12d, dword [rsp + 0x64]
jmp 0x18007ae6f
mov edx, 0x93
mov rcx, rbx
call fcn.18004a950
mov r12d, 0xc
nop dword [rax + rax]
mov edx, 0x93
mov rcx, rbx
call fcn.18004a950
sub r12, 1
jne 0x18007ae10
mov r12d, dword [rsp + 0x64]
jmp 0x18007ae6f
mov edx, 0x93
mov rcx, rbx
call fcn.18004a950
mov edx, 0x93
mov dword [rsp + 0x6c], eax
mov rcx, rbx
call fcn.18004a950
mov dword [rbp - 0x78], eax
jmp 0x18007ae6f
mov edx, 0x93
mov rcx, rbx
call fcn.18004a950
mov edx, 0x93
mov dword [rsp + 0x68], eax
mov rcx, rbx
call fcn.18004a950
mov dword [rsp + 0x60], eax
inc r13d
cmp r13d, 0x11e
jb 0x18007ad80
mov r13d, dword [rsp + 0x70]
xor ebx, ebx
jmp 0x18007b037
mov r12d, 0x2d
mov eax, r12d
sub eax, 0x2a
je 0x18007aea8
sub eax, 1
je 0x18007aea8
sub eax, 1
je 0x18007aea8
cmp eax, 1
jne 0x18007aeb5
mov edx, 0x93
mov rcx, rbx
call fcn.18004a950
dec r12d
cmp r12d, 0x29
ja 0x18007ae91
mov r12d, dword [rsp + 0x64]
xor ebx, ebx
lea eax, [r14 - 0x10]
test eax, 0xffffffef
jne 0x18007b037
mov eax, dword [rbp - 0x20]
mov r9d, ebx
mov dword [rsp + 0x6c], ebx
mov edx, ebx
mov dword [rsp + 0x60], ebx
mov r8d, ebx
mov dword [rsp + 0x68], ebx
test eax, eax
jne 0x18007af51
cmp r14d, 0x20
jne 0x18007af34
mov ecx, 0x5d
nop word [rax + rax]
cmp ecx, 0x5d
jne 0x18007af28
mov r8d, 0xff0000
mov dword [rsp + 0x6c], 0xff
mov edx, 0xff00
mov dword [rsp + 0x68], r8d
mov dword [rsp + 0x60], edx
mov dword [rbp - 0x78], 0xff000000
inc ecx
cmp ecx, 0x5f
jb 0x18007af00
jmp 0x18007b0b1
mov dword [rsp + 0x68], 0x7c00
mov dword [rsp + 0x60], 0x3e0
mov dword [rsp + 0x6c], 0x1f
jmp 0x18007b037
cmp eax, 3
jne 0x18007b527
mov r12d, 0xac
cmp r12d, 0xac
je 0x18007b004
cmp r12d, 0x25a0
je 0x18007afd4
cmp r12d, 0x4a94
jne 0x18007b023
cmp r8d, edx
jne 0x18007b023
cmp edx, r9d
jne 0x18007b023
mov eax, 0xca
nop word [rax + rax]
mov ecx, eax
sub ecx, 0x2f
je 0x18007b608
sub ecx, 0x9b
je 0x18007b311
cmp ecx, 0xb
je 0x18007b2fc
add eax, 0x71a
cmp eax, 0x154e
jbe 0x18007afa0
mov rax, rbx
jmp 0x18007b610
mov rcx, qword [rsp + 0x40]
mov edx, 0x93
call fcn.18004a950
mov rcx, qword [rsp + 0x40]
mov edx, 0x93
mov dword [rsp + 0x60], eax
call fcn.18004a950
mov r8d, dword [rsp + 0x68]
mov r9d, eax
mov dword [rsp + 0x6c], eax
jmp 0x18007b01f
mov rcx, qword [rsp + 0x40]
mov edx, 0x93
call fcn.18004a950
mov r9d, dword [rsp + 0x6c]
mov r8d, eax
mov dword [rsp + 0x68], eax
mov edx, dword [rsp + 0x60]
add r12d, 0x24f4
cmp r12d, 0x6edc
jbe 0x18007af60
mov r12d, dword [rsp + 0x64]
cmp r14d, 0x10
jge 0x18007b0b1
mov eax, dword [rbp - 0x4c]
sub eax, r12d
sub eax, 0xe
sar eax, 2
mov dword [rbp - 0x7c], eax
jmp 0x18007b0b1
mov edx, 0x93
mov rcx, r8
call fcn.18004a950
mov r12, qword [rsp + 0x40]
mov edx, 0x93
mov rcx, r12
call fcn.18004a950
mov edx, 0x93
mov rcx, r12
call fcn.18004a950
mov edx, 0x93
mov rcx, r12
call fcn.18004a950
mov r8, r12
mov r12d, dword [rsp + 0x64]
jmp 0x18007b0b6
mov edx, 0x93
mov rcx, r8
call fcn.18004a950
mov dword [rbp - 0x20], eax
dec eax
cmp eax, 1
jbe 0x18007b564
mov r8, qword [rsp + 0x40]
add r13d, 0x13
mov dword [rsp + 0x70], r13d
cmp r13d, 0xcd
jb 0x18007ad30
mov r10, qword [rbp + 0x30]
mov eax, dword [r8 + 4]
mov ecx, ebx
cmp dword [rbp - 0x78], 0
setne cl
add ecx, 3
mov dword [r8 + 8], ecx
cmp dword [r10], 3
cmovge ecx, dword [r10]
imul eax, dword [r8]
xor r8d, r8d
mov dword [rbp - 0x58], ecx
lea edx, [r8 + 0x59]
imul eax, ecx
lea rcx, [rbp + 0x38]
mov qword [rbp + 0x38], rax
call fcn.18008a600
mov qword [rsp + 0x50], rax
mov r8, qword [rsp + 0x40]
mov r12, qword [rbp - 0x40]
mov edx, dword [rbp + 0x4d8]
dec edx
mov dword [rbp + 0x4d8], edx
cmp edx, dword [rbp - 0x38]
jbe case.0x180079f6f.96
mov r9, qword [rbp + 0x40]
mov r10, qword [rbp + 0x30]
mov r11, qword [rbp + 0x28]
jmp 0x180079f51
mov ecx, dword [r10]
test ecx, ecx
je 0x18007b1a8
mov r13d, dword [rbp - 0x58]
cmp ecx, r13d
je 0x18007b1a8
mov eax, dword [r8 + 4]
lea rdx, [rbp + 0x10]
mov r9, qword [rsp + 0x50]
mov dword [rbp + 0x20], eax
mov eax, dword [r8]
mov r8d, 0xc4
mov dword [rbp + 0x18], eax
lea rax, [rbp + 8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x20]
mov dword [rbp + 0x10], ecx
lea rcx, [rbp + 0x18]
mov qword [rsp + 0x20], rax
mov dword [rbp + 8], r13d
call fcn.180083be0
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x18007b608
mov r8, qword [rsp + 0x40]
mov edx, dword [rbp + 0x4d8]
mov eax, dword [r8]
mov dword [r12], eax
jmp case.0x180079f6f.94
mov r15, qword [rsp + 0x50]
mov qword [rbp - 8], r15
jmp case.0x180079f6f.94
mov r12d, dword [rsp + 0x64]
cmp r12d, 0xc
je 0x18007b215
cmp r12d, 0x28
je 0x18007b1e9
cmp r12d, 0x38
je 0x18007b1e9
cmp r12d, 0x6c
je 0x18007b1e9
cmp r12d, 0x7c
jne 0x18007b5be
mov edx, 0x93
mov rcx, r8
call fcn.18004a950
mov rcx, qword [rsp + 0x40]
mov edx, 0x93
mov dword [rcx], eax
call fcn.18004a950
mov r8, qword [rsp + 0x40]
mov dword [r8 + 4], eax
jmp 0x18007b114
mov r9, r8
mov qword [rsp + 0x28], rbx
xor r8d, r8d
mov dword [rsp + 0x20], 0x91
xor edx, edx
xor ecx, ecx
call fcn.180086b80
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov r9, rcx
mov qword [rsp + 0x28], rbx
xor edx, edx
mov dword [rsp + 0x20], 0x91
mov dword [rcx], eax
xor ecx, ecx
call fcn.180086b80
mov r8, qword [rsp + 0x40]
mov dword [r8 + 4], eax
jmp 0x18007b114
mov eax, 0xca
nop word [rax + rax]
mov ecx, eax
sub ecx, 0x2f
je 0x18007b608
sub ecx, 0x9b
je 0x18007b2b1
cmp ecx, 0xb
je 0x18007b29c
add eax, 0x71a
cmp eax, 0x154e
jbe 0x18007b270
mov rax, rbx
jmp 0x18007b610
lea rcx, str.usBitDepth
call qword [sym.imp.OPENGL32.dll_wglGetProcAddress]
mov rax, rbx
jmp 0x18007b610
lea rax, str.usBitDepth
mov qword [0x1800bfc20], rax
mov rax, rbx
jmp 0x18007b610
mov eax, 0xca
nop dword [rax]
mov ecx, eax
sub ecx, 0x2f
je 0x18007b608
sub ecx, 0x9b
je 0x18007b311
cmp ecx, 0xb
je 0x18007b2fc
add eax, 0x71a
cmp eax, 0x154e
jbe 0x18007b2d0
mov rax, rbx
jmp 0x18007b610
lea rcx, str.bad_BMP
call qword [sym.imp.OPENGL32.dll_wglGetProcAddress]
mov rax, rbx
jmp 0x18007b610
lea rax, str.bad_BMP
mov qword [0x1800bfc20], rax
mov rax, rbx
jmp 0x18007b610
mov eax, 0xca
nop dword [rax]
mov ecx, eax
sub ecx, 0x2f
je 0x18007b608
sub ecx, 0x9b
je 0x18007b371
cmp ecx, 0xb
je 0x18007b35c
add eax, 0x71a
cmp eax, 0x154e
jbe 0x18007b330
mov rax, rbx
jmp 0x18007b610
lea rcx, str.not_BMP
call qword [sym.imp.OPENGL32.dll_wglGetProcAddress]
mov rax, rbx
jmp 0x18007b610
lea rax, str.not_BMP
mov qword [0x1800bfc20], rax
mov rax, rbx
jmp 0x18007b610
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0xca
nop word [rax + rax]
mov ecx, eax
sub ecx, 0x2f
je 0x18007b608
sub ecx, 0x9b
je 0x18007b3e1
cmp ecx, 0xb
je 0x18007b3cc
add eax, 0x71a
cmp eax, 0x154e
jbe 0x18007b3a0
mov rax, rbx
jmp 0x18007b610
lea rcx, str.bad_bpp
call qword [sym.imp.OPENGL32.dll_wglGetProcAddress]
mov rax, rbx
jmp 0x18007b610
lea rax, str.bad_bpp
mov qword [0x1800bfc20], rax
mov rax, rbx
jmp 0x18007b610
mov rcx, r10
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0xca
mov ecx, eax
sub ecx, 0x2f
je 0x18007b608
sub ecx, 0x9b
je 0x18007b446
cmp ecx, 0xb
je 0x18007b431
add eax, 0x71a
cmp eax, 0x154e
jbe 0x18007b405
mov rax, rbx
jmp 0x18007b610
lea rcx, str.invalid
call qword [sym.imp.OPENGL32.dll_wglGetProcAddress]
mov rax, rbx
jmp 0x18007b610
lea rax, str.invalid
mov qword [0x1800bfc20], rax
mov rax, rbx
jmp 0x18007b610
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0xca
nop dword [rax]
mov ecx, eax
sub ecx, 0x2f
je 0x18007b608
sub ecx, 0x9b
je 0x18007b4b1
cmp ecx, 0xb
je 0x18007b49c
add eax, 0x71a
cmp eax, 0x154e
jbe 0x18007b470
mov rax, rbx
jmp 0x18007b610
lea rcx, str.bad_masks
call qword [sym.imp.OPENGL32.dll_wglGetProcAddress]
mov rax, rbx
jmp 0x18007b610
lea rax, str.bad_masks
mov qword [0x1800bfc20], rax
mov rax, rbx
jmp 0x18007b610
mov eax, 0xca
nop dword [rax]
mov ecx, eax
sub ecx, 0x2f
je 0x18007b608
sub ecx, 0x9b
je 0x18007b511
cmp ecx, 0xb
je 0x18007b4fc
add eax, 0x71a
cmp eax, 0x154e
jbe 0x18007b4d0
mov rax, rbx
jmp 0x18007b610
lea rcx, str.outofmem
call qword [sym.imp.OPENGL32.dll_wglGetProcAddress]
mov rax, rbx
jmp 0x18007b610
lea rax, str.outofmem
mov qword [0x1800bfc20], rax
mov rax, rbx
jmp 0x18007b610
mov eax, 0xca
nop dword [rax]
mov ecx, eax
sub ecx, 0x2f
je 0x18007b608
sub ecx, 0x9b
je 0x18007b311
cmp ecx, 0xb
je 0x18007b2fc
add eax, 0x71a
cmp eax, 0x154e
jbe 0x18007b530
mov rax, rbx
jmp 0x18007b610
mov eax, 0xca
nop dword [rax]
mov ecx, eax
sub ecx, 0x2f
je 0x18007b608
sub ecx, 0x9b
je 0x18007b5ab
cmp ecx, 0xb
je 0x18007b599
add eax, 0x71a
cmp eax, 0x154e
jbe 0x18007b570
mov rax, rbx
jmp 0x18007b610
lea rcx, str.BMP_RLE
call qword [sym.imp.OPENGL32.dll_wglGetProcAddress]
mov rax, rbx
jmp 0x18007b610
lea rax, str.BMP_RLE
mov qword [0x1800bfc20], rax
mov rax, rbx
jmp 0x18007b610
mov eax, 0xca
mov ecx, eax
sub ecx, 0x2f
je 0x18007b608
sub ecx, 0x9b
je 0x18007b5fa
cmp ecx, 0xb
je 0x18007b5e8
add eax, 0x71a
cmp eax, 0x154e
jbe 0x18007b5c3
mov rax, rbx
jmp 0x18007b610
lea rcx, str.FCVTAUv2f32
call qword [sym.imp.OPENGL32.dll_wglGetProcAddress]
mov rax, rbx
jmp 0x18007b610
lea rax, str.FCVTAUv2f32
mov qword [0x1800bfc20], rax
mov rax, rbx
jmp 0x18007b610
mov rax, r15
mov rcx, qword [rbp + 0x450]
xor rcx, rsp
call fcn.1800938b0
add rsp, 0x568
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret