Function at 0x18004a6d0
Capabilities:
Load assembly via iassembly

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd8
mov ebx, dword [rsp + 0x130]
mov r13d, r8d
add r8d, 0x39b
mov r12, r9
mov dword [rsp + 0x40], r8d
cmp r13d, r8d
jae case.0x18004a766.95
mov r15, qword [rsp + 0x50]
mov dword [rsp + 0x5c], ebx
lea r9, str.va_alist
lea r10, [0x180000000]
cmp r13d, 0x11b
ja 0x18004abf5
je 0x18004ab80
lea eax, [r13 - 0x5c]
cmp eax, 0x86
ja case.0x18004a766.98
movzx eax, byte [r10 + rax + 0x4b314]
mov ecx, dword [r10 + rax*4 + 0x4b2f8]
add rcx, r10
jmp rcx
xor ebx, ebx
mov dword [rsp + 0x5c], ebx
jmp case.0x18004a766.98
xor ecx, ecx
mov dword [rsp + 0x58], 2
mov qword [rsp + 0x90], rcx
mov rcx, r12
nop dword [rax + rax]
movzx eax, byte [rcx]
inc rcx
cmp al, 0x28
jne 0x18004a790
mov qword [rsp + 0xc8], rcx
mov r13d, 0x8d
jmp case.0x18004a766.98
mov rax, qword [rsp + 0x60]
lea rdx, [rsp + 0x98]
mov ecx, 0x9b
inc dword [rax + 0x10]
mov rax, qword [r12]
mov qword [rsp + 0x98], rax
call fcn.180041000
jmp 0x18004ab3c
mov r8, qword [rsp + 0x138]
mov rax, qword [r8]
mov r9, qword [rax + 0x200]
mov edi, dword [rax + 0x1a0]
mov ecx, dword [rax + 0x178]
dec edi
dec ecx
mov qword [rsp + 0x60], r9
mov esi, dword [r9 + 0x18]
mov dword [rsp + 0xa4], edi
mov dword [rsp + 0xa0], ecx
mov dword [rsp + 0x74], esi
cmp esi, dword [r9 + 0x1c]
jge 0x18004ab34
mov r13d, dword [r9 + 0x14]
cmp r13d, edi
ja 0x18004ab11
nop dword [rax]
mov rcx, qword [r8]
xor r12d, r12d
mov dword [rsp + 0x7c], r12d
cmp dword [rcx + 0x17c], r12d
jle 0x18004aab7
mov ebx, dword [rsp + 0xa0]
mov edx, 0x180
mov r15d, dword [rsp + 0x44]
mov qword [rsp + 0x98], rdx
mov ebp, 0xd7
nop word [rax + rax]
cmp ebp, 0xd7
je 0x18004aa3a
cmp ebp, 0x15b
jne 0x18004aa77
mov r11, qword [rsp + 0x80]
xor r14d, r14d
cmp dword [r11 + 0x38], r14d
jle 0x18004aa77
mov ecx, dword [r11 + 0x34]
movsxd rdi, r12d
cmp dword [r9 + 0x10], ebx
jb 0x18004a924
lea eax, [r14 + rsi]
cmp eax, dword [r11 + 0x48]
jl 0x18004a924
lea rsi, [r9 + 0x20]
movsxd rax, ecx
mov r8, qword [rsi + rdi*8]
lea rsi, [rsi + rdi*8]
shl rax, 7
lea rdx, [rsp + 0xb8]
mov qword [rsp + 0xb8], rax
call fcn.180017200
mov r11, qword [rsp + 0x80]
xor edx, edx
mov r9, qword [rsp + 0x60]
mov ecx, dword [r11 + 0x34]
test ecx, ecx
jle 0x18004a91b
lea r8, [r9 + rdi*8]
nop word [rax + rax]
mov rcx, qword [rsi]
lea rsi, [rsi + 8]
mov rax, qword [r8 + 0x18]
inc edx
movzx eax, word [rax]
mov word [rcx], ax
mov ecx, dword [r11 + 0x34]
cmp edx, ecx
jl 0x18004a900
mov esi, dword [rsp + 0x74]
jmp 0x18004aa02
mov rcx, qword [r8]
mov rdx, qword [rsp + 0x140]
movsxd rax, dword [r11 + 4]
mov r9, qword [r9 + rdi*8 + 0x20]
mov r10, qword [rcx + 0x220]
mov r8, qword [rdx]
mov edx, dword [rsp + 0xa8]
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], edx
mov edx, dword [rsp + 0x70]
mov r8, qword [r8 + rax*8]
mov dword [rsp + 0x20], edx
mov rdx, r11
call qword [r10 + OleUIPromptUserA]
mov r11, qword [rsp + 0x80]
mov edx, dword [rsp + 0x44]
mov ecx, dword [r11 + 0x34]
cmp edx, ecx
jge 0x18004aa30
sub ecx, edx
movsxd rax, ecx
shl rax, 7
mov qword [rsp + 0xb8], rax
lea eax, [rdx + r12]
mov rdx, qword [rsp + 0x60]
movsxd r8, eax
mov r8, qword [rdx + r8*8 + 0x20]
lea rdx, [rsp + 0xb8]
call fcn.180017200
movsxd rdx, dword [rsp + 0x44]
mov r11, qword [rsp + 0x80]
mov r8d, edx
mov r9, qword [rsp + 0x60]
mov ecx, dword [r11 + 0x34]
cmp edx, ecx
jge 0x18004a9fd
add rdx, 4
add rdx, rdi
lea rdx, [r9 + rdx*8]
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rdx - 8]
inc r8d
mov rcx, qword [rdx]
lea rdx, [rdx + 8]
movzx eax, word [rax]
mov word [rcx], ax
mov ecx, dword [r11 + 0x34]
cmp r8d, ecx
jl 0x18004a9e0
mov r15d, dword [rsp + 0x44]
add dword [rsp + 0x70], 8
add r12d, ecx
mov r8, qword [rsp + 0x138]
inc r14d
cmp r14d, dword [r11 + 0x38]
jl 0x18004a8a1
mov rdx, qword [rsp + 0x98]
mov edi, dword [rsp + 0xa4]
jmp 0x18004aa77
mov r9, qword [rsp + 0x60]
mov r15d, edx
jmp 0x18004aa02
mov rax, qword [r8]
mov r11, qword [rdx + rax]
mov qword [rsp + 0x80], r11
cmp r13d, edi
jae 0x18004aa54
mov r15d, dword [r11 + 0x34]
jmp 0x18004aa58
mov r15d, dword [r11 + 0x44]
mov eax, dword [r11 + 0x40]
imul eax, r13d
mov dword [rsp + 0x44], r15d
mov dword [rsp + 0xa8], eax
lea eax, [rsi*8]
mov dword [rsp + 0x70], eax
add ebp, 0x84
cmp ebp, 0x1df
jb 0x18004a870
mov eax, dword [rsp + 0x7c]
add rdx, 8
mov rcx, qword [r8]
inc eax
mov dword [rsp + 0x7c], eax
mov qword [rsp + 0x98], rdx
cmp eax, dword [rcx + 0x17c]
jl 0x18004a861
mov ebx, dword [rsp + 0x5c]
mov r15, qword [rsp + 0x50]
mov rax, qword [rcx + 0x228]
lea rdx, [r9 + 0x20]
call qword [rax + OleUIPromptUserA]
test eax, eax
jne 0x18004aaf8
mov rdx, qword [rsp + 0x60]
mov ecx, 0x58
mov eax, ecx
sub eax, 0x56
je 0x18004b2df
sub eax, 1
je 0x18004aaed
cmp eax, 1
jne 0x18004aaf1
mov dword [rdx + 0x18], esi
jmp 0x18004aaf1
mov dword [rdx + 0x14], r13d
dec ecx
cmp ecx, 0x55
ja 0x18004aad3
mov r9, qword [rsp + 0x60]
inc r13d
mov r8, qword [rsp + 0x138]
cmp r13d, edi
jbe 0x18004a830
inc esi
mov dword [r9 + 0x14], 0
xor r13d, r13d
mov dword [rsp + 0x74], esi
cmp esi, dword [r9 + 0x1c]
jl 0x18004a823
mov r13d, dword [rsp + 0x130]
mov r12, qword [rsp + 0x138]
mov r8d, dword [rsp + 0x40]
add r13d, 0x47
mov dword [rsp + 0x130], r13d
cmp r13d, r8d
jae case.0x18004a766.95
mov rdx, qword [rsp + 0x128]
jmp 0x18004a722
mov ecx, dword [rsp + 0x58]
mov r15, qword [rsp + 0xc8]
shl rcx, 4
mov qword [rsp + 0x50], r15
call fcn.180081e7c
mov qword [rsp + 0x48], rax
jmp 0x18004ab3c
cmp qword [rsp + 0x48], 0
jne case.0x18004a766.98
mov edi, 0x11d
nop dword [rax]
mov eax, edi
sub eax, 0x11d
je 0x18004abb4
cmp eax, 1
jne 0x18004abe6
mov eax, ebx
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, 2
call fcn.18007711c
mov rcx, rax
lea rdx, str.Unable_to_allocate_break_table__n
call fcn.1800010e0
mov rdx, qword [rsp + 0x140]
mov rcx, r12
call fcn.18007bf6c
mov ebx, 0xffffffff
mov dword [rsp + 0x5c], ebx
inc edi
cmp edi, 0x11f
jb 0x18004ab90
jmp 0x18004ab3c
cmp r13d, 0x1a9
ja 0x18004b2cc
je 0x18004b03a
mov eax, r13d
sub eax, 0x129
je 0x18004b02c
sub eax, 0x39
je 0x18004ac29
cmp eax, 0xe
je case.0x18004a766.95
jmp case.0x18004a766.98
mov r8, qword [rsp + 0x48]
mov eax, dword [rsp + 0x58]
mov r14, r8
mov qword [rsp + 0x68], r8
lea esi, [rax + rax]
lea rsi, [rsi - 2]
lea rsi, [r8 + rsi*8]
nop word [rax + rax]
mov edi, 0x118
cmp edi, 0x29b
ja 0x18004acd1
je 0x18004acc5
cmp edi, 0x118
je 0x18004acb8
cmp edi, 0x199
je 0x18004aca0
cmp edi, 0x21a
jne 0x18004aff6
cmp r14, rsi
jb 0x18004aff6
mov rcx, r8
call fcn.18007c144
shl dword [rsp + 0x58], 1
mov r8d, dword [rsp + 0x40]
mov r13d, 0x8d
jmp case.0x18004a766.98
xor r13d, r13d
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0x88], r13
jmp 0x18004aff6
mov dword [rsp + 0x78], 0
jmp 0x18004aff6
mov qword [r14], r15
add r14, 8
jmp 0x18004aff1
cmp edi, 0x31c
je 0x18004acf2
cmp edi, 0x39d
jne 0x18004aff6
mov rbp, qword [rsp + 0x88]
jmp 0x18004af36
mov rbp, qword [rsp + 0x88]
test rbp, rbp
jne 0x18004adc0
mov r12d, dword [rsp + 0x78]
nop dword [rax + rax]
movsx edx, byte [r15]
sub edx, 0x28
je 0x18004ad85
sub edx, 1
je 0x18004ad5e
sub edx, 3
je 0x18004ad4f
cmp edx, 3
jne 0x18004ad9f
lea r9, [rsp + 0x130]
mov dword [rsp + 0x130], 1
mov r8d, 0xfc
mov rcx, r15
call fcn.180062420
lea r15, [rax - 1]
jmp 0x18004ad9f
test r12d, r12d
mov rax, r15
cmovne rax, rbp
mov rbp, rax
jmp 0x18004ad9f
sub r12d, 1
mov rax, r15
cmovns rax, rbp
test r12d, r12d
mov rbp, rax
mov rax, qword [rsp + 0xc0]
cmovns rax, r15
mov qword [rsp + 0xc0], rax
jmp 0x18004ad9f
test r12d, r12d
mov rax, r15
cmovne rax, qword [rsp + 0xb0]
inc r12d
mov qword [rsp + 0xb0], rax
inc r15
test rbp, rbp
je 0x18004ad10
mov dword [rsp + 0x78], r12d
mov r12, qword [rsp + 0x138]
mov qword [rsp + 0x88], rbp
mov r13, qword [rsp + 0xb0]
test r13, r13
je 0x18004ade4
mov rdx, qword [rsp + 0xc0]
lea rcx, [r13 + 1]
mov r8d, 0x9e
call fcn.180053170
dec r15
nop word [rax + rax]
mov eax, 0x11d
cmp eax, 0x11d
jne 0x18004aec4
lea rcx, [r15 - 1]
mov dword [rsp + 0x130], 0xffffffff
lea r9, [rsp + 0x130]
lea r8d, [rax - 0x21]
call fcn.180062420
mov r15, rax
movzx eax, byte [rax]
cmp al, 0x29
je 0x18004ae32
cmp al, 0x5d
jne 0x18004af22
mov edi, 1
nop word [rax + rax]
movsx eax, byte [r15 - 1]
dec r15
sub eax, 0x28
je 0x18004ae8c
sub eax, 1
je 0x18004ae61
sub eax, 6
je 0x18004ae65
sub eax, 0x2c
je 0x18004ae8c
cmp eax, 2
jne 0x18004ae8e
inc edi
jmp 0x18004ae8e
lea r9, [rsp + 0x130]
mov dword [rsp + 0x130], 0xffffffff
mov r8d, 0xfc
mov rcx, r15
call fcn.180062420
lea r15, [rax + 1]
jmp 0x18004ae8e
dec edi
test edi, edi
jne 0x18004ae40
cmp byte [r15], 0x28
jne 0x18004aebf
lea rcx, [r15 + 1]
mov dword [rsp + 0x130], 1
lea r9, [rsp + 0x130]
mov r8d, 0xfc
call fcn.180062420
cmp byte [rax], 0x2a
je 0x18004aee0
mov eax, 0x11d
add eax, 0x9cf9
cmp eax, 0x139f2
jbe 0x18004adf5
jmp 0x18004adf0
movsx ecx, byte [r15]
cmp ecx, 0x80
jae 0x18004aef5
call fcn.180076bbc
test eax, eax
jne 0x18004af22
cmp byte [r15], 0x5f
je 0x18004af22
lea r9, [rsp + 0x130]
mov dword [rsp + 0x130], 1
mov r8d, 0xfc
mov rcx, r15
call fcn.180062420
lea r15, [rax + 1]
jmp 0x18004aee0
mov rdx, qword [rsp + 0x128]
lea r9, str.va_alist
mov r8, qword [rsp + 0x48]
movzx eax, byte [r15]
mov edi, 0x39d
mov dword [rsp + 0x130], 0x162
cmp al, 0x2e
jne 0x18004afa0
cmp byte [r15 - 1], al
jne 0x18004afa0
cmp byte [r15 - 2], al
lea rcx, [r15 - 2]
jne 0x18004afa0
cmp dword [rdx], 0
je 0x18004af70
mov qword [r14], r9
mov qword [rsp + 0x90], rcx
jmp 0x18004afcd
lea rax, [r8 + 8]
lea rdx, [r15 + 1]
cmp r14, rax
jne 0x18004af82
mov rcx, qword [r8]
jmp 0x18004af89
mov rcx, qword [r14 - 8]
dec rcx
mov r8d, 0x9e
call fcn.180053170
mov rax, 0xfffffffffffffff8
jmp 0x18004afd2
movsx ecx, al
cmp ecx, 0x80
jae 0x18004afb8
call fcn.180076b40
test eax, eax
jne 0x18004afbc
movzx eax, byte [r15]
cmp al, 0x5f
jne 0x18004afc6
movzx eax, byte [r15 - 1]
dec r15
jmp 0x18004afa0
lea rax, [r15 + 1]
mov qword [r14], rax
mov eax, 8
mov r8, qword [rsp + 0x48]
lea r9, str.va_alist
mov rdx, qword [rsp + 0x128]
mov r15, rbp
mov qword [rsp + 0x50], rbp
add r14, rax
mov qword [rsp + 0x68], r14
add edi, 0x81
cmp edi, 0x41e
jb 0x18004ac55
movzx eax, byte [r15]
inc r15
mov qword [rsp + 0x50], r15
cmp al, 0x2c
je 0x18004ac50
mov r13d, dword [rsp + 0x130]
mov qword [r14], r15
jmp 0x18004ab3c
mov ebx, 1
mov dword [rsp + 0x5c], ebx
jmp case.0x18004a766.98
mov rdi, qword [rsp + 0x48]
lea r14, [rdi + 0x10]
cmp qword [rsp + 0x68], r14
jne 0x18004b0db
mov rcx, qword [rdi]
lea r9, [rsp + 0x130]
mov r8d, 0xfc
mov dword [rsp + 0x130], 1
call fcn.180062420
mov r8d, 4
lea rdx, str.void
mov rcx, rax
mov rdi, rax
call fcn.18007b760
test eax, eax
jne 0x18004b0d6
lea rcx, [rdi + 4]
mov dword [rsp + 0x130], 1
lea r9, [rsp + 0x130]
mov r8d, 0xfc
call fcn.180062420
mov rcx, qword [r14]
mov rdi, qword [rsp + 0x48]
dec rcx
cmp rax, rcx
jne 0x18004b0db
mov rcx, qword [rdi]
lea rdx, [rax + 1]
mov r8d, 0x9e
mov qword [rsp + 0x68], rdi
call fcn.180053170
jmp 0x18004b0db
mov rdi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0xc8]
mov r15, r12
mov rsi, qword [rsp + 0x140]
mov qword [rsp + 0x50], r12
cmp r12, rbp
je 0x18004b119
nop dword [rax + rax]
movsx ecx, byte [r15]
mov rdx, rsi
call fcn.180078050
inc r15
cmp r15, rbp
jne 0x18004b100
mov qword [rsp + 0x50], r15
mov rax, qword [rsp + 0x120]
cmp dword [rax], 0
je 0x18004b179
mov rdx, rsi
lea rcx, [0x1800af49c]
call fcn.18007bf6c
mov r15, qword [rdi]
mov qword [rsp + 0x50], r15
movzx eax, byte [r15]
test al, al
je 0x18004ab3c
nop dword [rax]
cmp al, 0xd
je 0x18004b158
cmp al, 0xa
jne 0x18004b163
movsx ecx, al
mov rdx, rsi
call fcn.180078050
movzx eax, byte [r15 + 1]
inc r15
test al, al
jne 0x18004b150
mov qword [rsp + 0x50], r15
jmp 0x18004ab3c
mov ebp, 0x72
nop
cmp ebp, 0x72
jne 0x18004b2b5
mov rax, qword [rsp + 0x68]
add rdi, 8
cmp rdi, rax
jae 0x18004b208
lea rsi, [rax - 8]
nop dword [rax + rax]
mov r15, qword [rdi]
movsx eax, byte [r15]
mov ecx, eax
cmp eax, 0x80
jae 0x18004b1bd
call fcn.180076b40
test eax, eax
jne 0x18004b1c1
movzx eax, byte [r15]
cmp al, 0x5f
jne 0x18004b1d7
movsx ecx, byte [r15]
mov rdx, qword [rsp + 0x140]
call fcn.180078050
inc r15
jmp 0x18004b1a3
mov qword [rsp + 0x50], r15
cmp rdi, rsi
jae 0x18004b1f5
mov rdx, qword [rsp + 0x140]
lea rcx, [0x1800af4a0]
call fcn.18007bf6c
add rdi, 0x10
cmp rdi, qword [rsp + 0x68]
jb 0x18004b1a0
mov rsi, qword [rsp + 0x140]
mov rdx, rsi
lea rcx, [0x1800af4a4]
call fcn.18007bf6c
mov rdi, qword [rsp + 0x68]
mov rcx, r14
cmp r14, rdi
ja 0x18004b240
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rcx]
add rcx, 0x10
mov byte [rax - 1], 0x3b
cmp rcx, rdi
jbe 0x18004b230
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x18004b2a5
mov edi, 0x5c
cmp edi, 0x5c
je 0x18004b275
cmp edi, 0x101
jne 0x18004b290
mov rdx, rsi
lea rcx, str.va_dcl
call fcn.18007bf6c
mov rax, qword [rsp + 0x68]
jmp 0x18004b27d
mov byte [rax], 0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov rdx, rsi
call fcn.18007bf6c
mov rax, qword [rsp + 0x90]
add edi, 0xa5
cmp edi, 0x1a6
jb 0x18004b252
mov rdi, qword [rsp + 0x48]
jmp 0x18004b2b5
mov rdi, qword [rsp + 0x48]
mov rdx, rsi
mov rcx, qword [rdi]
call fcn.18007bf6c
add ebp, 0x3d74
cmp ebp, 0x3d74
jbe 0x18004b180
jmp 0x18004ab3c
mov eax, r13d
sub eax, 0x1f0
je 0x18004b2e6
cmp eax, 0x47
jne case.0x18004a766.98
xor eax, eax
jmp 0x18004aba0
mov rcx, qword [rsp + 0x48]
call fcn.18007c144
jmp 0x18004ab3c