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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push r12
push r13
sub rsp, 0x1e8
cmp byte [r9 + 0x51], 0
mov rbp, r9
mov r13, rdx
mov r12, rcx
mov esi, 1
jne 0x1400604a9
cmp dword [rcx + 0x4c], 0
jne 0x1400604a9
xor ecx, ecx
mov qword [rax - 0x28], rbx
mov qword [rax - 0x30], rdi
mov qword [rax - 0x40], r15
xor r15d, r15d
cmp byte [r8], 8
mov qword [rax - 0x148], rcx
mov qword [rax - 0x140], rcx
mov qword [rax - 0x138], rcx
mov qword [rax - 0x130], rcx
mov qword [rax - 0x128], rcx
mov qword [rax - 0x120], rcx
mov qword [rax - 0x118], rcx
mov qword [rax - 0x110], rcx
ja 0x14005deb9
mov rdx, qword [rdx + 0x48]
mov rcx, r9
call fcn.140013fb0
and word [r13 + 0xa], 0xfffe
mov qword [r13 + 0x48], r15
mov rbx, qword [r12]
cmp byte [rbx + 0x51], r15b
jne 0x14005def0
test byte [r13 + 0xa], 0x40
jne 0x14005def0
mov rdx, r13
mov rcx, r12
call fcn.14004aa30
cmp dword [r12 + 0x4c], r15d
jne 0x14005def0
cmp byte [rbx + 0x51], r15b
jne 0x14005def0
xor r8d, r8d
mov rdx, r13
mov rcx, r12
call fcn.140048d10
mov rdi, qword [r13 + 0x48]
xor eax, eax
cmp dword [r12 + 0x4c], r15d
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rax
mov rax, qword [r13 + 0x28]
mov qword [rsp + 0x120], rdi
mov qword [rsp + 0x108], rax
jne 0x140060387
cmp byte [rbp + 0x51], r15b
jne 0x140060387
mov bpl, byte [r13 + 0xa]
mov rcx, r12
shr ebp, 3
and ebp, esi
call fcn.140026a90
test rax, rax
mov rsi, rax
mov qword [rsp + 0x58], rax
je 0x14006034f
mov rax, qword [r13 + 0x38]
mov rdx, qword [r13]
mov rbx, qword [rsp + 0x218]
movzx ecx, byte [rbx + 0xa]
mov qword [rsp + 0x78], rax
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0x1d0], r14
mov r14, qword [r13 + 0x30]
movzx r13d, byte [r13 + 0xa]
and r13b, 1
and cl, 9
mov qword [rsp + 0x148], rax
or eax, 0xffffffff
cmp cl, 1
mov qword [rsp + 0x88], rdx
mov byte [rsp + 0x110], r13b
mov qword [rsp + 0x140], r14
jne 0x14005e00c
mov r8d, eax
mov rcx, rdi
call fcn.140004b90
test eax, eax
jne 0x14005e001
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x228]
and word [rbx + 0xa], 0xfffe
xor r8d, r8d
call fcn.14001c810
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x78], rax
mov qword [rbx + 0x38], rax
or eax, 0xffffffff
jmp 0x14005e00c
mov rdx, qword [rsp + 0x88]
or eax, 0xffffffff
test rdi, rdi
je 0x14005e073
mov r9d, dword [rdx]
xor r8d, r8d
mov rcx, r12
mov rdx, rdi
call fcn.14003fff0
mov r8d, dword [r12 + 0x50]
mov dword [rsp + 0x30], 0xfffffffa
lea ecx, [r8 + 1]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x12c], r8d
mov dword [r12 + 0x50], ecx
mov rcx, qword [rsp + 0x88]
mov dword [rsp + 0x20], r15d
mov edx, dword [rcx]
mov ecx, dword [rdi]
lea r9d, [rdx + rcx + 1]
mov edx, 0x39
mov rcx, rsi
call fcn.140028ed0
mov ebx, eax
mov dword [rsp + 0x138], eax
jmp 0x14005e07c
mov ebx, eax
mov dword [rsp + 0x138], eax
mov rcx, qword [rsp + 0x220]
cmp byte [rcx], 0xc
jne 0x14005e0a5
mov rax, qword [rsp + 0x88]
mov r8d, dword [rcx + 4]
mov edx, 0x39
mov r9d, dword [rax]
mov rcx, rsi
call fcn.140025730
mov rcx, rsi
call fcn.140023d70
mov rcx, qword [rsp + 0x218]
movabs rdx, 0x7fffffffffffffff
mov qword [rcx + 0x20], rdx
mov rdx, rcx
mov rcx, r12
mov r8d, eax
mov dword [rsp + 0x150], eax
call fcn.140054310
mov r10, qword [rsp + 0x218]
cmp dword [r10 + 0xc], r15d
jne 0x14005e0ff
test ebx, ebx
js 0x14005e0ff
mov edx, ebx
mov rcx, rsi
call fcn.1400064c0
or byte [rsp + 0x13c], 1
mov byte [rax], 0x3a
test byte [r10 + 0xa], 1
je 0x14005e181
mov ebx, dword [r12 + 0x50]
xor r9d, r9d
xor r8d, r8d
lea eax, [rbx + 1]
mov rcx, r12
mov dword [rsp + 0x114], ebx
mov dword [r12 + 0x50], eax
mov rdx, qword [r10]
call fcn.14003fff0
xor r9d, r9d
mov dword [rsp + 0x30], 0xfffffffa
mov qword [rsp + 0x28], rax
lea edx, [r9 + 0x39]
mov r8d, ebx
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.140028ed0
mov rdx, qword [rsi + 8]
test rdx, rdx
mov dword [rsp + 0x118], eax
je 0x14005e16c
movsxd rax, dword [rsi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 8
mov r10, qword [rsp + 0x218]
mov r12b, 3
mov byte [rsp + 0x111], r12b
jmp 0x14005e18c
xor r12b, r12b
mov byte [rsp + 0x111], r12b
test ebp, ebp
jne 0x14005e2ba
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x14005e2ba
mov rdx, qword [rsp + 0x108]
movzx eax, r13b
mov dword [rsp + 0x30], r15d
neg al
mov rax, qword [r10]
mov r9, rdi
sbb cx, cx
mov r8, r14
and cx, 0x400
mov word [rsp + 0x28], cx
mov rcx, qword [rsp + 0x210]
mov qword [rsp + 0x20], rax
call fcn.14005d040
test rax, rax
mov rbx, rax
je 0x14006035e
mov rcx, rax
call fcn.140009820
mov r14, qword [rsp + 0x218]
cmp rax, qword [r14 + 0x20]
jae 0x14005e203
mov qword [r14 + 0x20], rax
test r13b, r13b
je 0x14005e21c
movzx ecx, byte [rbx + 0x38]
movzx eax, r12b
test cl, cl
cmovne eax, ecx
mov byte [rsp + 0x111], al
test rdi, rdi
je 0x14005e23a
movsx eax, byte [rbx + 0x34]
cmp eax, dword [rdi]
mov dword [rsp + 0x128], eax
cmove rdi, r15
mov qword [rsp + 0x120], rdi
mov ebp, dword [rsp + 0x138]
test ebp, ebp
js 0x14005e254
test rdi, rdi
jne 0x14005e254
mov edx, ebp
mov rcx, rsi
call fcn.140028b10
mov eax, dword [rbx + 0x44]
mov r12, qword [rsp + 0x220]
mov rbp, qword [rsp + 0x88]
mov r15, qword [rsp + 0x210]
mov dword [rsp + 0x40], eax
mov eax, dword [rbx + 0x40]
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x120]
or edi, 0xffffffff
mov r8, rbp
mov rdx, r14
mov rcx, r15
mov r9d, edi
mov qword [rsp + 0x20], rax
call fcn.140044100
mov rcx, rbx
call fcn.140025ef0
jmp 0x1400602be
mov r12, qword [rsp + 0x78]
xor r13d, r13d
test r12, r12
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x60], r13d
je 0x14005e335
mov rax, qword [r10]
mov ecx, dword [rax]
mov rax, qword [rax + 8]
test ecx, ecx
jle 0x14005e2ff
add rax, 0x22
nop
nop
nop
nop
sub ecx, 1
mov word [rax], r13w
add rax, 0x28
test ecx, ecx
jg 0x14005e2f0
mov eax, dword [r12]
mov rcx, qword [r12 + 8]
test eax, eax
jle 0x14005e31f
add rcx, 0x22
sub eax, 1
mov word [rcx], r13w
add rcx, 0x28
test eax, eax
jg 0x14005e310
cmp qword [r10 + 0x20], 0x64
jbe 0x14005e340
mov qword [r10 + 0x20], 0x64
mov ebx, 1
jmp 0x14005e345
mov ebx, 1
mov qword [r10 + 0x20], rbx
jmp 0x14005e345
mov ebx, 1
or r15d, 0xffffffff
mov rdx, rdi
mov rcx, r12
mov r8d, r15d
call fcn.140004b90
mov ecx, r13d
test eax, eax
cmove ecx, ebx
mov rbx, qword [rsi + 0x30]
movsxd rbp, dword [rbx + 0x78]
mov dword [rsp + 0xa8], ecx
lea eax, [rbp + 1]
mov dword [rbx + 0x78], eax
lea eax, [rbp - 1]
test ebp, eax
jne 0x14005e39c
mov rdx, qword [rbx + 0x80]
mov rcx, qword [rbx]
lea eax, [rbp + rbp + 1]
movsxd r8, eax
shl r8, 2
call fcn.140022050
mov qword [rbx + 0x80], rax
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x14005e3ac
mov dword [rcx + rbp*4], r15d
mov rcx, qword [rsp + 0x108]
mov eax, r15d
sub eax, ebp
mov dword [rsp + 0x64], eax
xor eax, eax
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x158], rax
mov eax, dword [rax + 0x54]
lea rcx, [rsp + 0xc0]
add eax, 1
test r12, r12
mov qword [rsp + 0x170], rcx
mov dword [rsp + 0xd0], eax
je 0x14005e43e
mov eax, dword [r12]
mov dword [rsp + 0xcc], eax
jmp 0x14005e446
mov dword [rsp + 0xcc], r13d
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xd8], r12
test rax, rax
je 0x14005e46b
lea rcx, [rsp + 0x158]
mov rdx, rax
call fcn.140027500
test rdi, rdi
je 0x14005e480
lea rcx, [rsp + 0x158]
mov rdx, rdi
call fcn.140027500
mov rax, qword [rsp + 0x148]
test rax, rax
je 0x14005e49d
lea rcx, [rsp + 0x158]
mov rdx, rax
call fcn.140024be0
mov edi, dword [rsp + 0xf8]
mov eax, dword [rsp + 0xe8]
mov r15d, r13d
test edi, edi
mov dword [rsp + 0xec], eax
jle 0x14005e6dc
movzx edx, word [rsp + 0x188]
mov r14, r13
lea r8, [fcn.140023590]
lea r9, [0x140004b10]
xor esi, esi
nop
nop
mov rax, qword [rsp + 0xf0]
or dx, 8
mov word [rsp + 0x188], dx
mov rcx, qword [r14 + rax]
mov r13, qword [rcx + 0x20]
test r13, r13
je 0x14005e6a9
cmp dword [r13], esi
mov rbp, qword [r13 + 8]
mov r12d, esi
jle 0x14005e6a9
mov rbx, qword [rbp]
xor eax, eax
test rbx, rbx
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x198], rax
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x1b0], rax
lea rax, [rsp + 0x158]
mov qword [rsp + 0x190], r8
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x198], r9
je 0x14005e688
lea rcx, [rsp + 0x190]
mov rdx, rbx
call fcn.140023590
test eax, eax
jne 0x14005e65a
bt dword [rbx + 4], 0xe
jb 0x14005e64a
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14005e5b6
lea rcx, [rsp + 0x190]
call fcn.14000f6b0
test eax, eax
jne 0x14005e66a
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x14005e5d4
lea rcx, [rsp + 0x190]
call fcn.14000f6b0
test eax, eax
jne 0x14005e67a
bt dword [rbx + 4], 0xb
jae 0x14005e604
mov rdx, qword [rbx + 0x20]
test rdx, rdx
je 0x14005e62a
lea rcx, [rsp + 0x190]
call fcn.14000f5c0
lea r8, [fcn.140023590]
lea r9, [0x140004b10]
jmp 0x14005e688
mov rdx, qword [rbx + 0x20]
test rdx, rdx
je 0x14005e63a
lea rcx, [rsp + 0x190]
call fcn.140005840
lea r8, [fcn.140023590]
lea r9, [0x140004b10]
jmp 0x14005e688
lea r8, [fcn.140023590]
lea r9, [0x140004b10]
jmp 0x14005e688
lea r8, [fcn.140023590]
lea r9, [0x140004b10]
jmp 0x14005e688
lea r8, [fcn.140023590]
lea r9, [0x140004b10]
jmp 0x14005e688
lea r8, [fcn.140023590]
lea r9, [0x140004b10]
jmp 0x14005e688
lea r8, [fcn.140023590]
lea r9, [0x140004b10]
jmp 0x14005e688
lea r8, [fcn.140023590]
lea r9, [0x140004b10]
add r12d, 1
add rbp, 0x28
cmp r12d, dword [r13]
jl 0x14005e516
mov edi, dword [rsp + 0xf8]
mov dx, word [rsp + 0x188]
and dx, 0xfff7
add r15d, 1
add r14, 0x18
cmp r15d, edi
mov word [rsp + 0x188], dx
jl 0x14005e4e0
mov rsi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x140]
mov r12, qword [rsp + 0x78]
xor r13d, r13d
mov r15, qword [rsp + 0x210]
mov rbp, qword [rsp + 0x228]
cmp byte [rbp + 0x51], 0
mov eax, dword [r15 + 0x54]
mov dword [rsp + 0xd4], eax
jne 0x140060348
test r12, r12
je 0x1400600c0
mov eax, dword [r15 + 0x50]
mov r9d, dword [rsp + 0xe8]
xor r8d, r8d
mov dword [rsp + 0xc4], eax
add eax, 1
mov rdx, r12
mov rcx, r15
mov dword [r15 + 0x50], eax
call fcn.14003fff0
movsxd r12, dword [rsi + 0x3c]
mov rcx, qword [rsi + 0x30]
cmp dword [rcx + 0x60], r12d
mov ebx, dword [rsp + 0xcc]
mov edi, dword [rsp + 0xc4]
mov rbp, rax
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x104], r12d
jg 0x14005e780
mov r15d, 1
mov rcx, rsi
mov edx, r15d
call fcn.1400214c0
test eax, eax
je 0x14005e780
mov r12d, r15d
mov dword [rsp + 0x104], r15d
jmp 0x14005e7ac
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
lea rcx, [r12 + r12*2]
mov byte [rax + rcx*8], 0x3a
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
mov rbx, qword [rsi + 8]
mov rcx, qword [rsi]
mov eax, r12d
test rbx, rbx
je 0x14005e803
cmp byte [rcx + 0x51], 0
jne 0x14005e803
test r12d, r12d
jns 0x14005e7cc
mov eax, dword [rsi + 0x3c]
sub eax, 1
cdqe
lea rdi, [rax + rax*2]
movsx edx, byte [rbx + rdi*8 + 1]
mov r8, qword [rbx + rdi*8 + 0x10]
call fcn.1400255f0
test rbp, rbp
mov qword [rbx + rdi*8 + 0x10], r13
jne 0x14005e7f7
mov qword [rbx + rdi*8 + 0x10], r13
mov byte [rbx + rdi*8 + 1], bpl
jmp 0x14005e810
mov qword [rbx + rdi*8 + 0x10], rbp
mov byte [rbx + rdi*8 + 1], 0xfa
jmp 0x14005e810
mov r8, rbp
mov edx, 0xfffffffa
call fcn.1400255f0
mov rbp, qword [rsp + 0x210]
mov eax, dword [rbp + 0x54]
add eax, 1
mov dword [rsp + 0x68], eax
add eax, 2
mov dword [rbp + 0x54], eax
mov rbx, qword [rsi + 0x30]
mov dword [rsp + 0x90], eax
movsxd rdi, dword [rbx + 0x78]
lea eax, [rdi + 1]
mov dword [rbx + 0x78], eax
lea eax, [rdi - 1]
test edi, eax
jne 0x14005e865
mov rdx, qword [rbx + 0x80]
mov rcx, qword [rbx]
lea eax, [rdi + rdi + 1]
movsxd r8, eax
shl r8, 2
call fcn.140022050
mov qword [rbx + 0x80], rax
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x14005e879
or edx, 0xffffffff
mov dword [rcx + rdi*4], edx
jmp 0x14005e87c
or edx, 0xffffffff
add dword [rbp + 0x54], 1
mov rbx, qword [rsi + 0x30]
mov eax, edx
sub eax, edi
movsxd rdi, dword [rbx + 0x78]
mov dword [rsp + 0x9c], eax
mov eax, dword [rbp + 0x54]
mov dword [rsp + 0xa0], eax
lea eax, [rdi + 1]
mov dword [rbx + 0x78], eax
lea eax, [rdi - 1]
test edi, eax
jne 0x14005e8ce
mov rdx, qword [rbx + 0x80]
mov rcx, qword [rbx]
lea eax, [rdi + rdi + 1]
movsxd r8, eax
shl r8, 2
call fcn.140022050
or edx, 0xffffffff
mov qword [rbx + 0x80], rax
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x14005e8dd
mov dword [rcx + rdi*4], edx
mov ecx, dword [rbp + 0x54]
mov r15, qword [rsp + 0x78]
mov eax, edx
mov edx, dword [r15]
sub eax, edi
lea r12d, [rcx + 1]
add edx, ecx
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x100], r12d
mov dword [rbp + 0x54], edx
lea eax, [rdx + 1]
mov dword [rsp + 0x80], eax
mov eax, dword [r15]
lea ecx, [rdx + rax]
mov dword [rbp + 0x54], ecx
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x14005e935
mov edx, 1
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005e96b
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
mov edi, dword [rsp + 0x68]
lea rcx, [rbx + rbx*2]
lea edx, [rdi + 1]
mov dword [rax + rcx*8 + 8], edx
mov byte [rax + rcx*8], 0x17
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
jmp 0x14005e96f
mov edi, dword [rsp + 0x68]
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x14005e98d
mov edx, 1
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005e9ba
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], 0x17
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
mov eax, dword [r15]
movsxd rbx, dword [rsi + 0x3c]
lea edi, [rax + r12 - 1]
mov rax, qword [rsi + 0x30]
cmp dword [rax + 0x60], ebx
jg 0x14005e9e0
mov edx, 1
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005ea0d
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], 0x1a
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x14005ea2b
mov edx, 1
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005ea65
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
mov edx, dword [rsp + 0xa0]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x98]
mov byte [rax + rcx*8], InitCommonControls
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov dword [rax + rcx*8 + 8], edx
mov byte [rax + rcx*8 + 1], 0
mov eax, dword [rsp + 0xa8]
mov rdx, qword [rsp + 0x108]
mov dword [rsp + 0x30], r13d
neg eax
mov r9, r15
mov r8, r14
sbb cx, cx
and cx, 0x800
or cx, 0x100
mov word [rsp + 0x28], cx
mov rcx, rbp
mov qword [rsp + 0x20], r13
call fcn.14005d040
test rax, rax
mov qword [rsp + 0xb0], rax
je 0x1400600ae
mov r14d, dword [r15]
movsx ecx, byte [rax + 0x34]
mov r8d, 0xa
cmp ecx, r14d
mov qword [rsp + 0x140], r8
jne 0x14005eae8
mov r14, qword [rsp + 0x210]
mov r15d, dword [rsp + 0x50]
mov r12d, r13d
mov dword [rsp + 0x94], r13d
jmp 0x14005ef43
mov edx, dword [rsp + 0xe8]
mov dword [rsp + 0x94], 1
mov r12d, r14d
test edx, edx
mov dword [rsp + 0x60], r14d
mov ecx, r14d
jle 0x14005eb2f
mov rax, qword [rsp + 0xe0]
add rax, 0x10
cmp dword [rax], ecx
jl 0x14005eb20
add r12d, 1
add ecx, 1
add rax, 0x20
sub rdx, 1
jne 0x14005eb15
mov dword [rsp + 0x60], r12d
mov ecx, dword [rbp + 0x44]
mov r15d, dword [rbp + 0x48]
cmp r12d, ecx
mov dword [rsp + 0x50], r15d
jg 0x14005eb4f
lea eax, [r15 + r12]
sub ecx, r12d
mov dword [rbp + 0x48], eax
mov dword [rbp + 0x44], ecx
jmp 0x14005eb61
mov eax, dword [rbp + 0x54]
lea r15d, [rax + 1]
add eax, r12d
mov dword [rsp + 0x50], r15d
mov dword [rbp + 0x54], eax
lea rax, [rbp + 0x88]
mov qword [rsp + 0xb8], rax
lea rcx, [rax + 0xc]
mov edx, dword [rcx]
test edx, edx
je 0x14005eb9a
cmp byte [rcx - 6], 0
je 0x14005eb97
movzx eax, byte [rbp + 0x1f]
cmp al, 8
jae 0x14005eb93
movzx eax, al
mov dword [rbp + rax*4 + 0x24], edx
add byte [rbp + 0x1f], 1
mov byte [rcx - 6], 0
mov dword [rcx], r13d
add rcx, 0x14
sub r8, 1
jne 0x14005eb74
mov rdx, qword [rsp + 0x78]
xor r9d, r9d
mov r8d, r15d
mov rcx, rbp
call fcn.140027b90
mov eax, dword [rsp + 0xe8]
test eax, eax
jle 0x14005ec82
lea ebp, [r15 + r14]
xor r15d, r15d
mov rdi, r15
mov rdx, qword [rsp + 0xe0]
cmp dword [rdi + rdx + 0x10], r14d
jl 0x14005ec67
mov r9d, dword [rdi + rdx + 8]
mov r8d, dword [rdi + rdx + 0xc]
mov rcx, qword [rsp + 0x210]
mov rdx, qword [rdi + rdx]
mov byte [rsp + 0x28], r15b
mov dword [rsp + 0x20], ebp
call fcn.140045830
cmp ebp, eax
mov r12d, eax
je 0x14005ec59
mov rcx, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rcx + 0x60], ebx
jg 0x14005ec2c
mov edx, 1
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005ec59
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], 0x20
mov byte [rax + rcx*8 + 3], r15b
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov byte [rax + rcx*8 + 1], r15b
mov eax, dword [rsp + 0xe8]
add r14d, 1
add ebp, 1
add r13d, 1
add rdi, 0x20
cmp r13d, eax
jl 0x14005ebd0
mov r15d, dword [rsp + 0x50]
mov r12d, dword [rsp + 0x60]
mov r14, qword [rsp + 0x210]
movzx eax, byte [r14 + 0x1f]
test al, al
jne 0x14005ec9e
add dword [r14 + 0x54], 1
mov edi, dword [r14 + 0x54]
jmp 0x14005ecac
sub al, 1
movzx eax, al
mov byte [r14 + 0x1f], al
mov edi, dword [r14 + rax*4 + 0x24]
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x14005ecca
mov edx, 1
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005ecfc
add dword [rsi + 0x3c], 1
mov rax, qword [rsi + 8]
lea rcx, [rbx + rbx*2]
xor r13d, r13d
mov byte [rax + rcx*8], 0x31
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], r13b
jmp 0x14005ecff
xor r13d, r13d
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
mov ebp, dword [rsp + 0xc4]
cmp dword [rax + 0x60], ebx
jg 0x14005ed24
mov edx, 1
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005ed50
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], 0x6e
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
test edi, edi
je 0x14005eda0
movzx edx, byte [r14 + 0x1f]
cmp dl, 8
jae 0x14005ed96
mov rbp, qword [rsp + 0xb8]
mov ecx, r13d
mov rax, rbp
nop
cmp dword [rax + 0xc], edi
je 0x14005ed90
add ecx, 1
add rax, 0x14
cmp ecx, 0xa
jl 0x14005ed70
movzx eax, dl
mov dword [r14 + rax*4 + 0x24], edi
add byte [r14 + 0x1f], 1
jmp 0x14005eda8
mov byte [rax + 6], 1
jmp 0x14005eda8
mov rbp, qword [rsp + 0xb8]
jmp 0x14005eda8
mov rbp, qword [rsp + 0xb8]
lea r9d, [r15 + r12 - 1]
lea rcx, [rbp + 0xc]
mov r8d, 0xa
mov edx, dword [rcx]
cmp edx, r15d
jl 0x14005ede6
cmp edx, r9d
jg 0x14005ede6
cmp byte [rcx - 6], 0
je 0x14005ede3
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x14005eddf
movzx eax, al
mov dword [r14 + rax*4 + 0x24], edx
add byte [r14 + 0x1f], 1
mov byte [rcx - 6], 0
mov dword [rcx], r13d
add rcx, 0x14
sub r8, 1
jne 0x14005edb7
cmp r12d, dword [r14 + 0x44]
jle 0x14005edfe
mov dword [r14 + 0x44], r12d
mov dword [r14 + 0x48], r15d
mov rcx, qword [rsp + 0xb0]
call fcn.140025ef0
mov r15d, dword [r14 + 0x50]
lea eax, [r15 + 1]
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0xc8], r15d
mov dword [r14 + 0x50], eax
movzx eax, byte [r14 + 0x1f]
test al, al
jne 0x14005ee3c
add dword [r14 + 0x54], 1
mov edi, dword [r14 + 0x54]
mov dword [rsp + 0x60], edi
jmp 0x14005ee4e
sub al, 1
movzx eax, al
mov byte [r14 + 0x1f], al
mov edi, dword [r14 + rax*4 + 0x24]
mov dword [rsp + 0x60], edi
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x14005ee6c
mov edx, 1
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005ee99
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], 0x3c
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
mov edi, dword [rsp + 0xc4]
cmp dword [rax + 0x60], ebx
jg 0x14005eebe
mov edx, 1
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005eeee
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
mov edx, dword [rsp + 0x64]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], 0x6b
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
mov byte [rsp + 0xc1], 1
lea rcx, [rbp + 0xc]
mov r8d, 0xa
mov edx, dword [rcx]
test edx, edx
je 0x14005ef29
cmp byte [rcx - 6], 0
je 0x14005ef26
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x14005ef22
movzx eax, al
mov dword [r14 + rax*4 + 0x24], edx
add byte [r14 + 0x1f], 1
mov byte [rcx - 6], 0
mov dword [rcx], r13d
add rcx, 0x14
sub r8, 1
jne 0x14005ef00
mov r12d, dword [rsp + 0x94]
mov rax, qword [rsp + 0xb0]
cmp dword [rsp + 0xa8], 0
je 0x14005efaa
test r12d, r12d
jne 0x14005ef58
cmp byte [rax + 0x35], r12b
je 0x14005efaa
movsxd rbp, dword [rsp + 0x138]
mov qword [rsp + 0x120], r13
cmp ebp, dword [rsi + 0x3c]
jge 0x14005efaa
mov rbx, qword [rsi + 8]
mov rcx, qword [rsi]
lea rdi, [rbp + rbp*2]
movsx edx, byte [rbx + rdi*8 + 1]
mov r8, qword [rbx + rdi*8 + 0x10]
call fcn.1400255f0
xor r11d, r11d
mov qword [rbx + rdi*8], r11
mov qword [rbx + rdi*8 + 8], r11
mov qword [rbx + rdi*8 + 0x10], r11
mov byte [rbx + rdi*8], 0x9f
mov eax, dword [rsi + 0x3c]
add eax, 0xffffffff
cmp ebp, eax
jne 0x14005efaa
mov dword [rsi + 0x3c], eax
mov eax, dword [rsi + 0x3c]
lea rcx, [r14 + 0x94]
mov r8d, 0xa
mov dword [rsp + 0xb8], eax
mov edx, dword [rcx]
test edx, edx
je 0x14005efea
cmp byte [rcx - 6], 0
je 0x14005efe7
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x14005efe3
movzx eax, al
mov dword [r14 + rax*4 + 0x24], edx
add byte [r14 + 0x1f], 1
mov byte [rcx - 6], 0
mov dword [rcx], r13d
add rcx, 0x14
sub r8, 1
jne 0x14005efc1
test r12d, r12d
je 0x14005f04d
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
mov edi, dword [rsp + 0xc4]
cmp dword [rax + 0x60], ebx
jg 0x14005f01d
lea edx, [r8 + 1]
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005f04d
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
mov edx, dword [rsp + 0x60]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], 0x65
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
mov rcx, qword [rsp + 0x78]
movsxd r15, r12d
cmp dword [rcx], 0
jle 0x14005f1d8
mov ebp, dword [rsp + 0x80]
xor edi, edi
mov r14, rdi
nop
nop
test r15, r15
je 0x14005f0cc
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x14005f097
mov edx, 1
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005f1bf
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
mov edx, dword [rsp + 0x50]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], 0x2f
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rdi
mov byte [rax + rcx*8 + 1], 0
jmp 0x14005f1bf
mov byte [rsp + 0xc0], 1
mov rax, qword [rcx + 8]
mov rdx, qword [r14 + rax]
test rdx, rdx
je 0x14005f148
cmp byte [rdx], 0x9f
jne 0x14005f148
mov rax, qword [rsp + 0x210]
mov r12d, dword [rdx + 0x2c]
mov rbx, qword [rax + 0x10]
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x14005f118
mov edx, 1
mov rcx, rbx
call fcn.1400214c0
test eax, eax
jne 0x14005f1b9
add dword [rbx + 0x3c], 1
mov rax, qword [rbx + 8]
lea rcx, [rdi + rdi*2]
xor edi, edi
mov byte [rax + rcx*8], 0x1f
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov byte [rax + rcx*8 + 1], dil
jmp 0x14005f1bf
mov rbx, qword [rsp + 0x210]
mov r8d, ebp
mov rcx, rbx
call fcn.14004b040
cmp eax, ebp
mov r12d, eax
je 0x14005f1bf
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14005f1bf
mov rcx, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rcx + 0x60], edi
jg 0x14005f189
mov edx, 1
mov rcx, rbx
call fcn.1400214c0
test eax, eax
jne 0x14005f1bd
add dword [rbx + 0x3c], 1
mov rax, qword [rbx + 8]
lea rcx, [rdi + rdi*2]
xor edi, edi
mov byte [rax + rcx*8], 0x20
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov byte [rax + rcx*8 + 1], dil
jmp 0x14005f1bf
xor edi, edi
jmp 0x14005f1bf
xor edi, edi
mov rcx, qword [rsp + 0x78]
add r13d, 1
add ebp, 1
add r14, 0x28
cmp r13d, dword [rcx]
jl 0x14005f070
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14005f1e5
add dword [rax], 1
mov r14, qword [rsi + 0x30]
movsxd r13, dword [rsi + 0x3c]
mov r15d, dword [rcx]
cmp dword [r14 + 0x60], r13d
jg 0x14005f307
mov eax, dword [r14 + 0x60]
test eax, eax
je 0x14005f206
add eax, eax
jmp 0x14005f20b
mov eax, 0x2a
mov r12, qword [r14]
mov rbp, qword [rsi + 8]
cdqe
lea rdi, [rax + rax*2]
xor eax, eax
shl rdi, 3
cmp byte [r12 + 0x51], al
mov rbx, rax
jne 0x14005f2c8
test rbp, rbp
jne 0x14005f2a6
test rdi, rdi
je 0x14005f29e
cmp rdi, 0x7fffff00
jae 0x14005f29e
cmp dword [0x1400bf010], eax
je 0x14005f28e
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14005f259
call qword [0x1400bf098]
lea rdx, [rsp + 0xa8]
mov ecx, edi
call fcn.140011830
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14005f284
call qword [0x1400bf0a8]
mov rbx, qword [rsp + 0xa8]
jmp 0x14005f299
mov rbx, qword [rsp + 0xa8]
jmp 0x14005f299
mov ecx, edi
call qword [0x1400bf038]
mov rbx, rax
test rbx, rbx
jne 0x14005f2c8
mov byte [r12 + 0x51], 1
jmp 0x14005f2c8
call fcn.140047020
test eax, eax
jne 0x14005f2c2
mov rdx, rdi
mov rcx, rbp
call fcn.140015db0
test rax, rax
mov rbx, rax
jne 0x14005f2c8
mov byte [r12 + 0x51], 1
test rbx, rbx
je 0x14005f395
cmp qword [r14], 0
jne 0x14005f2e2
mov rcx, rbx
call qword [0x1400bf050]
jmp 0x14005f2eb
mov rcx, rbx
call qword [0x1400bf050]
movsxd rcx, eax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 4
mov dword [r14 + 0x60], edx
mov qword [rsi + 8], rbx
add dword [rsi + 0x3c], 1
mov rax, qword [rsi + 8]
mov edx, dword [rsp + 0x100]
lea rcx, [r13 + r13*2]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x80]
mov dword [rax + rcx*8 + 0xc], r15d
xor r15d, r15d
mov byte [rax + rcx*8], 0x2a
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], edx
mov qword [rax + rcx*8 + 0x10], r15
mov byte [rax + rcx*8 + 1], r15b
mov rbx, qword [rsi + 8]
mov rcx, qword [rsi]
test rbx, rbx
je 0x14005f3ac
cmp byte [rcx + 0x51], 0
jne 0x14005f3ac
test r13d, r13d
jns 0x14005f364
mov r13d, dword [rsi + 0x3c]
sub r13d, 1
movsxd rax, r13d
lea rdi, [rax + rax*2]
movsx edx, byte [rbx + rdi*8 + 1]
mov r8, qword [rbx + rdi*8 + 0x10]
call fcn.1400255f0
mov r8, qword [rsp + 0x70]
mov qword [rbx + rdi*8 + 0x10], r15
test r8, r8
jne 0x14005f3a0
mov qword [rbx + rdi*8 + 0x10], r15
mov byte [rbx + rdi*8 + 1], r8b
jmp 0x14005f3bb
mov r13d, 1
xor r15d, r15d
jmp 0x14005f345
mov qword [rbx + rdi*8 + 0x10], r8
mov byte [rbx + rdi*8 + 1], 0xfa
jmp 0x14005f3bb
mov r8, qword [rsp + 0x70]
mov edx, 0xfffffffa
call fcn.1400255f0
movsxd r14, dword [rsi + 0x3c]
mov r13, qword [rsi + 0x30]
cmp dword [r13 + 0x60], r14d
mov dword [rsp + 0x50], r14d
jg 0x14005f4d3
mov eax, dword [r13 + 0x60]
test eax, eax
je 0x14005f3de
add eax, eax
jmp 0x14005f3e3
mov eax, 0x2a
mov r12, qword [r13]
mov rbp, qword [rsi + 8]
cdqe
lea rdi, [rax + rax*2]
mov rbx, r15
shl rdi, 3
cmp byte [r12 + 0x51], 0
jne 0x14005f497
test rbp, rbp
jne 0x14005f475
test rdi, rdi
je 0x14005f46d
cmp rdi, 0x7fffff00
jae 0x14005f46d
cmp dword [0x1400bf010], ebp
je 0x14005f45d
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14005f431
call qword [0x1400bf098]
lea rdx, [rsp + 0x70]
mov ecx, edi
call fcn.140011830
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14005f456
call qword [0x1400bf0a8]
mov rbx, qword [rsp + 0x70]
jmp 0x14005f468
mov rbx, qword [rsp + 0x70]
jmp 0x14005f468
mov ecx, edi
call qword [0x1400bf038]
mov rbx, rax
test rbx, rbx
jne 0x14005f497
mov byte [r12 + 0x51], 1
jmp 0x14005f497
call fcn.140047020
test eax, eax
jne 0x14005f491
mov rdx, rdi
mov rcx, rbp
call fcn.140015db0
test rax, rax
mov rbx, rax
jne 0x14005f497
mov byte [r12 + 0x51], 1
test rbx, rbx
je 0x14005f503
cmp qword [r13], 0
jne 0x14005f4ae
mov rcx, rbx
call qword [0x1400bf050]
jmp 0x14005f4b7
mov rcx, rbx
call qword [0x1400bf050]
movsxd rcx, eax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 4
mov dword [r13 + 0x60], edx
mov qword [rsi + 8], rbx
mov rcx, qword [rsi + 8]
add dword [rsi + 0x3c], 1
lea rdx, [r14 + r14*2]
lea eax, [r14 + 1]
mov byte [rcx + rdx*8], 0x2b
mov byte [rcx + rdx*8 + 3], 0
mov dword [rcx + rdx*8 + 8], r15d
mov qword [rcx + rdx*8 + 0x10], r15
mov byte [rcx + rdx*8 + 1], 0
mov dword [rcx + rdx*8 + 4], eax
mov dword [rcx + rdx*8 + 0xc], eax
mov rax, qword [rsp + 0x78]
mov r15d, dword [rax]
mov rax, qword [rsp + 0x210]
mov r13, qword [rax + 0x10]
mov eax, dword [r13 + 0x3c]
mov r14, qword [r13 + 0x30]
cmp dword [r14 + 0x60], eax
mov dword [rsp + 0xa8], eax
jg 0x14005f63b
mov eax, dword [r14 + 0x60]
test eax, eax
je 0x14005f53c
add eax, eax
jmp 0x14005f541
mov eax, 0x2a
mov r12, qword [r14]
mov rbp, qword [r13 + 8]
cdqe
lea rdi, [rax + rax*2]
xor eax, eax
shl rdi, 3
cmp byte [r12 + 0x51], al
mov rbx, rax
jne 0x14005f5f5
test rbp, rbp
jne 0x14005f5d3
test rdi, rdi
je 0x14005f5cb
cmp rdi, 0x7fffff00
jae 0x14005f5cb
cmp dword [0x1400bf010], eax
je 0x14005f5bb
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14005f58f
call qword [0x1400bf098]
lea rdx, [rsp + 0x70]
mov ecx, edi
call fcn.140011830
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14005f5b4
call qword [0x1400bf0a8]
mov rbx, qword [rsp + 0x70]
jmp 0x14005f5c6
mov rbx, qword [rsp + 0x70]
jmp 0x14005f5c6
mov ecx, edi
call qword [0x1400bf038]
mov rbx, rax
test rbx, rbx
jne 0x14005f5f5
mov byte [r12 + 0x51], 1
jmp 0x14005f5f5
call fcn.140047020
test eax, eax
jne 0x14005f5ef
mov rdx, rdi
mov rcx, rbp
call fcn.140015db0
test rax, rax
mov rbx, rax
jne 0x14005f5f5
mov byte [r12 + 0x51], 1
test rbx, rbx
je 0x14005f680
cmp qword [r14], 0
jne 0x14005f60f
mov rcx, rbx
call qword [0x1400bf050]
jmp 0x14005f618
mov rcx, rbx
call qword [0x1400bf050]
movsxd rcx, eax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
mov eax, dword [rsp + 0xa8]
shr rdx, 4
mov dword [r14 + 0x60], edx
mov qword [r13 + 8], rbx
add dword [r13 + 0x3c], 1
mov r10d, dword [rsp + 0x80]
mov edx, dword [rsp + 0x100]
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 8]
mov byte [rax + rcx*8], 0x1e
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], 0
mov byte [rax + rcx*8 + 1], 0
jmp 0x14005f688
mov r10d, dword [rsp + 0x80]
mov r9, qword [rsp + 0x210]
xor esi, esi
lea r8d, [r15 + r10 - 1]
lea rcx, [r9 + 0x94]
lea eax, [rsi + 0xa]
mov edx, dword [rcx]
cmp edx, r10d
jl 0x14005f6d7
cmp edx, r8d
jg 0x14005f6d7
cmp byte [rcx - 6], sil
je 0x14005f6cd
movzx eax, byte [r9 + 0x1f]
cmp al, 8
jae 0x14005f6c9
movzx eax, al
mov dword [r9 + rax*4 + 0x24], edx
add byte [r9 + 0x1f], 1
mov byte [rcx - 6], sil
mov rax, qword [rsp + 0x140]
mov dword [rcx], esi
add rcx, 0x14
sub rax, 1
mov qword [rsp + 0x140], rax
jne 0x14005f6a1
mov rsi, qword [rsp + 0x58]
mov r12, qword [rsi + 0x30]
movsxd r14, dword [rsi + 0x3c]
cmp dword [r12 + 0x60], r14d
jg 0x14005f804
mov eax, dword [r12 + 0x60]
test eax, eax
je 0x14005f70e
add eax, eax
jmp 0x14005f713
mov eax, 0x2a
mov r13, qword [r12]
mov rbp, qword [rsi + 8]
xor r15d, r15d
cdqe
mov rbx, r15
lea rdi, [rax + rax*2]
shl rdi, 3
cmp byte [r13 + 0x51], bl
jne 0x14005f7c6
test rbp, rbp
jne 0x14005f7a5
test rdi, rdi
je 0x14005f79e
cmp rdi, 0x7fffff00
jae 0x14005f79e
cmp dword [0x1400bf010], ebx
je 0x14005f78e
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14005f762
call qword [0x1400bf098]
lea rdx, [rsp + 0x58]
mov ecx, edi
call fcn.140011830
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14005f787
call qword [0x1400bf0a8]
mov rbx, qword [rsp + 0x58]
jmp 0x14005f799
mov rbx, qword [rsp + 0x58]
jmp 0x14005f799
mov ecx, edi
call qword [0x1400bf038]
mov rbx, rax
test rbx, rbx
jne 0x14005f7c6
mov byte [r13 + 0x51], 1
jmp 0x14005f7c6
call fcn.140047020
test eax, eax
jne 0x14005f7c1
mov rdx, rdi
mov rcx, rbp
call fcn.140015db0
test rax, rax
mov rbx, rax
jne 0x14005f7c6
mov byte [r13 + 0x51], 1
test rbx, rbx
je 0x14005f841
cmp qword [r12], r15
jne 0x14005f7dc
mov rcx, rbx
call qword [0x1400bf050]
jmp 0x14005f7e5
mov rcx, rbx
call qword [0x1400bf050]
movsxd rcx, eax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 4
mov dword [r12 + 0x60], edx
mov qword [rsi + 8], rbx
jmp 0x14005f807
xor r15d, r15d
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
mov edx, dword [rsp + 0x90]
lea rcx, [r14 + r14*2]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x9c]
mov byte [rax + rcx*8], InitCommonControls
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov dword [rax + rcx*8 + 8], edx
mov byte [rax + rcx*8 + 1], 0
mov r12, qword [rsi + 0x30]
movsxd r14, dword [rsi + 0x3c]
cmp dword [r12 + 0x60], r14d
jg 0x14005f954
mov eax, dword [r12 + 0x60]
test eax, eax
je 0x14005f861
add eax, eax
jmp 0x14005f866
mov eax, 0x2a
mov r13, qword [r12]
mov rbp, qword [rsi + 8]
cdqe
lea rdi, [rax + rax*2]
mov rbx, r15
shl rdi, 3
cmp byte [r13 + 0x51], 0
jne 0x14005f917
test rbp, rbp
jne 0x14005f8f6
test rdi, rdi
je 0x14005f8ef
cmp rdi, 0x7fffff00
jae 0x14005f8ef
cmp dword [0x1400bf010], ebp
je 0x14005f8df
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14005f8b3
call qword [0x1400bf098]
lea rdx, [rsp + 0x58]
mov ecx, edi
call fcn.140011830
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14005f8d8
call qword [0x1400bf0a8]
mov rbx, qword [rsp + 0x58]
jmp 0x14005f8ea
mov rbx, qword [rsp + 0x58]
jmp 0x14005f8ea
mov ecx, edi
call qword [0x1400bf038]
mov rbx, rax
test rbx, rbx
jne 0x14005f917
mov byte [r13 + 0x51], 1
jmp 0x14005f917
call fcn.140047020
test eax, eax
jne 0x14005f912
mov rdx, rdi
mov rcx, rbp
call fcn.140015db0
test rax, rax
mov rbx, rax
jne 0x14005f917
mov byte [r13 + 0x51], 1
test rbx, rbx
je 0x14005f98b
cmp qword [r12], 0
jne 0x14005f92e
mov rcx, rbx
call qword [0x1400bf050]
jmp 0x14005f937
mov rcx, rbx
call qword [0x1400bf050]
movsxd rcx, eax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 4
mov dword [r12 + 0x60], edx
mov qword [rsi + 8], rbx
add dword [rsi + 0x3c], 1
mov rax, qword [rsi + 8]
mov edx, dword [rsp + 0x68]
lea rcx, [r14 + r14*2]
add edx, 1
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x64]
mov byte [rax + rcx*8], 0x8a
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov dword [rax + rcx*8 + 8], edx
mov byte [rax + rcx*8 + 1], 0
mov r12, qword [rsi + 0x30]
movsxd r14, dword [rsi + 0x3c]
cmp dword [r12 + 0x60], r14d
jg 0x14005fa9e
mov eax, dword [r12 + 0x60]
test eax, eax
je 0x14005f9ab
add eax, eax
jmp 0x14005f9b0
mov eax, 0x2a
mov r13, qword [r12]
mov rbp, qword [rsi + 8]
cdqe
lea rdi, [rax + rax*2]
mov rbx, r15
shl rdi, 3
cmp byte [r13 + 0x51], 0
jne 0x14005fa61
test rbp, rbp
jne 0x14005fa40
test rdi, rdi
je 0x14005fa39
cmp rdi, 0x7fffff00
jae 0x14005fa39
cmp dword [0x1400bf010], ebp
je 0x14005fa29
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14005f9fd
call qword [0x1400bf098]
lea rdx, [rsp + 0x58]
mov ecx, edi
call fcn.140011830
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14005fa22
call qword [0x1400bf0a8]
mov rbx, qword [rsp + 0x58]
jmp 0x14005fa34
mov rbx, qword [rsp + 0x58]
jmp 0x14005fa34
mov ecx, edi
call qword [0x1400bf038]
mov rbx, rax
test rbx, rbx
jne 0x14005fa61
mov byte [r13 + 0x51], 1
jmp 0x14005fa61
call fcn.140047020
test eax, eax
jne 0x14005fa5c
mov rdx, rdi
mov rcx, rbp
call fcn.140015db0
test rax, rax
mov rbx, rax
jne 0x14005fa61
mov byte [r13 + 0x51], 1
test rbx, rbx
je 0x14005fad8
cmp qword [r12], 0
jne 0x14005fa78
mov rcx, rbx
call qword [0x1400bf050]
jmp 0x14005fa81
mov rcx, rbx
call qword [0x1400bf050]
movsxd rcx, eax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 4
mov dword [r12 + 0x60], edx
mov qword [rsi + 8], rbx
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
mov edx, dword [rsp + 0xa0]
lea rcx, [r14 + r14*2]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x98]
mov byte [rax + rcx*8], InitCommonControls
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov dword [rax + rcx*8 + 8], edx
mov byte [rax + rcx*8 + 1], 0
mov edx, dword [rsi + 0x3c]
mov eax, dword [rsp + 0x50]
cmp edx, eax
jbe 0x14005faef
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
lea rdx, [rsp + 0xc0]
sub ecx, 1
mov dword [rax + 0x64], ecx
mov rcx, qword [rsp + 0x210]
call fcn.1400534d0
mov r13, qword [rsi + 0x30]
movsxd r14, dword [rsi + 0x3c]
cmp dword [r13 + 0x60], r14d
jg 0x14005fc24
mov eax, dword [r13 + 0x60]
test eax, eax
je 0x14005fb2f
add eax, eax
jmp 0x14005fb34
mov eax, 0x2a
mov r12, qword [r13]
mov rbp, qword [rsi + 8]
cdqe
lea rdi, [rax + rax*2]
mov rbx, r15
shl rdi, 3
cmp byte [r12 + 0x51], 0
jne 0x14005fbe8
test rbp, rbp
jne 0x14005fbc6
test rdi, rdi
je 0x14005fbbe
cmp rdi, 0x7fffff00
jae 0x14005fbbe
cmp dword [0x1400bf010], ebp
je 0x14005fbae
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14005fb82
call qword [0x1400bf098]
lea rdx, [rsp + 0x58]
mov ecx, edi
call fcn.140011830
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14005fba7
call qword [0x1400bf0a8]
mov rbx, qword [rsp + 0x58]
jmp 0x14005fbb9
mov rbx, qword [rsp + 0x58]
jmp 0x14005fbb9
mov ecx, edi
call qword [0x1400bf038]
mov rbx, rax
test rbx, rbx
jne 0x14005fbe8
mov byte [r12 + 0x51], 1
jmp 0x14005fbe8
call fcn.140047020
test eax, eax
jne 0x14005fbe2
mov rdx, rdi
mov rcx, rbp
call fcn.140015db0
test rax, rax
mov rbx, rax
jne 0x14005fbe8
mov byte [r12 + 0x51], 1
test rbx, rbx
je 0x14005fc62
cmp qword [r13], 0
jne 0x14005fbff
mov rcx, rbx
call qword [0x1400bf050]
jmp 0x14005fc08
mov rcx, rbx
call qword [0x1400bf050]
movsxd rcx, eax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 4
mov dword [r13 + 0x60], edx
mov qword [rsi + 8], rbx
add dword [rsi + 0x3c], 1
mov rax, qword [rsi + 8]
lea rcx, [r14 + r14*2]
mov r14d, dword [rsp + 0x68]
xor r13d, r13d
mov r15d, 1
mov byte [rax + rcx*8], 0x17
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], r13b
jmp 0x14005fc6e
mov r14d, dword [rsp + 0x68]
xor r13d, r13d
lea r15d, [r13 + 1]
mov eax, dword [rsp + 0x94]
test eax, eax
je 0x14005fcd5
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
mov edi, dword [rsp + 0xc4]
cmp dword [rax + 0x60], ebx
jg 0x14005fca0
mov edx, r15d
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005fd2c
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
mov edx, dword [rsp + 0xb8]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], 4
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
jmp 0x14005fd2c
mov rcx, qword [rsp + 0xb0]
call fcn.140025ef0
movsxd rbp, dword [rsp + 0x104]
cmp ebp, dword [rsi + 0x3c]
jge 0x14005fd2c
mov rbx, qword [rsi + 8]
mov rcx, qword [rsi]
lea rdi, [rbp + rbp*2]
movsx edx, byte [rbx + rdi*8 + 1]
mov r8, qword [rbx + rdi*8 + 0x10]
call fcn.1400255f0
xor r11d, r11d
mov qword [rbx + rdi*8], r11
mov qword [rbx + rdi*8 + 8], r11
mov qword [rbx + rdi*8 + 0x10], r11
mov byte [rbx + rdi*8], 0x9f
mov eax, dword [rsi + 0x3c]
add eax, 0xffffffff
cmp ebp, eax
jne 0x14005fd2c
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x14005fd48
mov edx, r15d
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005fd86
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
mov r12d, dword [rsp + 0x90]
mov edi, dword [rsp + 0x9c]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], InitCommonControls
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
jmp 0x14005fd95
mov edi, dword [rsp + 0x9c]
mov r12d, dword [rsp + 0x90]
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x14005fdb1
mov edx, r15d
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005fde2
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
mov edx, dword [rsp + 0x64]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], InitCommonControls
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
mov rax, qword [rsi + 0x30]
movsxd rbp, dword [rsi + 0x3c]
cmp dword [rax + 0x60], ebp
jg 0x14005fdfe
mov edx, r15d
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005fe30
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
lea rcx, [rbp + rbp*2]
lea edx, [r14 + 1]
mov byte [rax + rcx*8], 0x17
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov dword [rax + rcx*8 + 8], edx
mov byte [rax + rcx*8 + 1], 0
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x14005fe4c
mov edx, r15d
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005fe7a
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], InitCommonControls
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
mov r8, qword [rsi + 0x30]
or eax, 0xffffffff
sub eax, edi
js 0x14005fe9a
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x14005fe9a
movsxd rcx, eax
mov eax, dword [rsi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rsi + 0x3c]
sub eax, 1
mov dword [r8 + 0x64], eax
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x14005fec0
mov edx, r15d
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005fef0
mov rcx, qword [rsi + 8]
add dword [rsi + 0x3c], 1
lea rdx, [rbx + rbx*2]
lea eax, [rbx + 2]
mov byte [rcx + rdx*8], 0x8a
mov byte [rcx + rdx*8 + 3], 0
mov dword [rcx + rdx*8 + 4], r14d
mov dword [rcx + rdx*8 + 0xc], r13d
mov qword [rcx + rdx*8 + 0x10], r13
mov dword [rcx + rdx*8 + 8], eax
mov byte [rcx + rdx*8 + 1], 0
mov rax, qword [rsi + 0x30]
movsxd rdi, dword [rsi + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x14005ff0c
mov edx, r15d
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x14005ff3a
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
lea rcx, [rdi + rdi*2]
mov byte [rax + rcx*8], InitCommonControls
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
mov r15, qword [rsp + 0x210]
lea rdx, [rsp + 0xc0]
mov rcx, r15
call fcn.140029600
mov rdx, qword [rsp + 0x148]
add ebx, 1
mov r8d, ebx
mov r9d, InitCommonControls
mov rcx, r15
call fcn.14004ac30
mov rax, qword [rsp + 0x220]
mov r14, qword [rsp + 0x218]
mov r8, qword [r14]
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x110]
or edi, 0xffffffff
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x120]
mov rdx, r14
mov r9d, edi
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.140044100
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x14005ffd5
lea edx, [rdi + 2]
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x140060003
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], InitCommonControls
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
mov r8, qword [rsi + 0x30]
mov eax, edi
sub eax, dword [rsp + 0x98]
js 0x140060027
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x140060027
movsxd rcx, eax
mov eax, dword [rsi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rsi + 0x3c]
sub eax, 1
mov dword [r8 + 0x64], eax
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0xf8]
add ecx, eax
je 0x140060053
lea rdx, [rsp + 0xc0]
mov rcx, r15
call fcn.140043f30
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x140060075
mov edx, 1
mov rcx, rsi
call fcn.1400214c0
test eax, eax
jne 0x140060283
mov rax, qword [rsi + 8]
add dword [rsi + 0x3c], 1
mov edx, dword [rsp + 0xa0]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], InitCommonControls
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov byte [rax + rcx*8 + 1], 0
jmp 0x140060283
mov rbp, qword [rsp + 0x228]
mov esi, 1
jmp 0x14006037f
mov rcx, qword [rsp + 0x218]
xor bpl, bpl
mov r12, r13
cmp qword [rcx + 0x40], 0
mov rbx, r13
jne 0x140060168
cmp edi, 1
mov qword [rsp + 0xb0], rbx
jne 0x140060165
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0xc0]
call fcn.140009b20
test al, al
movzx ebp, al
je 0x14006015b
mov rdi, qword [rsp + 0x228]
mov rdx, qword [rsp + 0xb0]
xor r8d, r8d
mov rcx, rdi
call fcn.14001c810
test rax, rax
mov rbx, rax
mov r12, rax
je 0x140060152
cmp byte [rdi + 0x51], 0
jne 0x140060152
mov rcx, qword [rax + 8]
cmp bpl, 1
setne dl
mov byte [rcx + 0x18], dl
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov byte [rdx], 0x9a
mov edi, dword [rsp + 0xf8]
jmp 0x140060168
mov edi, dword [rsp + 0xf8]
jmp 0x140060168
mov rbx, qword [rsp + 0xb0]
jmp 0x140060168
xor bpl, bpl
mov eax, dword [rsp + 0xe8]
lea ecx, [rdi + rax]
test ecx, ecx
je 0x140060186
lea rdx, [rsp + 0xc0]
mov rcx, r15
call fcn.140043f30
mov rdx, qword [rsp + 0x108]
movzx eax, bpl
mov dword [rsp + 0x30], r13d
mov word [rsp + 0x28], ax
mov r9, rbx
mov r8, r14
mov rcx, r15
mov qword [rsp + 0x20], r13
call fcn.14005d040
test rax, rax
mov rbx, rax
jne 0x1400601d2
mov rbp, qword [rsp + 0x228]
mov rdx, r12
mov rcx, rbp
call fcn.140013fb0
lea esi, [rbx + 1]
jmp 0x14006037f
lea rdx, [rsp + 0xc0]
mov rcx, r15
call fcn.1400534d0
cmp byte [rbx + 0x34], 0
jle 0x1400601fb
mov r9d, dword [rbx + 0x44]
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 0xe]
call fcn.140025730
mov rcx, rbx
call fcn.140025ef0
lea rdx, [rsp + 0xc0]
mov rcx, r15
call fcn.140029600
mov edi, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x148]
mov r8d, edi
mov r9d, InitCommonControls
mov rcx, r15
mov qword [rsp + 0x120], r13
call fcn.14004ac30
mov r14, qword [rsp + 0x218]
mov rax, qword [rsp + 0x220]
mov r8, qword [r14]
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], rax
or edi, 0xffffffff
mov rdx, r14
mov rcx, r15
mov r9d, edi
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call fcn.140044100
mov rcx, qword [rsp + 0x228]
mov rdx, r12
call fcn.140013fb0
mov r8, qword [rsi + 0x30]
mov eax, edi
sub eax, dword [rsp + 0x64]
js 0x1400602a4
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x1400602a4
movsxd rcx, eax
mov eax, dword [rsi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rsi + 0x3c]
mov rbp, qword [rsp + 0x88]
mov r12, qword [rsp + 0x220]
sub eax, 1
mov dword [r8 + 0x64], eax
cmp qword [rsp + 0x120], 0
je 0x1400602e5
mov r9d, dword [rbp]
lea r8, [rsp + 0x120]
mov rdx, r14
mov rcx, r15
mov qword [rsp + 0x20], r12
call fcn.140029750
sub edi, dword [rsp + 0x150]
mov r9, qword [rsi + 0x30]
js 0x140060307
mov rdx, qword [r9 + 0x80]
test rdx, rdx
je 0x140060307
mov eax, dword [rsi + 0x3c]
movsxd rcx, edi
mov dword [rdx + rcx*4], eax
mov eax, dword [rsi + 0x3c]
sub eax, 1
mov dword [r9 + 0x64], eax
cmp dword [r15 + 0x4c], 0
mov eax, 0
setg al
test eax, eax
mov esi, eax
jne 0x14006036d
cmp byte [r12], 9
jne 0x140060377
mov rdx, qword [rsp + 0x108]
mov r8, rbp
mov rcx, r15
call fcn.140035f60
mov rbp, qword [rsp + 0x228]
jmp 0x14006037f
mov esi, 1
jmp 0x14006037f
mov rbp, qword [rsp + 0x228]
mov esi, 1
jmp 0x140060387
mov rbp, qword [rsp + 0x228]
mov esi, 1
jmp 0x14006037f
mov rbp, qword [rsp + 0x228]
jmp 0x14006037f
mov rbp, qword [rsp + 0x228]
mov r14, qword [rsp + 0x1d0]
mov rbx, qword [rsp + 0xe0]
mov r15, qword [rsp + 0x1c8]
mov rdi, qword [rsp + 0x1d8]
test rbx, rbx
je 0x14006041c
cmp qword [rbp + 0x2c0], 0
je 0x1400603bb
mov rdx, rbx
mov rcx, rbp
call fcn.140011800
jmp 0x14006041c
cmp dword [0x1400bf010], 0
je 0x14006040e
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x1400603d6
call qword [0x1400bf098]
mov rcx, rbx
call qword [0x1400bf050]
sub qword [0x1400c5018], 1
mov rcx, rbx
movsxd rdx, eax
sub qword [0x1400c4fd0], rdx
call qword [0x1400bf040]
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14006041c
call qword [0x1400bf0a8]
jmp 0x14006041c
mov rcx, qword [rsp + 0xe0]
call qword [0x1400bf040]
mov rbx, qword [rsp + 0xf0]
test rbx, rbx
je 0x1400604a1
cmp qword [rbp + 0x2c0], 0
je 0x140060440
mov rdx, rbx
mov rcx, rbp
call fcn.140011800
jmp 0x1400604a1
cmp dword [0x1400bf010], 0
je 0x140060493
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14006045b
call qword [0x1400bf098]
mov rcx, rbx
call qword [0x1400bf050]
sub qword [0x1400c5018], 1
mov rcx, rbx
movsxd rdx, eax
sub qword [0x1400c4fd0], rdx
call qword [0x1400bf040]
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x1400604a1
call qword [0x1400bf0a8]
jmp 0x1400604a1
mov rcx, qword [rsp + 0xf0]
call qword [0x1400bf040]
mov rbx, qword [rsp + 0x1e0]
mov eax, esi
add rsp, 0x1e8
pop r13
pop r12
pop rsi
pop rbp
ret