Function at 0x180047350
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
imul eax, r9d, 0x42f
mov r10, rdx
mov edx, r9d
mov r14, r8
mov dword [rbp - 0x28], edx
mov dword [rbp - 0x20], eax
cmp r9d, eax
ja 0x1800478f4
mov r15, qword [rbp - 0x10]
xor esi, esi
mov r13d, dword [rbp + 0x58]
lea rbx, [0x180000000]
cmp edx, 0x66de
ja 0x18004756e
je 0x18004753b
mov eax, edx
sub eax, 0xab
je 0x18004750a
sub eax, 0x10
je 0x1800473de
cmp eax, 0x23
jne 0x180047877
mov r15, rsi
mov r13d, esi
jmp 0x180047877
mov rcx, qword [r14]
cmp dword [rcx + 0x24], 0xcc
je 0x180047410
mov rax, qword [rcx + 0x258]
call qword [rax]
mov rax, qword [r14]
mov edx, dword [rbp - 0x28]
mov r9d, dword [rbp + 0x58]
mov dword [rax + 0xa8], esi
mov rax, qword [r14]
mov dword [rax + 0x24], 0xcc
mov rcx, qword [r14]
mov rax, qword [rcx + 0x258]
cmp dword [rax + 0x10], 0
je 0x180047873
mov edi, 0xc1
mov eax, edi
sub eax, 0xc1
je 0x18004745c
sub eax, 0x6c
je 0x18004744b
cmp eax, 0x6c
jne 0x1800474e2
mov rax, qword [r14]
mov dword [rax + 0xa8], esi
jmp 0x1800474e2
mov rcx, qword [r14]
mov rax, qword [rcx + 0x258]
call qword [rax]
jmp 0x1800474e2
mov rax, qword [r14]
mov rdx, rax
mov ecx, dword [rax + 0xa8]
cmp ecx, dword [rax + 0x8c]
jae 0x1800474d5
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x180047498
mov dword [rdx + 8], ecx
mov rax, qword [r14]
mov rcx, qword [rax + 0x10]
mov eax, dword [rax + 0x8c]
mov dword [rcx + 0xc], eax
mov rcx, qword [r14]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rax, qword [r14]
mov r10, qword [rax + 0x260]
lea r8, [rax + 0xa8]
mov ebx, dword [r8]
xor r9d, r9d
xor edx, edx
mov rcx, rax
call qword [r10 + OleUIPromptUserA]
mov rax, qword [r14]
cmp dword [rax + 0xa8], ebx
je 0x1800478d0
mov ecx, dword [rax + 0xa8]
mov rdx, rax
cmp ecx, dword [rax + 0x8c]
jb 0x180047470
mov rax, qword [rdx + 0x258]
mov rcx, rdx
call qword [rax + OleUIPromptUserA]
add edi, 0x6c
cmp edi, 0x205
jb 0x180047426
mov rax, qword [r14]
mov rcx, qword [rax + 0x258]
cmp dword [rcx + 0x10], 0
jne 0x180047421
jmp 0x18004786c
mov rax, qword [r14]
mov rax, qword [rax + 0x1e0]
sub rax, 0xffffffffffffff80
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + 0x58]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax]
movsx ecx, word [rax]
mov eax, dword [rdx]
imul eax, ecx
mov dword [rbp - 0x24], eax
jmp 0x180047870
mov rax, qword [r10]
mov r9d, dword [rbp - 0x24]
mov edx, dword [rcx]
add r9d, 4
sar r9d, 3
mov rcx, qword [rax]
mov r8d, r9d
mov rax, qword [rbp - 0x10]
and r8d, 0x3ff
mov dword [rbp - 0x24], r9d
movzx eax, byte [r8 + rax]
mov byte [rdx + rcx], al
jmp 0x18004786c
cmp edx, 0x707e
je 0x1800478d5
cmp edx, 0x858c
je 0x180047593
cmp edx, 0x10a3a
je 0x1800478f4
jmp 0x180047877
mov r12, 0xffffffffffffffff
nop word [rax + rax]
inc r12
cmp byte [r14 + r12], 0
jne 0x1800475a0
lea rdx, [rbp - 0x18]
mov qword [rbp - 0x18], r12
mov ecx, 0x7d
call fcn.180036d40
mov rsi, rax
cmp r15, r12
jae 0x180047846
mov dword [rbp - 0x28], 0x858c
nop
movsx ecx, byte [r15 + r14]
add ecx, 0xfffffff7
cmp ecx, 0x74
ja case.0x1800475f6.15
movsxd rcx, ecx
movzx eax, byte [rbx + rcx + 0x4792c]
mov ecx, dword [rbx + rax*4 + 0x47910]
add rcx, rbx
jmp rcx
mov edi, 4
nop dword [rax]
mov eax, edi
sub eax, 4
je 0x18004766d
sub eax, 1
je 0x180047621
sub eax, 1
je 0x18004761c
cmp eax, 1
je 0x180047836
jmp 0x180047670
inc r15
jmp 0x180047670
mov r9d, 0xae
mov qword [rbp - 0x18], 2
lea r8, [0x1800aefc0]
mov rdx, rsi
lea rcx, [rbp - 0x18]
call fcn.180024b20
test r13d, r13d
je 0x180047670
mov ebx, r13d
nop word [rax + rax]
mov r8, rsi
mov byte [rbp - 0x30], 9
mov edx, 0xb5
lea rcx, [rbp - 0x30]
call fcn.18005fbe0
sub rbx, 1
jne 0x180047650
jmp 0x180047670
inc r13d
inc edi
cmp edi, 8
jb 0x180047600
mov edi, 0x1b
nop dword [rax]
mov eax, edi
sub eax, 0x19
je case.0x1800475f6.9
sub eax, 1
je 0x18004769e
cmp eax, 1
jne 0x1800476e0
dec r13d
mov byte [rbp - 0x30], 0xa
jmp 0x1800476cf
test r13d, r13d
je 0x1800476cb
mov ebx, r13d
nop word [rax + rax]
mov r8, rsi
mov byte [rbp - 0x30], 9
mov edx, 0xb5
lea rcx, [rbp - 0x30]
call fcn.18005fbe0
sub rbx, 1
jne 0x1800476b0
mov byte [rbp - 0x30], 0x7d
mov r8, rsi
lea rcx, [rbp - 0x30]
mov edx, 0xb5
call fcn.18005fbe0
dec edi
cmp edi, 0x18
ja 0x180047680
mov r9d, 0xae
mov qword [rbp - 0x18], 2
lea r8, [0x1800a9f34]
mov rdx, rsi
lea rcx, [rbp - 0x18]
call fcn.180024b20
jmp case.0x1800475f6.9
mov edi, 0xbd
cmp edi, 0xbd
je 0x180047728
cmp edi, 0x8dc
je 0x180047836
jmp 0x18004777e
mov r9d, 0xae
mov qword [rbp - 0x18], 2
lea r8, [0x1800aefc4]
mov rdx, rsi
lea rcx, [rbp - 0x18]
call fcn.180024b20
test r13d, r13d
je 0x18004777b
mov ebx, r13d
nop dword [rax]
nop word [rax + rax]
mov r8, rsi
mov byte [rbp - 0x30], 9
mov edx, 0xb5
lea rcx, [rbp - 0x30]
call fcn.18005fbe0
sub rbx, 1
jne 0x180047760
inc r15
add edi, 0x81f
cmp edi, 0x103e
jbe 0x180047712
mov ebx, 0x20
cmp ebx, 0x20
je 0x1800477ef
cmp ebx, 0xcb
jne 0x180047808
inc r15
mov bl, 1
movzx eax, byte [r15 + r14]
cmp al, 0x5c
jne 0x180047891
mov r8, rsi
mov byte [rbp - 0x30], al
mov edx, 0xb5
lea rcx, [rbp - 0x30]
call fcn.18005fbe0
inc r15
cmp byte [r15 + r14], 0x22
jne 0x18004789e
mov r8, rsi
mov byte [rbp - 0x30], 0x22
mov edx, 0xb5
lea rcx, [rbp - 0x30]
call fcn.18005fbe0
inc r15
jmp 0x18004789e
movzx eax, byte [r15 + r14]
lea rcx, [rbp - 0x30]
mov r8, rsi
mov byte [rbp - 0x30], al
mov edx, 0xb5
call fcn.18005fbe0
add ebx, 0xab
cmp ebx, 0x176
jb 0x180047791
movzx eax, byte [r15 + r14]
lea rcx, [rbp - 0x30]
mov r8, rsi
mov byte [rbp - 0x30], al
mov edx, 0xb5
call fcn.18005fbe0
inc r15
cmp r15, r12
lea rbx, [0x180000000]
jb 0x1800475d0
mov qword [rsp + 0x28], 0
xor r9d, r9d
mov r8, rsi
mov dword [rsp + 0x20], 0xaa
xor edx, edx
xor ecx, ecx
call fcn.1800120c0
mov qword [rbp - 0x18], rax
xor esi, esi
mov r9d, dword [rbp + 0x58]
mov edx, dword [rbp - 0x28]
mov rcx, qword [rbp + 0x40]
imul eax, r9d, 0x99
add edx, eax
mov dword [rbp - 0x28], edx
cmp edx, dword [rbp - 0x20]
ja 0x1800478f4
mov r10, qword [rbp + 0x48]
jmp 0x18004739f
cmp al, 0x22
movzx ebx, bl
mov eax, 0
cmove ebx, eax
movzx eax, byte [r15 + r14]
lea rcx, [rbp - 0x30]
mov r8, rsi
mov byte [rbp - 0x30], al
mov edx, 0xb5
call fcn.18005fbe0
inc r15
cmp r15, r12
jae 0x180047839
test bl, bl
jne 0x1800477a3
jmp 0x180047836
mov dword [rbp - 0x18], esi
jmp 0x1800478f4
mov rax, qword [r14]
mov ecx, 0
mov dword [rbp - 0x18], 1
cmp dword [rax + 0x5c], 0
setne cl
add ecx, 0xcd
mov dword [rax + 0x24], ecx
mov rax, qword [rbp - 0x18]
mov rbx, qword [rsp + 0xb0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret