Function at 0x14001b660
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1b0
mov rax, qword [0x140462840]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov rsi, qword [rcx]
lea rax, [rcx + 0x158]
mov rdi, rcx
mov r14, qword [rdi + 8]
mov r10, qword [rsi + 0x10]
mov rbp, qword [rsi]
movsxd rbx, edx
lea r11, [rcx + 0x340]
xor r12d, r12d
mov qword [rsp + 0x70], rcx
add r14, 8
lea r9, [rbx + rbx*4]
shl r9, 4
mov qword [rsp + 0xa8], rax
mov r13, r8
add r11, r9
mov qword [rsp + 0x108], r8
movsxd r8, dword [rdi + 0x54]
movzx eax, byte [r11 + 0x24]
mov r9, qword [r11 + 0x40]
mov dword [rsp + 0x8c], ebx
imul rcx, rax, 0x78
add r14, rcx
mov qword [rsp + 0xe8], rsi
mov r15d, dword [r14 + 0x48]
mov qword [rsp + 0x50], r10
mov qword [rsp + 0xf0], rbp
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x98], r9
mov edx, r12d
mov dword [rsp + 0x44], r15d
mov ecx, r12d
test r8, r8
jle 0x14001b747
lea rax, [rdi + 0x58]
nop word [rax + rax]
cmp dword [rax], r15d
je 0x14001b8e7
inc rcx
inc edx
add rax, 4
cmp rcx, r8
jl 0x14001b730
mov rax, r12
mov edx, 1
not rax
mov ecx, ebx
and rax, r13
mov qword [r11 + 0x48], rax
mov r15, qword [rdi + 0x28]
shr r15, cl
and r15d, 1
test byte [r9 + 0x28], 0x40
mov qword [rsp + 0x80], r15
je 0x14001b782
test byte [rdi + 0x32], 0x20
mov dword [rsp + 0xa0], edx
je 0x14001b78a
mov dword [rsp + 0xa0], r12d
mov rbx, qword [r10 + 0x30]
movsxd rdi, dword [rbx + 0x78]
lea eax, [rdi + 1]
mov dword [rbx + 0x78], eax
lea eax, [rdi - 1]
test edi, eax
jne 0x14001b7cd
mov rdx, qword [rbx + 0x80]
mov rcx, qword [rbx]
lea eax, [rdi*2 + 1]
movsxd r8, eax
shl r8, 2
call fcn.140044940
mov r11, qword [rsp + 0x58]
mov r10, qword [rsp + 0x50]
mov qword [rbx + 0x80], rax
mov rcx, qword [rbx + 0x80]
or edx, 0xffffffff
test rcx, rcx
je 0x14001b7df
mov dword [rcx + rdi*4], edx
mov r13d, edx
sub r13d, edi
mov dword [r11 + 0x10], r13d
mov dword [r11 + 0xc], r13d
mov rdi, qword [r10 + 0x30]
movsxd rbx, dword [rdi + 0x78]
lea eax, [rbx + 1]
mov dword [rdi + 0x78], eax
lea eax, [rbx - 1]
test ebx, eax
jne 0x14001b82e
mov rdx, qword [rdi + 0x80]
mov rcx, qword [rdi]
lea eax, [rbx*2 + 1]
movsxd r8, eax
shl r8, 2
call fcn.140044940
mov r11, qword [rsp + 0x58]
or edx, 0xffffffff
mov qword [rdi + 0x80], rax
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x14001b83d
mov dword [rcx + rbx*4], edx
mov eax, edx
sub eax, ebx
mov rbx, qword [rsp + 0x50]
mov dword [rsp + 0xb8], eax
mov dword [r11 + 0x18], eax
cmp byte [r11 + 0x24], r12b
jbe 0x14001b885
test byte [r14 + 0x3c], 8
je 0x14001b885
mov r9d, dword [rsi + 0x54]
xor r8d, r8d
mov rcx, rbx
inc r9d
lea edx, [r8 + 0x19]
mov dword [rsp + 0x20], r12d
mov dword [rsi + 0x54], r9d
mov dword [r11], r9d
call fcn.140068970
mov r11, qword [rsp + 0x58]
mov ecx, dword [r14 + 0x40]
mov qword [rsp + 0x110], 0xa
test cl, 4
je 0x14001b8f8
mov ebx, dword [r14 + 0x34]
mov eax, dword [r14 + 0x30]
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov r8d, ebx
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0x14]
call fcn.140068970
mov rcx, qword [rsp + 0x50]
mov r9d, r13d
mov r8d, ebx
mov edx, 0x16
mov dword [rsp + 0x20], r12d
call fcn.140068970
mov r13, qword [rsp + 0x58]
mov dword [r13 + 0x2c], eax
mov byte [r13 + 0x25], InitCommonControls
jmp 0x14001cedd
mov ecx, edx
mov edx, 1
mov eax, edx
shl rax, cl
jmp 0x14001b74f
mov r10, qword [rsp + 0x98]
mov edx, dword [r10 + 0x28]
bt edx, 0xa
jae 0x14001bbc1
movzx r15d, word [r10 + 0x2c]
mov ecx, dword [rsi + 0x44]
mov r14d, dword [rsi + 0x48]
inc dword [rsi + 0x70]
lea edx, [r15 + 2]
mov dword [rsp + 0x64], r14d
mov dword [rsp + 0x88], edx
cmp edx, ecx
jg 0x14001b93f
lea eax, [r14 + rdx]
sub ecx, edx
mov dword [rsi + 0x48], eax
mov dword [rsi + 0x44], ecx
jmp 0x14001b950
mov eax, dword [rsi + 0x54]
lea r14d, [rax + 1]
add eax, edx
mov dword [rsp + 0x64], r14d
mov dword [rsi + 0x54], eax
mov r13d, dword [r11 + 0xc]
mov ebx, r12d
test r15d, r15d
jle 0x14001b9d2
mov rbp, qword [rsp + 0x80]
mov rdi, r12
mov r12, qword [rsp + 0x58]
add r14d, 2
mov rax, qword [r10 + 0x30]
mov rdx, qword [rdi + rax]
test rdx, rdx
je 0x14001b9bc
test byte [rdx + 0x1a], 1
mov rcx, rsi
je 0x14001b9a4
lea eax, [r14 + rbx]
mov r9d, ebx
mov r8, r12
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebp
call fcn.14001b1e0
mov r13d, dword [r12 + 0x10]
jmp 0x14001b9b4
mov rdx, qword [rdx]
lea r8d, [r14 + rbx]
mov rdx, qword [rdx + 0x18]
call fcn.140047d40
mov r10, qword [rsp + 0x98]
inc ebx
add rdi, 8
cmp ebx, r15d
jl 0x14001b970
mov rbp, qword [rsp + 0xf0]
xor r12d, r12d
mov r14d, dword [rsp + 0x64]
mov r8d, dword [r10 + 0x18]
mov rcx, qword [rsp + 0x50]
mov r9d, r14d
mov edx, 0x19
mov dword [rsp + 0x20], r12d
call fcn.140068970
mov rcx, qword [rsp + 0x50]
lea r9d, [r14 + 1]
mov r8d, r15d
mov edx, 0x19
mov dword [rsp + 0x20], r12d
call fcn.140068970
mov r9, qword [rsp + 0x98]
mov r8d, dword [rsp + 0x44]
cmp byte [r9 + 0x1c], 0
mov rbx, qword [r9 + 0x20]
mov rcx, qword [rsp + 0x50]
mov eax, 0xfffffff5
mov edi, 0xfffffffe
mov r9d, r13d
lea edx, [rax + 0x19]
cmovne edi, eax
mov dword [rsp + 0x20], r14d
call fcn.140068970
mov r8, rbx
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
mov r9d, edi
mov edx, eax
call fcn.140068cc0
mov rdx, qword [rsp + 0x98]
mov r10d, r12d
mov byte [rdx + 0x1c], 0
test r15d, r15d
jle 0x14001baff
mov rbp, qword [rsp + 0x58]
cmp r10d, 0x10
jge 0x14001baf7
movzx eax, word [rdx + 0x1e]
movzx ecx, r10w
shr ax, cl
test al, 1
je 0x14001baef
mov rax, qword [rdx + 0x30]
movsxd rcx, r10d
mov r8, qword [rax + rcx*8]
test r8, r8
je 0x14001baef
movzx ecx, byte [r8 + 0x1c]
test cl, 4
jne 0x14001baef
cmp dword [rbp], 0
je 0x14001bab5
mov rax, qword [r8]
test byte [rax + 4], 1
je 0x14001baef
mov rax, qword [r8 + 0x30]
test qword [rbp + 0x48], rax
jne 0x14001baef
movsxd rax, dword [r8 + 8]
or cl, 4
mov byte [r8 + 0x1c], cl
test eax, eax
js 0x14001baef
imul rdx, rax, 0x38
mov rax, qword [r8 + 0x20]
add rdx, qword [rax + 0x20]
dec byte [rdx + 0x1d]
jne 0x14001bae7
mov rcx, rbp
call fcn.140020720
mov rdx, qword [rsp + 0x98]
inc r10d
cmp r10d, r15d
jl 0x14001ba77
mov rbp, qword [rsp + 0xf0]
mov r13, qword [rsp + 0x58]
mov eax, dword [rsp + 0x44]
mov r10d, dword [rsp + 0x88]
mov byte [r13 + 0x25], DllRegisterServer
mov dword [r13 + 0x28], eax
mov eax, dword [rbx + 0x3c]
lea r9d, [r14 - 1]
mov r11d, 0xa
lea rcx, [rsi + 0x94]
mov dword [r13 + 0x2c], eax
add r9d, r10d
mov r8d, r11d
mov edx, dword [rcx]
cmp edx, r14d
jl 0x14001bb62
cmp edx, r9d
jg 0x14001bb62
cmp byte [rcx - 6], 0
je 0x14001bb5f
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x14001bb5b
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r12d
add rcx, 0x14
dec r8
jne 0x14001bb37
cmp r10d, dword [rsi + 0x44]
jle 0x14001bb79
mov dword [rsi + 0x44], r10d
mov dword [rsi + 0x48], r14d
dec dword [rsi + 0x70]
lea rcx, [rsi + 0x94]
mov r8, r11
mov edx, dword [rcx]
test edx, edx
je 0x14001bbb3
mov eax, dword [rsi + 0x70]
cmp dword [rcx - 4], eax
jle 0x14001bbb3
cmp byte [rcx - 6], 0
je 0x14001bbb0
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x14001bbac
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r12d
add rcx, 0x14
dec r8
jne 0x14001bb86
jmp 0x14001cedd
mov eax, edx
and eax, 0x100
je 0x14001bc76
test dl, 5
je 0x14001bc76
mov rax, qword [r10 + 0x30]
mov r13, qword [rsp + 0x58]
xor r9d, r9d
mov rdx, qword [rax]
inc dword [rsi + 0x54]
mov ebx, dword [rsi + 0x54]
mov r8, r13
mov rcx, rsi
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r15d
call fcn.14001b1e0
mov edi, eax
cmp eax, ebx
je 0x14001bc10
mov edx, ebx
mov rcx, rsi
call fcn.14005df50
mov ebx, dword [r13 + 0x10]
mov rcx, qword [rsp + 0x50]
mov r8d, edi
mov edx, 0x26
mov r9d, ebx
mov dword [rsp + 0x20], r12d
call fcn.140068970
mov r8d, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x50]
mov r9d, ebx
mov edx, 0x46
mov dword [rsp + 0x20], edi
call fcn.140068970
mov r8d, 1
mov edx, edi
mov rcx, rsi
call fcn.1400479c0
mov edx, dword [rsp + 0x44]
mov r9d, edi
or r8d, 0xffffffff
mov rcx, rsi
call fcn.140047b70
mov byte [r13 + 0x25], 0x9a
jmp 0x14001cedd
test eax, eax
je 0x14001be76
test dl, 2
je 0x14001be76
mov r14d, 0x9a
mov edi, r12d
mov eax, r12d
mov r15, r12
test dl, 0x20
je 0x14001bca7
mov rax, qword [r10 + 0x30]
mov r12, qword [rax]
mov eax, 1
test dl, 0x10
je 0x14001bcb7
movsxd rcx, eax
mov rax, qword [r10 + 0x30]
mov r15, qword [rax + rcx*8]
mov rax, qword [rsp + 0x80]
test eax, eax
je 0x14001bcd4
mov rax, r12
mov r12, r15
mov r15, rax
mov rax, qword [rsp + 0x80]
test r12, r12
je 0x14001bd50
mov rbx, qword [r12]
lea r8, [rsp + 0x88]
mov rcx, rsi
mov rdx, qword [rbx + 0x18]
mov dword [rsp + 0x48], 0x403e3f41
call fcn.140049ee0
movzx ecx, byte [rbx]
mov r8d, dword [rsp + 0x44]
movzx edx, byte [rsp + rcx - 8]
mov rcx, qword [rsp + 0x50]
mov r9d, r13d
mov edi, eax
mov dword [rsp + 0x20], eax
call fcn.140068970
mov r8d, 1
mov edx, edi
mov rcx, rsi
call fcn.1400479c0
mov edx, dword [rsp + 0x88]
mov rcx, rsi
call fcn.14005df50
mov r10, qword [rsp + 0x58]
mov rdx, r12
mov rcx, r10
call fcn.140020720
xor r12d, r12d
mov edi, r12d
jmp 0x14001bd7c
mov r8d, dword [rsp + 0x44]
mov edx, 0x6c
mov ecx, 0x69
test eax, eax
mov r9d, r13d
cmovne edx, ecx
xor r12d, r12d
mov rcx, rbx
mov dword [rsp + 0x20], r12d
call fcn.140068970
mov r10, qword [rsp + 0x58]
test r15, r15
je 0x14001bdd4
mov rbx, qword [r15]
inc dword [rsi + 0x54]
mov edi, dword [rsi + 0x54]
mov rdx, qword [rbx + 0x18]
mov r8d, edi
mov rcx, rsi
call fcn.140047d40
movzx eax, byte [rbx]
sub al, 0x50
test al, 0xfd
je 0x14001bdad
mov eax, 0x52
lea r14d, [rax - 2]
jmp 0x14001bdb8
mov eax, 0x51
mov r14d, 0x53
cmp dword [rsp + 0x80], 0
mov r10, qword [rsp + 0x58]
mov rdx, r15
mov rcx, r10
cmovne r14d, eax
call fcn.140020720
cmp dword [rsp + 0x80], 0
mov r15, qword [rsp + 0x50]
mov ecx, dword [r15 + 0x3c]
sete al
add al, 8
mov dword [r10 + 0x2c], ecx
mov byte [r10 + 0x25], al
mov eax, dword [rsp + 0x44]
mov dword [r10 + 0x28], eax
cmp r14d, 0x9a
je 0x14001ced8
inc dword [rsi + 0x54]
mov ebx, dword [rsi + 0x54]
mov r8d, eax
mov edx, 0x67
mov rcx, r15
mov r9d, ebx
mov dword [rsp + 0x20], r12d
call fcn.140068970
mov edx, dword [rsp + 0x44]
mov r9d, ebx
or r8d, 0xffffffff
mov rcx, rsi
call fcn.140047b70
mov r9d, r13d
mov r8d, edi
mov edx, r14d
mov rcx, r15
mov dword [rsp + 0x20], ebx
call fcn.140068970
mov rdx, qword [r15 + 8]
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x70]
test rdx, rdx
je 0x14001cee2
movsxd rax, dword [r15 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x53
jmp 0x14001cee2
mov eax, 0x200
test eax, edx
je 0x14001c528
mov rcx, qword [rsp + 0x58]
mov r11, qword [r10 + 0x20]
movzx ebx, word [r10 + 0x18]
mov eax, dword [rcx + 8]
mov rdi, r12
xor r14b, r14b
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x70]
mov r15, r12
test byte [rax + 0x32], 1
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0x90], r12
mov r9d, r12d
mov byte [rsp + 0x40], dil
mov byte [rsp + 0x60], dil
mov qword [rsp + 0xd8], r11
je 0x14001bee7
cmp byte [rax + 0x34], dil
jle 0x14001bee7
cmp word [r11 + 0x5e], bx
jbe 0x14001bee7
mov r14b, 1
mov r9d, 1
movzx r13d, bx
mov r8d, r13d
test dl, 0x20
je 0x14001bf0c
mov rax, qword [r10 + 0x30]
inc r8d
mov r9d, 1
mov r15, qword [rax + r13*8]
mov qword [rsp + 0xd0], r15
test dl, 0x10
je 0x14001bf5e
mov rax, qword [r10 + 0x30]
movsxd rcx, r8d
mov r8d, 1
mov rdi, qword [rax + rcx*8]
mov r9d, r8d
mov qword [rsp + 0x90], rdi
test r15, r15
jne 0x14001bf5e
mov rax, qword [r11 + 8]
movzx ecx, bx
movsx rdx, word [rax + rcx*2]
test edx, edx
js 0x14001bf5e
mov rax, qword [r11 + 0x18]
lea rdx, [rdx + rdx*2]
movzx r14d, r14b
mov rcx, qword [rax + 8]
add rdx, rdx
cmp byte [rcx + rdx*8 + 0x28], r12b
cmove r14d, r8d
mov r8d, dword [rsp + 0x80]
mov rdx, qword [rsp + 0x58]
lea rax, [rsp + 0xb0]
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14001a820
mov r9d, eax
mov dword [rsp + 0x7c], eax
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x14001bf9f
movzx ecx, bx
movzx edx, byte [rcx + rax]
mov byte [rsp + 0x40], dl
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0xd8]
movzx r8d, word [rax + 0x5e]
cmp bx, r8w
jae 0x14001bfdc
mov rax, qword [rax + 0x38]
mov edx, r12d
movzx ecx, bx
cmp byte [rcx + rax], dl
mov rax, qword [rsp + 0x80]
sete dl
cmp eax, edx
je 0x14001bfee
jmp 0x14001bfe4
mov rax, qword [rsp + 0x80]
test eax, eax
je 0x14001c00f
cmp r8w, bx
jne 0x14001c00f
mov rax, rdi
mov qword [rsp + 0x90], r15
mov byte [rsp + 0x60], r14b
mov rdi, r15
xor r14b, r14b
mov r15, rax
mov qword [rsp + 0xd0], rax
test r15, r15
je 0x14001c027
test byte [r15 + 0x1a], 0x28
jne 0x14001c027
mov dword [rsp + 0x78], r12d
mov eax, 1
jmp 0x14001c030
mov eax, 1
mov dword [rsp + 0x78], eax
test rdi, rdi
je 0x14001c040
test byte [rdi + 0x1a], 0x28
mov dword [rsp + 0x64], r12d
je 0x14001c044
mov dword [rsp + 0x64], eax
test r15, r15
jne 0x14001c056
mov dword [rsp + 0x8c], r12d
test bx, bx
je 0x14001c05d
mov dword [rsp + 0x8c], eax
mov edi, r13d
test r15, r15
je 0x14001c0ec
mov rax, qword [r15]
lea r8d, [r9 + r13]
mov rcx, rsi
mov r15, qword [rax + 0x18]
mov rdx, r15
call fcn.140047d40
mov rcx, r15
call fcn.140047ce0
test eax, eax
je 0x14001c0ac
mov r8d, dword [rsp + 0x7c]
mov r9d, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x50]
add r8d, r13d
mov edx, 0x4c
mov dword [rsp + 0x20], r12d
call fcn.140068970
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x14001c0e2
movzx ebx, bx
add rbx, rcx
mov rcx, r15
movzx edx, byte [rbx]
call fcn.140042b50
cmp al, 0x41
jne 0x14001c0d0
mov byte [rbx], al
movzx edx, byte [rbx]
mov rcx, r15
call fcn.14004b710
test eax, eax
je 0x14001c0e2
mov byte [rbx], 0x41
mov r15, qword [rsp + 0xd0]
jmp 0x14001c11a
test r14b, r14b
je 0x14001c11c
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
add r9d, r13d
lea edx, [r8 + 0x1c]
mov dword [rsp + 0x20], r12d
call fcn.140068970
mov dword [rsp + 0x78], r12d
mov dword [rsp + 0x8c], 1
inc edi
mov r9, qword [rsp + 0xb0]
movzx eax, r14b
mov r14d, dword [rsp + 0x7c]
mov r8d, edi
mov rcx, rsi
mov edx, r14d
sub r8d, eax
call fcn.14001aca0
movsxd rdx, dword [rsp + 0x80]
movsxd rax, dword [rsp + 0x78]
movsxd rcx, dword [rsp + 0x8c]
mov r9d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x48]
lea rcx, [rax + rcx*2]
lea rbx, [0x140000000]
mov dword [rsp + 0x28], edi
lea rax, [rdx + rcx*2]
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x20], r14d
movzx edx, byte [rax + rbx + 0x2d3928]
call fcn.140068a50
mov rdi, qword [rsp + 0x90]
test rdi, rdi
je 0x14001c2a6
mov rax, qword [rdi]
add r14d, r13d
mov r8d, 1
mov rbx, qword [rax + 0x18]
mov edx, r14d
mov rcx, rsi
call fcn.1400479c0
mov r8d, r14d
mov rdx, rbx
mov rcx, rsi
call fcn.140047d40
mov rcx, rbx
call fcn.140047ce0
test eax, eax
je 0x14001c1e9
mov r9d, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x50]
mov r8d, r14d
mov edx, 0x4c
mov dword [rsp + 0x20], r12d
call fcn.140068970
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.140042b50
cmp al, 0x41
je 0x14001c298
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.14004b710
test eax, eax
jne 0x14001c298
mov rcx, qword [rsi + 0x10]
lea rdi, [rsp + 0x40]
lea ebx, [rax + 1]
mov qword [rsp + 0xc0], rcx
cmp byte [rdi], 0x41
jne 0x14001c238
dec ebx
inc r14d
inc rdi
test ebx, ebx
jg 0x14001c227
movsxd rax, ebx
cmp rax, 1
jle 0x14001c253
cmp byte [rax + rdi - 1], 0x41
jne 0x14001c253
dec rax
dec ebx
cmp rax, 1
jg 0x14001c241
test ebx, ebx
jle 0x14001c290
mov r9d, ebx
mov r8d, r14d
mov edx, 0x30
mov dword [rsp + 0x20], r12d
call fcn.140068970
mov rcx, qword [rsp + 0xc0]
mov r9d, ebx
mov r8, rdi
or edx, 0xffffffff
call fcn.140068cc0
mov r8d, ebx
mov edx, r14d
mov rcx, rsi
call fcn.1400479c0
mov rdi, qword [rsp + 0x90]
mov r14d, dword [rsp + 0x7c]
lea rbx, [0x140000000]
jmp 0x14001c2cc
cmp byte [rsp + 0x60], r12b
je 0x14001c2cf
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
lea r9d, [r14 + r13]
lea edx, [r8 + 0x1c]
mov dword [rsp + 0x20], r12d
call fcn.140068970
mov dword [rsp + 0x64], r12d
inc r13d
mov rdx, qword [rsp + 0xb0]
mov rcx, rbp
call fcn.140044630
mov r10, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov eax, dword [r10 + 0x3c]
mov dword [rcx + 0x2c], eax
test r13d, r13d
je 0x14001c337
mov rdx, qword [rsp + 0x80]
movsxd rax, dword [rsp + 0x64]
mov r9d, dword [rsp + 0x68]
movsxd rcx, edx
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r14d
mov r14d, dword [rsp + 0x48]
lea rcx, [rax + rcx*2]
movzx edx, byte [rcx + rbx + 0x2d333c]
mov r8d, r14d
mov rcx, r10
call fcn.140068a50
mov r10, qword [rsp + 0x50]
jmp 0x14001c33c
mov r14d, dword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
mov rdx, r15
mov rcx, r13
call fcn.140020720
mov rdx, rdi
mov rcx, r13
call fcn.140020720
cmp dword [rsp + 0xa0], r12d
jne 0x14001c4d6
mov rbx, qword [rsp + 0xd8]
mov rbx, qword [rbx + 0x18]
test byte [rbx + 0x48], 0x20
jne 0x14001c3c6
inc dword [rsi + 0x54]
mov ebx, dword [rsi + 0x54]
mov r8d, r14d
mov edx, 0x70
mov rcx, r10
mov r9d, ebx
mov dword [rsp + 0x20], r12d
call fcn.140068970
mov edx, dword [rsp + 0x44]
mov r9d, ebx
or r8d, 0xffffffff
mov rcx, rsi
call fcn.140047b70
mov r8d, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x50]
mov edx, 0x42
mov dword [rsp + 0x20], r12d
call fcn.140068970
jmp 0x14001c4d6
cmp dword [rsp + 0x44], r14d
je 0x14001c4d6
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14001c3f2
nop word [rax + rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14001c3f2
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14001c3e0
movzx ecx, word [rbx + 0x5e]
mov edx, dword [rsi + 0x44]
mov r14d, dword [rsi + 0x48]
cmp ecx, edx
jg 0x14001c40f
lea eax, [rcx + r14]
sub edx, ecx
mov dword [rsi + 0x48], eax
mov dword [rsi + 0x44], edx
jmp 0x14001c41b
mov eax, dword [rsi + 0x54]
lea r14d, [rax + 1]
add eax, ecx
mov dword [rsi + 0x54], eax
mov r15, qword [rsp + 0x50]
mov edi, r12d
cmp r12w, word [rbx + 0x5e]
jae 0x14001c4af
mov rbp, qword [rsp + 0xd8]
mov r13d, dword [rsp + 0x48]
or esi, 0xffffffff
nop
movzx r8d, word [rbp + 0x60]
mov edx, r12d
test r8d, r8d
jle 0x14001c471
mov rax, qword [rbx + 8]
mov r9, qword [rbp + 8]
movsxd rcx, edi
movzx r10d, word [rax + rcx*2]
nop dword [rax]
movsxd rax, edx
cmp r10w, word [r9 + rax*2]
je 0x14001c474
inc edx
cmp edx, r8d
jl 0x14001c460
movzx edx, si
lea eax, [r14 + rdi]
movsx r9d, dx
mov r8d, r13d
mov edx, 0x2f
mov rcx, r15
mov dword [rsp + 0x20], eax
call fcn.140068970
movzx eax, word [rbx + 0x5e]
inc edi
cmp edi, eax
jl 0x14001c440
mov rsi, qword [rsp + 0xe8]
mov rbp, qword [rsp + 0xf0]
mov r13, qword [rsp + 0x58]
movzx eax, word [rbx + 0x5e]
mov r9d, dword [rsp + 0xb8]
mov r8d, dword [rsp + 0x44]
mov dword [rsp + 0x28], eax
mov edx, 0x44
mov rcx, r15
mov dword [rsp + 0x20], r14d
call fcn.140068a50
mov r9, qword [rsp + 0x98]
test dword [r9 + 0x28], 0x1000
je 0x14001c4ef
mov byte [r13 + 0x25], 0x9a
jmp 0x14001c500
cmp dword [rsp + 0x80], r12d
sete al
add al, 8
mov byte [r13 + 0x25], al
mov eax, dword [rsp + 0x48]
mov dword [r13 + 0x28], eax
movzx eax, byte [r9 + 0x2a]
and al, 1
mov byte [r13 + 0x26], al
test byte [r9 + 0x28], 0xf
jne 0x14001cedd
mov byte [r13 + 0x27], 1
jmp 0x14001cedd
bt edx, 0xd
jae 0x14001ce7c
mov eax, dword [rsi + 0x50]
inc dword [rsi + 0x54]
mov edi, dword [rsi + 0x54]
mov dword [rsp + 0xc8], eax
inc eax
mov rcx, rbx
mov qword [rsp + 0xd8], r12
mov dword [rsp + 0xa0], edi
mov dword [rsp + 0x48], r12d
mov dword [rsi + 0x50], eax
mov dword [rsp + 0x68], r12d
call fcn.1400704f0
mov rdx, qword [r14 + 0x20]
mov r13, qword [rsp + 0x58]
mov r9, qword [rsp + 0x98]
mov rcx, qword [r9 + 0x30]
mov dword [rsp + 0x88], eax
mov rax, qword [rsp + 0x70]
mov r15, qword [rcx]
mov dword [rsp + 0x78], r12d
mov qword [rsp + 0x90], r12
mov rcx, qword [r15 + 0x10]
mov byte [r13 + 0x25], 0x12
mov dword [r13 + 0x28], edi
mov qword [rsp + 0xc0], rcx
movzx ecx, byte [rax + 0x39]
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0x100], r15
cmp cl, 1
jbe 0x14001c728
movzx ebx, cl
mov rcx, rbp
sub ebx, dword [rsp + 0x8c]
dec ebx
movsxd rax, ebx
imul rdx, rax, 0x78
sub rdx, 0xffffffffffffff80
call fcn.140044680
mov rdx, rax
mov qword [rsp + 0xd0], rax
test rax, rax
jne 0x14001c607
mov rax, qword [rsp + 0x108]
jmp 0x14001d2ce
mov r11, qword [rsp + 0x70]
lea eax, [rbx + 1]
movzx ecx, al
mov dword [rdx + 4], ecx
mov dword [rdx], ecx
movups xmm0, xmmword [r14]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rdx + 0x18], xmm1
movups xmm0, xmmword [r14 + 0x20]
movups xmmword [rdx + 0x28], xmm0
movups xmm1, xmmword [r14 + 0x30]
movups xmmword [rdx + 0x38], xmm1
movups xmm0, xmmword [r14 + 0x40]
movups xmmword [rdx + 0x48], xmm0
movups xmm1, xmmword [r14 + 0x50]
movups xmmword [rdx + 0x58], xmm1
movups xmm0, xmmword [r14 + 0x60]
movups xmmword [rdx + 0x68], xmm0
movsd xmm1, qword [r14 + 0x70]
movsd qword [rdx + 0x78], xmm1
mov r10, qword [r11 + 8]
cmp ebx, 1
jl 0x14001c6e7
sub rdx, 0xffffffffffffff80
lea r8, [r13 + 0x74]
mov r9d, ebx
nop dword [rax + rax]
movzx eax, byte [r8]
lea rdx, [rdx + 0x78]
lea r8, [r8 + 0x50]
imul rcx, rax, 0x78
movups xmm0, xmmword [rcx + r10 + 8]
movups xmmword [rdx - 0x78], xmm0
movups xmm1, xmmword [rcx + r10 + 0x18]
movups xmmword [rdx - 0x68], xmm1
movups xmm0, xmmword [rcx + r10 + 0x28]
movups xmmword [rdx - 0x58], xmm0
movups xmm1, xmmword [rcx + r10 + 0x38]
movups xmmword [rdx - 0x48], xmm1
movups xmm0, xmmword [rcx + r10 + 0x48]
movups xmmword [rdx - 0x38], xmm0
movups xmm1, xmmword [rcx + r10 + 0x58]
movups xmmword [rdx - 0x28], xmm1
movups xmm0, xmmword [rcx + r10 + 0x68]
movups xmmword [rdx - 0x18], xmm0
movsd xmm1, qword [rcx + r10 + 0x78]
movsd qword [rdx - 8], xmm1
dec r9
jne 0x14001c680
mov rbx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xb0]
test byte [r11 + 0x32], 8
jne 0x14001c7a0
test byte [rdx + 0x48], 0x20
jne 0x14001c73b
inc dword [rsi + 0x54]
mov edi, dword [rsi + 0x54]
xor r8d, r8d
lea edx, [r8 + 0x1c]
mov rcx, rbx
mov r9d, edi
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x20], r12d
call fcn.140068970
jmp 0x14001c78f
mov rax, qword [rax + 8]
mov r11, qword [rsp + 0x70]
mov qword [rsp + 0xd0], rax
jmp 0x14001c6f4
mov rbx, qword [rdx + 0x10]
test rbx, rbx
je 0x14001c756
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14001c756
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14001c744
mov edi, dword [rsi + 0x50]
mov rcx, qword [rsp + 0x50]
mov edx, 0x39
lea eax, [rdi + 1]
mov r8d, edi
mov dword [rsp + 0x48], edi
mov dword [rsi + 0x50], eax
movzx r9d, word [rbx + 0x5e]
mov dword [rsp + 0x20], r12d
call fcn.140068970
mov rdx, rbx
mov rcx, rsi
call fcn.140072460
mov rbx, qword [rsp + 0x50]
inc dword [rsi + 0x54]
mov eax, dword [rsi + 0x54]
mov edi, dword [rsp + 0xa0]
mov dword [rsp + 0x68], eax
xor r8d, r8d
mov r9d, edi
mov rcx, rbx
lea edx, [r8 + 0x19]
mov dword [rsp + 0x20], r12d
call fcn.140068970
mov r14d, eax
mov dword [rsp + 0xe0], eax
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rax + 0x14]
cmp ecx, 1
jle 0x14001c932
mov ebx, r12d
test ecx, ecx
jle 0x14001c932
mov rdi, r12
mov r8d, 0xfff
mov r13, r12
mov r14, rax
nop
mov rdx, qword [r14 + 0x20]
movsxd rax, ebx
mov r10, qword [rdi + rdx]
imul rcx, rax, 0x38
add rcx, rdx
cmp rcx, r15
je 0x14001c845
test byte [r10 + 4], 1
jne 0x14001c845
test byte [rdi + rdx + 0x1c], 0x12
jne 0x14001c845
test word [rdi + rdx + 0x1a], r8w
je 0x14001c845
xor r9d, r9d
xor r8d, r8d
mov rdx, r10
mov rcx, rbp
call fcn.140023280
mov rdx, r13
mov rcx, rbp
mov r8, rax
call fcn.140047590
mov r8d, 0xfff
mov r13, rax
inc ebx
add rdi, 0x38
cmp ebx, dword [r14 + 0x14]
jl 0x14001c7f0
mov r14d, dword [rsp + 0xe0]
mov qword [rsp + 0x90], r13
test r13, r13
mov r13, qword [rsp + 0x58]
je 0x14001c937
mov rcx, qword [rsi]
mov edx, 0x48
call fcn.140044680
mov rbx, rax
test rax, rax
je 0x14001c8bb
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x38], rax
mov qword [rbx + 0x40], rax
or eax, 0xffffffff
mov byte [rbx], 0x48
mov word [rbx + 0x32], ax
mov eax, 1
mov dword [rbx + 0x28], eax
mov rdi, qword [rsi]
test rbx, rbx
jne 0x14001c8ea
xor edx, edx
mov rcx, rdi
call fcn.14004a390
mov rdx, qword [rsp + 0x90]
mov rcx, rdi
call fcn.14004a390
mov rdx, rbx
mov qword [rsp + 0x90], rbx
jmp 0x14001c93f
mov rdx, qword [rsp + 0x90]
mov rcx, rbx
mov qword [rbx + 0x18], rdx
mov eax, dword [rdx + 4]
and eax, 0x100
or dword [rbx + 4], eax
call fcn.140023870
mov rax, qword [rsi]
mov r8d, dword [rax + 0x74]
cmp dword [rbx + 0x28], r8d
jle 0x14001c925
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rsi
call fcn.140046e00
mov rdx, rbx
mov qword [rsp + 0x90], rbx
jmp 0x14001c93f
mov rdx, r12
jmp 0x14001c93f
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0xc0]
mov edi, 0x70
mov r15d, r12d
mov dword [rsp + 0x7c], edi
mov dword [rsp + 0xf8], r12d
cmp dword [rax + 0x14], r12d
jle 0x14001cd0c
mov rbp, qword [rsp + 0xd0]
mov r8d, dword [rsp + 0x44]
mov rcx, r12
mov qword [rsp + 0xe8], rcx
nop dword [rax]
mov rax, qword [rax + 0x20]
cmp dword [rcx + rax + 0xc], r8d
je 0x14001c99d
mov r9d, 0x200
test word [rcx + rax + 0x1a], r9w
je 0x14001cccb
mov r8, qword [rcx + rax]
mov r14d, r12d
test rdx, rdx
je 0x14001c9b7
test byte [r8 + 4], 1
jne 0x14001c9b7
mov qword [rdx + 0x10], r8
mov r8, rdx
mov eax, dword [rsp + 0xc8]
xor r9d, r9d
mov rdx, rbp
mov dword [rsp + 0x30], eax
mov rcx, rsi
mov word [rsp + 0x28], di
mov qword [rsp + 0x20], r12
call fcn.1400753b0
mov rbx, rax
mov qword [rsp + reloc.mfc120u.dll_Ordinal_280], rax
test rax, rax
je 0x14001ccbe
movzx ecx, byte [r13 + 0x24]
mov r9d, dword [rsp + 0x8c]
lea r8, [rax + 0x340]
mov word [rsp + 0x28], r12w
mov dword [rsp + 0x20], ecx
mov rdx, rbp
mov rcx, rsi
call fcn.140021850
mov rax, qword [rsp + 0x70]
test byte [rax + 0x32], 8
jne 0x14001cbec
mov rcx, qword [rsp + 0xc0]
mov edi, r15d
mov edx, 0xffffffff
mov eax, dword [rcx + 0x14]
dec eax
cmp r15d, eax
mov rax, qword [rsp + 0xb0]
cmove edi, edx
test byte [rax + 0x48], 0x20
mov dword [rsp + 0x98], edi
jne 0x14001ca9d
mov ecx, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x44]
mov r8d, edx
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], ecx
mov rdx, rax
mov rcx, rsi
call fcn.140048230
mov r8d, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov edx, 0x82
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], eax
call fcn.140068a50
mov r14d, eax
jmp 0x14001cbe8
mov rcx, rax
call fcn.14005d3f0
mov edx, dword [rsi + 0x44]
mov r8d, dword [rsi + 0x48]
movzx r13d, word [rax + 0x5e]
mov r15, rax
mov dword [rsp + 0x64], r8d
cmp r13d, edx
jg 0x14001cacd
lea ecx, [r8 + r13]
sub edx, r13d
mov dword [rsi + 0x48], ecx
mov dword [rsi + 0x44], edx
jmp 0x14001cadf
mov eax, dword [rsi + 0x54]
lea r8d, [rax + 1]
add eax, r13d
mov dword [rsp + 0x64], r8d
mov dword [rsi + 0x54], eax
mov rbx, r12
test r13d, r13d
jle 0x14001cb3c
mov rbp, qword [rsp + 0xb0]
mov r12d, dword [rsp + 0x44]
mov edi, r8d
nop word [rax + rax]
mov rax, qword [r15 + 8]
mov r9d, r12d
mov rdx, rbp
movsx r8d, word [rax + rbx*2]
mov rcx, rsi
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], edi
call fcn.140048230
inc rbx
inc edi
cmp rbx, r13
jl 0x14001cb00
mov edi, dword [rsp + 0x98]
mov rbp, qword [rsp + 0xd0]
xor r12d, r12d
mov ebx, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x48]
test edi, edi
je 0x14001cb6b
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov r8d, r15d
lea edx, [r9 + 0x45]
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], ebx
call fcn.140068a50
mov r14d, eax
jmp 0x14001cb6b
test edi, edi
js 0x14001cbc6
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x50]
mov r9d, r13d
mov r8d, ebx
mov edx, 0x31
mov dword [rsp + 0x20], eax
call fcn.140068970
mov r9d, dword [rsp + 0x68]
mov r8d, r15d
mov r15, qword [rsp + 0x50]
mov edx, 0x6e
mov dword [rsp + 0x20], r12d
mov rcx, r15
call fcn.140068970
test edi, edi
je 0x14001cbc6
mov r9, qword [r15 + 8]
test r9, r9
je 0x14001cbc6
movsxd rax, dword [r15 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [r9 + rcx*8 - 0x15], 0x10
mov r8d, r13d
mov edx, ebx
mov rcx, rsi
call fcn.14005ded0
mov r13, qword [rsp + 0x58]
mov rbx, qword [rsp + reloc.mfc120u.dll_Ordinal_280]
mov r15d, dword [rsp + 0xf8]
mov edi, dword [rsp + 0x7c]
mov r9d, dword [rsp + 0x88]
mov r8d, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0x50]
mov edx, reloc.COMCTL32.dll_InitCommonControls
mov dword [rsp + 0x20], r12d
call fcn.140068970
test r14d, r14d
je 0x14001cc3f
mov r8, qword [rsp + 0x50]
mov edx, dword [r8 + 0x3c]
cmp edx, r14d
jbe 0x14001cc32
mov eax, r14d
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [r8 + 0x3c]
mov rax, qword [r8 + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov eax, dword [rsp + 0x78]
cmp byte [rbx + 0x37], 0
mov rdx, qword [rbx + 0x380]
mov ecx, 1
cmovne eax, ecx
mov dword [rsp + 0x78], eax
mov eax, 0x200
test dword [rdx + 0x28], eax
je 0x14001ccae
test r15d, r15d
je 0x14001cc77
mov rax, qword [rsp + 0xd8]
cmp qword [rdx + 0x20], rax
jne 0x14001ccae
mov rax, qword [rsp + 0xb0]
test byte [rax + 0x48], 0x20
je 0x14001cc94
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
je 0x14001ccae
mov r14, qword [rdx + 0x20]
mov eax, 0x1000
or di, ax
mov qword [rsp + 0xd8], r14
mov dword [rsp + 0x7c], edi
jmp 0x14001ccb6
mov qword [rsp + 0xd8], r12
mov rcx, rbx
call fcn.140075e20
mov r8d, dword [rsp + 0x44]
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x90]
inc r15d
add rcx, 0x38
mov dword [rsp + 0xf8], r15d
mov qword [rsp + 0xe8], rcx
cmp r15d, dword [rax + 0x14]
jl 0x14001c980
mov rbp, qword [rsp + 0xf0]
mov r14d, dword [rsp + 0xe0]
mov rax, qword [rsp + 0xd8]
mov qword [r13 + 0x30], rax
test rax, rax
je 0x14001cd28
mov eax, dword [rsp + 0xc8]
mov dword [r13 + 8], eax
mov rdx, qword [rsp + 0x90]
test rdx, rdx
je 0x14001cd41
mov rcx, rbp
mov qword [rdx + 0x10], r12
call fcn.14004a390
mov r15, qword [rsp + 0x50]
mov edx, dword [r15 + 0x3c]
cmp edx, r14d
jbe 0x14001cd5e
mov eax, r14d
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 8]
mov dword [rax + rcx*8 + 4], edx
mov r9d, dword [r13 + 0xc]
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 0x10]
mov dword [rsp + 0x20], r12d
call fcn.140068970
mov r8, qword [r15 + 0x30]
or eax, 0xffffffff
sub eax, dword [rsp + 0x88]
js 0x14001cd9c
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x14001cd9c
movsxd rcx, eax
mov eax, dword [r15 + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [r15 + 0x3c]
mov r14, qword [rsp + 0x70]
dec eax
mov dword [r8 + 0x64], eax
cmp byte [r14 + 0x39], 1
jbe 0x14001ce0b
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x14001ce0b
test rbp, rbp
je 0x14001ce06
cmp qword [rbp + 0x320], 0
je 0x14001cddb
mov rdx, rcx
mov rcx, rbp
call fcn.14002c560
jmp 0x14001ce0b
cmp rcx, qword [rbp + 0x168]
jb 0x14001ce06
cmp rcx, qword [rbp + 0x170]
jae 0x14001ce06
mov rax, qword [rbp + 0x160]
mov qword [rcx], rax
dec dword [rbp + 0x14c]
mov qword [rbp + 0x160], rcx
jmp 0x14001ce0b
call fcn.14000e700
cmp dword [rsp + 0x78], 0
jne 0x14001cee2
mov r8, qword [rsp + 0x100]
movzx ecx, byte [r8 + 0x1c]
test cl, 4
jne 0x14001cee2
cmp dword [r13], 0
je 0x14001ce40
mov rax, qword [r8]
test byte [rax + 4], 1
je 0x14001cee2
mov rax, qword [r8 + 0x30]
test qword [r13 + 0x48], rax
jne 0x14001cee2
movsxd rax, dword [r8 + 8]
or cl, 4
mov byte [r8 + 0x1c], cl
test eax, eax
js 0x14001cee2
imul rdx, rax, 0x38
mov rax, qword [r8 + 0x20]
add rdx, qword [rax + 0x20]
dec byte [rdx + 0x1d]
jne 0x14001cee2
mov rcx, r13
call fcn.140020720
jmp 0x14001cee2
test cl, 8
je 0x14001ce8d
mov r13, qword [rsp + 0x58]
mov byte [r13 + 0x25], 0x9a
jmp 0x14001cedd
lea rdx, [0x140000000]
movsxd rcx, r15d
mov r9d, r13d
movzx eax, byte [rcx + rdx + 0x2d334c]
movzx edx, byte [rcx + rdx + 0x2d345c]
mov rcx, rbx
mov byte [r11 + 0x25], al
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x20], r12d
mov r8d, eax
mov dword [r11 + 0x28], eax
call fcn.140068970
mov r13, qword [rsp + 0x58]
inc eax
mov byte [r13 + 0x27], 1
mov dword [r13 + 0x2c], eax
jmp 0x14001cedd
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x70]
lea rdx, [r14 + 0x158]
mov edi, dword [rdx + 0x14]
mov rbx, qword [rdx + 0x20]
test edi, edi
jle 0x14001cf56
mov ebp, dword [rsp + 0xb8]
nop dword [rax + rax]
test byte [rbx + 0x1c], 6
jne 0x14001cf3c
mov rax, qword [rbx + 0x30]
test qword [r13 + 0x48], rax
je 0x14001cf17
mov byte [r14 + 0x37], 1
jmp 0x14001cf3c
cmp dword [r13], 0
mov rdx, qword [rbx]
je 0x14001cf27
test byte [rdx + 4], 1
je 0x14001cf3c
mov r9d, InitCommonControls
mov r8d, ebp
mov rcx, rsi
call fcn.14004a500
or byte [rbx + 0x1c], 4
dec edi
add rbx, 0x38
test edi, edi
jg 0x14001cf00
mov rbp, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xa8]
mov r15d, dword [rdx + 0x14]
mov r14, qword [rdx + 0x20]
test r15d, r15d
jle 0x14001d1cc
mov eax, Ordinal_1030
nop dword [rax]
test byte [r14 + 0x1c], 6
jne 0x14001d1bc
cmp word [r14 + 0x1a], ax
jne 0x14001d1bc
mov ecx, dword [rsp + 0x44]
cmp dword [r14 + 0xc], ecx
jne 0x14001d1bc
cmp dword [r13], 0
jne 0x14001d1bc
mov rax, qword [r14]
mov r9d, dword [r14 + 0x10]
mov r8d, ecx
lea rcx, [rsp + 0x120]
mov qword [rsp + 0x28], r12
mov rdi, r12
mov qword [rsp + 0x100], rax
mov dword [rsp + 0x20], 3
call fcn.140083490
mov rbx, rax
test rax, rax
je 0x14001d015
nop word [rax + rax]
mov rax, qword [rbx + 0x28]
test qword [rsp + 0x108], rax
jne 0x14001d000
test rax, rax
jne 0x14001cff9
test byte [rbx + 0x1a], 2
jne 0x14001d018
test rdi, rdi
cmove rdi, rbx
lea rcx, [rsp + 0x120]
call fcn.140083830
mov rbx, rax
test rax, rax
jne 0x14001cfe0
mov rbx, rdi
test rbx, rbx
je 0x14001d1af
test byte [rbx + 0x1c], 4
jne 0x14001d1af
test rbp, rbp
je 0x14001d06b
cmp byte [rbp + 0x50], 0
jne 0x14001d1af
cmp byte [rbp + 0x14a], 0
mov edi, 0x48
je 0x14001d070
cmp di, word [rbp + 0x148]
jbe 0x14001d059
inc dword [rbp + 0x158]
jmp 0x14001d070
mov rdi, qword [rbp + 0x160]
test rdi, rdi
jne 0x14001d0b6
inc dword [rbp + 0x15c]
mov edi, 0x48
cmp dword [0x140439c80], 0
je 0x14001d0e2
mov rcx, qword [0x140466de8]
test rcx, rcx
je 0x14001d08b
call qword [0x140439d08]
lea rdx, [rsp + 0xc0]
mov ecx, edi
call fcn.14002c460
mov rcx, qword [0x140466de8]
test rcx, rcx
je 0x14001d0ac
call qword [0x140439d18]
mov rdi, qword [rsp + 0xc0]
jmp 0x14001d0f5
mov rax, qword [rdi]
inc dword [rbp + 0x14c]
mov qword [rbp + 0x160], rax
inc dword [rbp + 0x154]
mov eax, dword [rbp + 0x14c]
cmp eax, dword [rbp + 0x150]
jle 0x14001d103
mov dword [rbp + 0x150], eax
jmp 0x14001d103
mov ecx, edi
call qword [0x140439ca8]
mov rdi, rax
mov qword [rsp + 0xc0], rax
test rdi, rdi
jne 0x14001d10c
test rbp, rbp
je 0x14001d103
mov byte [rbp + 0x50], 1
test rdi, rdi
je 0x14001d1af
mov rax, qword [rbx]
mov r8d, dword [rsp + 0xb8]
mov r9d, InitCommonControls
mov rdx, rdi
mov rcx, rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
movsd xmm0, qword [rax + 0x40]
mov rax, qword [rsp + 0x100]
movsd qword [rdi + 0x40], xmm0
mov rax, qword [rax + 0x10]
mov qword [rdi + 0x10], rax
call fcn.14004a500
test rbp, rbp
je 0x14001d1a7
cmp qword [rbp + 0x320], 0
je 0x14001d17c
mov rdx, rdi
mov rcx, rbp
call fcn.14002c560
jmp 0x14001d1af
cmp rdi, qword [rbp + 0x168]
jb 0x14001d1a7
cmp rdi, qword [rbp + 0x170]
jae 0x14001d1a7
mov rax, qword [rbp + 0x160]
mov qword [rdi], rax
dec dword [rbp + 0x14c]
mov qword [rbp + 0x160], rdi
jmp 0x14001d1af
mov rcx, rdi
call fcn.14000e700
mov rdx, qword [rsp + 0xa8]
mov eax, Ordinal_1030
dec r15d
add r14, 0x38
test r15d, r15d
jg 0x14001cf70
mov ebx, dword [r13]
test ebx, ebx
je 0x14001d2ca
mov rbp, qword [rsp + 0x50]
mov eax, dword [rbp + 0x3c]
mov dword [r13 + 0x1c], eax
mov rax, qword [rbp + 0x30]
movsxd rdi, dword [rbp + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x14001d202
mov edx, 1
mov rcx, rbp
call fcn.140029ca0
test eax, eax
jne 0x14001d22e
mov rax, qword [rbp + 8]
inc dword [rbp + 0x3c]
lea rcx, [rdi + rdi*2]
mov word [rax + rcx*8], 0x19
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
lea rcx, [rsi + 0x94]
mov eax, 0xa
nop word [rax + rax]
mov edx, dword [rcx]
test edx, edx
je 0x14001d26d
cmp byte [rcx - 6], 0
je 0x14001d262
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x14001d25e
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], 0
mov rax, qword [rsp + 0x110]
mov dword [rcx], r12d
add rcx, 0x14
dec rax
mov qword [rsp + 0x110], rax
jne 0x14001d240
mov rdi, qword [rsp + 0xa8]
cmp dword [rdi + 0x14], 0
mov rbx, qword [rdi + 0x20]
jle 0x14001d2ca
test byte [rbx + 0x1c], 6
jne 0x14001d2bd
mov rax, qword [rbx + 0x30]
test qword [r13 + 0x48], rax
jne 0x14001d2bd
mov r8d, dword [rsp + 0xb8]
mov rdx, qword [rbx]
mov r9d, InitCommonControls
mov rcx, rsi
call fcn.14004a500
or byte [rbx + 0x1c], 4
inc r12d
add rbx, 0x38
cmp r12d, dword [rdi + 0x14]
jl 0x14001d290
mov rax, qword [r13 + 0x48]
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.140289bf0
mov rbx, qword [rsp + 0x200]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret