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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd8
mov rbp, qword [rcx + 0x10]
xor r14d, r14d
mov r12, r8
mov rbx, rdx
mov rsi, rcx
xor r13b, r13b
mov qword [rsp + 0xc0], rbp
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x60], r14d
call fcn.140027e30
mov rdi, qword [rbx + 0x20]
mov rdx, qword [rsp + 0x140]
mov rcx, qword [r12 + 0x20]
mov rdx, qword [rdx + 0x48]
mov dword [rsp + 0x78], eax
movsxd rax, dword [rbx + 0x14]
mov r15d, r14d
mov dword [rsp + 0x120], r14d
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x50], rdx
movabs r9, 0x8000000000000000
imul rax, rax, 0x38
add rax, rdi
cmp rdi, rax
mov qword [rsp + 0x70], rax
jae 0x1400578cf
lea rcx, [fcn.140005140]
lea r8, [0x140005130]
nop
nop
cmp qword [rdx], 0
mov rbx, qword [rdi]
jne 0x14005778c
test byte [rdi + 0x1c], 2
jne 0x14005778c
test byte [rbx + 4], 1
jne 0x14005778c
xor eax, eax
mov rdx, rbx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rax
mov eax, dword [r12 + 0x44]
mov qword [rsp + 0x80], rcx
lea rcx, [rsp + 0x80]
mov byte [rsp + 0xa4], 3
mov qword [rsp + 0x88], r8
mov dword [rsp + 0xa8], eax
call fcn.140005140
test eax, eax
jne 0x140057757
bt dword [rbx + 4], 0xe
jb 0x140057757
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14005770c
lea rcx, [rsp + 0x80]
call fcn.14000f6b0
test eax, eax
jne 0x140057757
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x140057726
lea rcx, [rsp + 0x80]
call fcn.14000f6b0
test eax, eax
jne 0x140057757
bt dword [rbx + 4], 0xb
mov rdx, qword [rbx + 0x20]
jae 0x140057745
test rdx, rdx
je 0x140057757
lea rcx, [rsp + 0x80]
call fcn.14000f5c0
jmp 0x140057757
test rdx, rdx
je 0x140057757
lea rcx, [rsp + 0x80]
call fcn.140005840
cmp byte [rsp + 0xa4], 0
je 0x140057787
mov rcx, qword [rsi]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
call fcn.14001cca0
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsi]
mov r8, rax
call fcn.14001d020
mov qword [rsp + 0x58], rax
mov rdx, qword [rsp + 0x50]
mov eax, dword [r12 + 0x44]
cmp dword [rdi + 0xc], eax
jne 0x1400578a3
test byte [rdi + 0x1a], 0x82
je 0x1400578a3
mov rax, qword [rsp + 0x138]
test qword [rdi + 0x28], rax
jne 0x1400578a3
movsxd r10, dword [rdi + 0x10]
test r10d, r10d
js 0x1400578a3
mov rax, qword [r12 + 0x20]
lea rdx, [r10 + r10*2]
mov rcx, qword [rax + 8]
add rdx, rdx
movzx r11d, byte [rcx + rdx*8 + 0x29]
mov rcx, qword [rdi]
call fcn.14000f380
movsx ecx, al
sub ecx, 0x41
je 0x140057808
xor eax, eax
cmp ecx, 1
je 0x1400577f9
cmp r11b, 0x43
setge al
jmp 0x140057800
cmp r11b, 0x42
sete al
test eax, eax
je 0x14005789e
cmp r10d, 0x40
jl 0x14005781a
movabs rbx, 0x8000000000000000
jmp 0x140057825
mov ecx, r10d
mov ebx, 1
shl rbx, cl
test r13b, r13b
jne 0x140057855
mov rax, qword [rsp + 0x68]
lea rcx, [r10 + r10*2]
lea rdx, str.automatic_index_on__s__s_
mov r9, qword [rax + 8]
mov r8, qword [rax]
add rcx, rcx
mov r9, qword [r9 + rcx*8]
mov ecx, 0x11c
call fcn.140034d20
mov r13b, 1
test r14, rbx
mov rdx, qword [rsp + 0x50]
jne 0x1400578a3
mov rcx, qword [rsi]
lea r12d, [r15 + 1]
mov r8d, r12d
call fcn.140016510
test eax, eax
jne 0x14005870c
mov rdx, qword [rsp + 0x50]
movsxd rcx, r15d
mov dword [rsp + 0x120], r12d
mov rax, qword [rdx + 0x38]
mov r15d, r12d
mov r12, qword [rsp + 0x130]
mov qword [rax + rcx*8], rdi
or r14, rbx
jmp 0x1400578a3
mov rdx, qword [rsp + 0x50]
add rdi, 0x38
lea rcx, [fcn.140005140]
lea r8, [0x140005130]
cmp rdi, qword [rsp + 0x70]
jb 0x140057660
mov rcx, qword [rsp + 0x68]
movabs r9, 0x8000000000000000
mov word [rdx + 0x2c], r15w
mov word [rdx + 0x18], r15w
mov dword [rdx + 0x28], 0x4241
mov r8, qword [r12 + 0x58]
movzx edx, word [rcx + 0x36]
not r14
or r14, r9
and r14, r8
cmp dx, 0x3f
mov qword [rsp + 0xb8], r14
jle 0x140057907
mov ecx, 0x3f
jmp 0x14005790a
movsx ecx, dx
test ecx, ecx
mov dword [rsp + 0x40], ecx
jle 0x140057930
xor eax, eax
bt r14, rax
jae 0x14005791e
add r15d, 1
add rax, 1
sub rcx, 1
jne 0x140057914
mov dword [rsp + 0x120], r15d
test r9, r8
je 0x140057945
movsx eax, dx
lea r15d, [r15 + rax - 0x3f]
mov dword [rsp + 0x120], r15d
mov rdi, qword [rsi]
lea r12d, [r15 + 1]
movsx r13, r12w
movsx r14d, r12w
lea eax, [r14 + r13]
lea ecx, [r13 + rax*2 + 9]
lea eax, [r13*8 + 7]
and eax, 0xfffffff8
and ecx, 0xfffffff8
test rdi, rdi
lea eax, [rcx + rax + 0x60]
movsxd rbx, eax
je 0x140057981
cmp byte [rdi + 0x51], 0
jne 0x14005870c
test eax, eax
je 0x1400579e5
cmp rbx, 0x7fffff00
jae 0x1400579e5
cmp dword [0x1400bf010], 0
je 0x1400579ce
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x1400579a9
call qword [0x1400bf098]
lea rdx, [rsp + 0x48]
mov ecx, ebx
call fcn.140011830
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x1400579c7
call qword [0x1400bf0a8]
mov r15, qword [rsp + 0x48]
jmp 0x1400579d9
mov ecx, ebx
call qword [0x1400bf038]
mov r15, rax
test r15, r15
mov qword [rsp + 0x48], r15
jne 0x1400579ff
jmp 0x1400579ed
xor r15d, r15d
mov qword [rsp + 0x48], r15
test rdi, rdi
je 0x1400579f6
mov byte [rdi + 0x51], 1
test r15, r15
je 0x14005870c
mov r8, rbx
xor edx, edx
mov rcx, r15
call sub.msvcrt.dll_memset
mov rdi, qword [rsp + 0x128]
mov word [r15 + 0x58], r12w
lea rax, [r13*8 + 7]
sub r12w, 1
lea r11, [r15 + 0x60]
and rax, 0xfffffffffffffff8
mov qword [r15 + 0x40], r11
mov word [r15 + 0x56], r12w
add r11, rax
lea eax, [r14 + 1]
xor r12d, r12d
movsxd rcx, eax
mov qword [r15 + 0x10], r11
xor ebx, ebx
lea rax, [r11 + rcx*2]
lea r14, str.BINARY
mov qword [r15 + 8], rax
lea rax, [rax + r13*2]
mov r13, qword [rsp + 0x68]
mov qword [r15 + 0x38], rax
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x20], r15
lea rax, str.auto_index
mov qword [r15 + 0x18], r13
mov qword [r15], rax
mov rdi, qword [rdi + 0x20]
cmp rdi, qword [rsp + 0x70]
jae 0x140057bde
mov rcx, qword [rsp + 0x130]
xor r14d, r14d
xor ebp, ebp
nop
nop
mov eax, dword [rcx + 0x44]
cmp dword [rdi + 0xc], eax
jne 0x140057bbb
test byte [rdi + 0x1a], 0x82
je 0x140057bbb
mov rax, qword [rsp + 0x138]
test qword [rdi + 0x28], rax
jne 0x140057bbb
movsxd r10, dword [rdi + 0x10]
test r10d, r10d
js 0x140057bbb
mov rax, qword [rcx + 0x20]
mov r13, qword [rdi]
lea rdx, [r10 + r10*2]
mov rcx, qword [rax + 8]
add rdx, rdx
movzx r11d, byte [rcx + rdx*8 + 0x29]
mov rcx, r13
call fcn.14000f380
movsx ecx, al
sub ecx, 0x41
je 0x140057b1c
xor eax, eax
cmp ecx, 1
je 0x140057b0d
cmp r11b, 0x43
setge al
jmp 0x140057b14
cmp r11b, 0x42
sete al
test eax, eax
je 0x140057bb3
cmp r10d, 0x40
jl 0x140057b2e
movabs rax, 0x8000000000000000
jmp 0x140057b39
mov ecx, r10d
mov eax, 1
shl rax, cl
test rbx, rax
jne 0x140057bb3
mov rcx, qword [r15 + 8]
or rbx, rax
movzx eax, word [rdi + 0x10]
mov word [rcx + rbp], ax
mov rdx, qword [r13 + 0x10]
mov qword [rsp + 0xb0], rbx
bt dword [rdx + 4], 8
mov rbx, qword [r13 + 0x18]
jb 0x140057b80
test rbx, rbx
je 0x140057b70
bt dword [rbx + 4], 8
jb 0x140057b7d
mov rcx, rsi
call fcn.14003b170
test rax, rax
jne 0x140057b94
mov rdx, rbx
mov rcx, rsi
call fcn.14003b170
lea rcx, str.BINARY
test rax, rax
je 0x140057b97
mov rcx, qword [rax]
mov rax, qword [r15 + 0x40]
mov rbx, qword [rsp + 0xb0]
add r12d, 1
mov qword [r14 + rax], rcx
add rbp, 2
add r14, 8
mov rcx, qword [rsp + 0x130]
add rdi, 0x38
cmp rdi, qword [rsp + 0x70]
jb 0x140057aa0
mov rbp, qword [rsp + 0xc0]
mov r13, qword [rsp + 0x68]
lea r14, str.BINARY
mov r10d, dword [rsp + 0x40]
xor ecx, ecx
movsxd r9, r12d
test r10d, r10d
jle 0x140057c33
mov r11, qword [rsp + 0xb8]
lea r8, [r9*8]
add r9, r9
xor edx, edx
bt r11, rdx
jae 0x140057c27
mov rax, qword [r15 + 8]
add r12d, 1
add r9, 2
mov word [r9 + rax - 2], cx
mov rax, qword [r15 + 0x40]
add r8, 8
mov qword [r8 + rax - 8], r14
add ecx, 1
add rdx, 1
cmp ecx, r10d
jl 0x140057c02
mov rax, qword [rsp + 0x130]
movabs rcx, 0x8000000000000000
test qword [rax + 0x58], rcx
je 0x140057c9c
cmp word [r13 + 0x36], 0x3f
movsxd rdx, r12d
jle 0x140057c9c
lea rcx, [rdx*8]
mov r8d, 0x3f
add rdx, rdx
nop
nop
nop
mov rax, qword [r15 + 8]
add r12d, 1
add rdx, 2
mov word [rdx + rax - 2], r8w
mov rax, qword [r15 + 0x40]
add r8d, 1
mov qword [rcx + rax], r14
movsx eax, word [r13 + 0x36]
add rcx, 8
cmp r8d, eax
jl 0x140057c70
mov rax, qword [r15 + 8]
movsxd rcx, r12d
mov word [rax + rcx*2], 0xffff
mov rax, qword [r15 + 0x40]
mov qword [rax + rcx*8], r14
mov eax, dword [rsi + 0x50]
mov rcx, qword [rsp + 0x140]
mov dword [rcx + 8], eax
add dword [rsi + 0x50], 1
mov r13d, dword [rbp + 0x3c]
mov r14, qword [rbp + 0x30]
mov eax, dword [rcx + 8]
mov dword [rsp + 0x130], r13d
cmp dword [r14 + 0x60], r13d
mov dword [rsp + 0x40], eax
jg 0x140057ee6
mov eax, dword [r14 + 0x60]
test eax, eax
je 0x140057cf0
add eax, eax
jmp 0x140057cf5
mov eax, 0x2a
mov r15, qword [r14]
mov r12, qword [rbp + 8]
cdqe
lea rdi, [rax + rax*2]
xor ebx, ebx
shl rdi, 3
cmp byte [r15 + 0x51], bl
jne 0x140057ebc
test r12, r12
jne 0x140057e9b
test rdi, rdi
je 0x140057eb7
cmp rdi, 0x7fffff00
jae 0x140057eb7
cmp dword [0x1400bf010], ebx
je 0x140057e89
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x140057d4f
call qword [0x1400bf098]
mov ecx, edi
call qword [0x1400bf058]
mov rcx, qword [0x1400c5048]
movsxd rdx, edi
mov rdi, qword [0x1400c52c8]
cmp rdx, rcx
mov qword [0x1400c4ff8], rdx
cmovg rcx, rdx
test rdi, rdi
movsxd rbx, eax
mov qword [0x1400c5048], rcx
je 0x140057e0c
mov rdx, qword [0x1400c52c0]
mov r13, qword [0x1400c4fd0]
sub rdx, rbx
cmp r13, rdx
jl 0x140057dfa
mov rcx, qword [0x1400c52b8]
mov r12, qword [0x1400c52d0]
mov dword [0x1400c52ec], 1
test rcx, rcx
mov qword [0x1400c52c8], 0
je 0x140057dcd
call qword [0x1400bf0a8]
mov r8d, ebx
mov rdx, r13
mov rcx, r12
call rdi
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x140057dea
call qword [0x1400bf098]
mov qword [0x1400c52c8], rdi
mov qword [0x1400c52d0], r12
jmp 0x140057e04
mov dword [0x1400c52ec], 0
mov r13d, dword [rsp + 0x130]
mov ecx, ebx
call qword [0x1400bf038]
test rax, rax
mov rbx, rax
je 0x140057e75
mov rcx, rax
call qword [0x1400bf050]
mov rdx, qword [0x1400c4fd0]
movsxd rcx, eax
mov rax, qword [0x1400c5020]
add rdx, rcx
mov rcx, qword [0x1400c5018]
cmp rdx, rax
mov qword [0x1400c4fd0], rdx
cmovg rax, rdx
add rcx, 1
mov qword [0x1400c5020], rax
mov rax, qword [0x1400c5068]
mov qword [0x1400c5018], rcx
cmp rcx, rax
cmovg rax, rcx
mov qword [0x1400c5068], rax
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x140057e94
call qword [0x1400bf0a8]
jmp 0x140057e94
mov ecx, edi
call qword [0x1400bf038]
mov rbx, rax
test rbx, rbx
jne 0x140057ec1
jmp 0x140057eb7
call fcn.140047020
test eax, eax
jne 0x140057eb7
mov rdx, rdi
mov rcx, r12
call fcn.140015db0
test rax, rax
mov rbx, rax
jne 0x140057ebc
mov byte [r15 + 0x51], 1
test rbx, rbx
je 0x140057f28
mov rcx, rbx
call qword [0x1400bf050]
movsxd rcx, eax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 4
mov dword [r14 + 0x60], edx
mov qword [rbp + 8], rbx
add dword [rbp + 0x3c], 1
mov rcx, qword [rbp + 8]
movsxd rax, r13d
lea rdx, [rax + rax*2]
mov eax, dword [rsp + 0x40]
mov dword [rcx + rdx*8 + 4], eax
mov eax, dword [rsp + 0x120]
mov byte [rcx + rdx*8], 0x38
add eax, 1
xor r12d, r12d
mov byte [rcx + rdx*8 + 3], 0
mov dword [rcx + rdx*8 + 0xc], r12d
mov qword [rcx + rdx*8 + 0x10], r12
mov byte [rcx + rdx*8 + 1], r12b
mov dword [rcx + rdx*8 + 8], eax
jmp 0x140057f2b
xor r12d, r12d
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsi + 0x10]
mov rcx, rsi
call fcn.14003ad20
mov r13, qword [rbx + 8]
mov rdi, qword [rbx]
test r13, r13
mov r14, rax
je 0x1400581d5
cmp byte [rdi + 0x51], 0
jne 0x1400581d5
mov ecx, dword [rbx + 0x3c]
sub ecx, 1
movsxd rcx, ecx
lea r15, [rcx + rcx*2]
mov rbx, qword [r13 + r15*8 + 0x10]
test rbx, rbx
je case.0x140057f99.19
movsx eax, byte [r13 + r15*8 + 1]
add eax, 0x14
cmp eax, 0x13
ja case.0x140057f99.19
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x5872c]
add rcx, rdx
jmp rcx
mov r12, qword [rbx + 8]
test r12, r12
je case.0x140057f99.15
test byte [r12 + 2], 0x10
je case.0x140057f99.15
cmp qword [rdi + 0x2c0], 0
je 0x140057fc3
mov rdx, r12
mov rcx, rdi
call fcn.140011800
jmp case.0x140057f99.15
cmp dword [0x1400bf010], 0
je 0x140058016
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x140057fde
call qword [0x1400bf098]
mov rcx, r12
call qword [0x1400bf050]
sub qword [0x1400c5018], 1
movsxd rcx, eax
sub qword [0x1400c4fd0], rcx
mov rcx, r12
call qword [0x1400bf040]
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je case.0x140057f99.15
call qword [0x1400bf0a8]
jmp case.0x140057f99.15
mov rcx, r12
call qword [0x1400bf040]
cmp qword [rdi + 0x2c0], 0
je 0x140058054
mov rdx, rbx
mov rcx, rdi
call fcn.140011800
xor r12d, r12d
test r14, r14
mov qword [r13 + r15*8 + 0x10], r12
jne 0x1400581c8
mov qword [r13 + r15*8 + 0x10], r12
mov byte [r13 + r15*8 + 1], r14b
jmp 0x140058245
cmp dword [0x1400bf010], 0
je 0x1400580a7
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14005806f
call qword [0x1400bf098]
mov rcx, rbx
call qword [0x1400bf050]
sub qword [0x1400c5018], 1
movsxd rcx, eax
sub qword [0x1400c4fd0], rcx
mov rcx, rbx
call qword [0x1400bf040]
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x140058034
call qword [0x1400bf0a8]
jmp 0x140058034
mov rcx, rbx
call qword [0x1400bf040]
jmp 0x140058034
cmp qword [rdi + 0x2c0], 0
jne case.0x140057f99.19
add dword [rbx], 0xffffffff
jne case.0x140057f99.19
cmp dword [0x1400bf010], 0
je 0x140058185
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x1400580e8
call qword [0x1400bf098]
mov rcx, rbx
call qword [0x1400bf050]
sub qword [0x1400c5018], 1
movsxd rcx, eax
sub qword [0x1400c4fd0], rcx
mov rcx, rbx
call qword [0x1400bf040]
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je case.0x140057f99.19
call qword [0x1400bf0a8]
jmp case.0x140057f99.19
cmp qword [rdi + 0x2c0], 0
jmp 0x1400580c3
test byte [rbx + 2], 0x10
je case.0x140057f99.19
jmp 0x1400581aa
cmp qword [rdi + 0x2c0], 0
jne 0x140058193
test word [rbx + 8], 0x2460
jne 0x140058155
cmp dword [rbx + 0x20], 0
je 0x14005815d
mov rcx, rbx
call fcn.14001e0c0
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x1400580c9
cmp qword [rcx + 0x2c0], 0
je 0x1400580c9
mov rdx, rbx
call fcn.140011800
jmp case.0x140057f99.19
mov rcx, rbx
call qword [0x1400bf040]
jmp case.0x140057f99.19
cmp dword [rbx + 0x20], 0
je 0x1400581aa
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x1400581aa
mov rcx, rdi
call fcn.140011800
cmp qword [rdi + 0x2c0], 0
je 0x1400580c9
mov rcx, rdi
mov rdx, rbx
call fcn.140011800
jmp case.0x140057f99.19
mov qword [r13 + r15*8 + 0x10], r14
mov byte [r13 + r15*8 + 1], 0xfa
jmp 0x140058245
test rax, rax
je 0x140058245
cmp qword [rdi + 0x2c0], 0
jne 0x140058245
add dword [rax], 0xffffffff
jne 0x140058245
cmp dword [0x1400bf010], 0
je 0x14005823c
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x140058204
call qword [0x1400bf098]
mov rcx, r14
call qword [0x1400bf050]
sub qword [0x1400c5018], 1
movsxd rcx, eax
sub qword [0x1400c4fd0], rcx
mov rcx, r14
call qword [0x1400bf040]
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x140058245
call qword [0x1400bf0a8]
jmp 0x140058245
mov rcx, rax
call qword [0x1400bf040]
add dword [rsi + 0x70], 1
mov rcx, qword [rsp + 0x140]
mov rax, qword [rsp + 0x128]
mov rax, qword [rax]
movzx r13d, byte [rcx + 0x2c]
movsxd rbx, dword [rbp + 0x3c]
imul r13, r13, 0x70
mov r15, qword [rax + 8]
mov rax, qword [rbp + 0x30]
test byte [r13 + r15 + 0x48], 4
je 0x14005830c
cmp dword [rax + 0x60], ebx
mov edi, dword [r13 + r15 + 0x3c]
mov r12d, dword [r13 + r15 + 0x38]
jg 0x14005829d
mov edx, 1
mov rcx, rbp
call fcn.1400214c0
test eax, eax
jne 0x1400582d2
add dword [rbp + 0x3c], 1
mov rax, qword [rbp + 8]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 0xc], r12d
xor r12d, r12d
mov byte [rax + rcx*8], reloc.COMCTL32.dll_InitCommonControls
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r12
mov byte [rax + rcx*8 + 1], r12b
jmp 0x1400582d5
xor r12d, r12d
mov rax, qword [rbp + 0x30]
movsxd rbx, dword [rbp + 0x3c]
cmp dword [rax + 0x60], ebx
jg 0x1400582fa
mov edx, 1
mov rcx, rbp
call fcn.1400214c0
test eax, eax
je 0x1400582fa
mov ebx, 1
jmp 0x140058359
mov rax, qword [rbp + 8]
add dword [rbp + 0x3c], 1
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], 0x14
jmp 0x14005833c
cmp dword [rax + 0x60], ebx
mov edi, dword [rcx + 4]
jg 0x14005832c
mov edx, 1
mov rcx, rbp
call fcn.1400214c0
test eax, eax
je 0x14005832c
mov ebx, 1
jmp 0x140058359
mov rax, qword [rbp + 8]
add dword [rbp + 0x3c], 1
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], 0x6d
mov byte [rax + rcx*8 + 1], 0
mov qword [rax + rcx*8 + 0x10], r12
mov dword [rax + rcx*8 + 0xc], r12d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 4], edi
mov byte [rax + rcx*8 + 3], 0
mov rdx, qword [rsp + 0x58]
or r14d, 0xffffffff
test rdx, rdx
je 0x1400583df
mov r12, qword [rbp + 0x30]
movsxd rdi, dword [r12 + 0x78]
lea eax, [rdi + 1]
mov dword [r12 + 0x78], eax
lea eax, [rdi - 1]
test edi, eax
jne 0x1400583a8
mov rdx, qword [r12 + 0x80]
mov rcx, qword [r12]
lea eax, [rdi + rdi + 1]
movsxd r8, eax
shl r8, 2
call fcn.140022050
mov rdx, qword [rsp + 0x58]
mov qword [r12 + 0x80], rax
mov rcx, qword [r12 + 0x80]
test rcx, rcx
je 0x1400583b9
mov dword [rcx + rdi*4], r14d
mov eax, r14d
mov r9d, InitCommonControls
mov rcx, rsi
sub eax, edi
mov r8d, eax
mov dword [rsp + 0x60], eax
call fcn.14004ac30
mov rax, qword [rsp + 0x50]
or dword [rax + 0x28], 0x20000
movzx eax, byte [rsi + 0x1f]
test al, al
jne 0x1400583f0
add dword [rsi + 0x54], 1
mov edi, dword [rsi + 0x54]
jmp 0x1400583fc
sub al, 1
movzx eax, al
mov byte [rsi + 0x1f], al
mov edi, dword [rsi + rax*4 + 0x24]
mov r12, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x48]
xor eax, eax
mov r8d, dword [r12 + 4]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov r9d, edi
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.140054930
mov eax, dword [r12 + 8]
movsxd r12, dword [rbp + 0x3c]
mov dword [rsp + 0x130], eax
mov rax, qword [rbp + 0x30]
cmp dword [rax + 0x60], r12d
jg 0x140058458
mov edx, 1
mov rcx, rbp
call fcn.1400214c0
test eax, eax
jne 0x140058490
add dword [rbp + 0x3c], 1
mov rax, qword [rbp + 8]
mov edx, dword [rsp + 0x130]
lea rcx, [r12 + r12*2]
xor r11d, r11d
mov byte [rax + rcx*8], 0x6f
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov byte [rax + rcx*8 + 1], r11b
jmp 0x140058493
xor r11d, r11d
mov rdx, qword [rbp + 8]
test rdx, rdx
je 0x1400584a9
movsxd rax, dword [rbp + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x10
cmp qword [rsp + 0x58], 0
je 0x1400584db
sub r14d, dword [rsp + 0x60]
mov r8, qword [rbp + 0x30]
js 0x1400584d1
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x1400584d1
mov eax, dword [rbp + 0x3c]
movsxd rcx, r14d
mov dword [rdx + rcx*4], eax
mov eax, dword [rbp + 0x3c]
sub eax, 1
mov dword [r8 + 0x64], eax
test byte [r13 + r15 + 0x48], 4
mov rdx, qword [rsp + 0x140]
je 0x140058636
test ebx, ebx
mov r10d, dword [r13 + r15 + 0x40]
mov r9d, dword [rdx + 4]
mov ecx, ebx
jns 0x140058504
mov ecx, dword [rbp + 0x3c]
sub ecx, 1
mov rax, qword [rbp]
cmp byte [rax + 0x51], 0
je 0x140058517
lea rdx, [0x1400c20e0]
jmp 0x140058526
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbp + 8]
lea rdx, [rax + rcx*8]
mov eax, dword [rbp + 0x3c]
cmp ebx, eax
jge 0x14005856d
sub eax, ebx
mov r8d, eax
cmp dword [rdx + 4], r9d
jne 0x140058563
movzx eax, byte [rdx]
cmp al, 0x2f
jne 0x140058554
mov eax, dword [rdx + 8]
mov byte [rdx], 0x1f
lea ecx, [r10 + rax]
mov eax, dword [rdx + 0xc]
mov dword [rdx + 8], eax
mov dword [rdx + 4], ecx
jmp 0x14005855f
cmp al, 0x68
jne 0x140058563
mov byte [rdx], 0x1a
mov dword [rdx + 4], r11d
mov dword [rdx + 0xc], r11d
add rdx, 0x18
sub r8, 1
jne 0x140058532
mov rax, qword [rbp + 0x30]
movsxd r12, dword [rbp + 0x3c]
cmp dword [rax + 0x60], r12d
jg 0x14005858c
mov edx, 1
mov rcx, rbp
call fcn.1400214c0
test eax, eax
jne 0x1400585b8
add dword [rbp + 0x3c], 1
mov rax, qword [rbp + 8]
lea rcx, [r12 + r12*2]
xor edx, edx
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], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 1], dl
and dword [r13 + r15 + 0x48], 0xfffffffb
xor r9d, r9d
mov rdx, qword [rbp + 8]
test rdx, rdx
je 0x1400585d7
movsxd rax, dword [rbp + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 3
mov edx, dword [rbp + 0x3c]
cmp edx, ebx
jbe 0x1400585ec
mov eax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rbp + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbp + 0x3c]
mov rax, qword [rbp + 0x30]
sub ecx, 1
test edi, edi
mov dword [rax + 0x64], ecx
je 0x140058699
movzx edx, byte [rsi + 0x1f]
cmp dl, 8
jae 0x140058699
mov ecx, r9d
lea rax, [rsi + 0x88]
cmp dword [rax + 0xc], edi
je 0x140058695
add ecx, 1
add rax, 0x14
cmp ecx, 0xa
jl 0x140058618
movzx eax, dl
mov dword [rsi + rax*4 + 0x24], edi
add byte [rsi + 0x1f], 1
jmp 0x140058699
mov rax, qword [rbp + 0x30]
movsxd r12, dword [rbp + 0x3c]
mov r13d, dword [rdx + 4]
cmp dword [rax + 0x60], r12d
jg 0x14005865d
mov edx, 1
mov rcx, rbp
call fcn.1400214c0
test eax, eax
jne 0x1400585be
add dword [rbp + 0x3c], 1
mov rcx, qword [rbp + 8]
lea rdx, [r12 + r12*2]
xor r9d, r9d
lea eax, [rbx + 1]
mov byte [rcx + rdx*8], 8
mov byte [rcx + rdx*8 + 3], 0
mov dword [rcx + rdx*8 + 4], r13d
mov dword [rcx + rdx*8 + 8], eax
mov dword [rcx + rdx*8 + 0xc], r9d
mov qword [rcx + rdx*8 + 0x10], r9
mov byte [rcx + rdx*8 + 1], r9b
jmp 0x1400585c1
mov byte [rax + 6], 1
add dword [rsi + 0x70], 0xffffffff
lea rcx, [rsi + 0x94]
mov r8d, 0xa
nop
nop
mov edx, dword [rcx]
test edx, edx
je 0x1400586de
mov eax, dword [rsi + 0x70]
cmp dword [rcx - 4], eax
jle 0x1400586de
cmp byte [rcx - 6], 0
je 0x1400586db
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x1400586d7
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
add byte [rsi + 0x1f], 1
mov byte [rcx - 6], 0
mov dword [rcx], r9d
add rcx, 0x14
sub r8, 1
jne 0x1400586b0
mov edx, dword [rbp + 0x3c]
mov eax, dword [rsp + 0x78]
cmp edx, eax
jbe 0x1400586ff
lea rcx, [rax + rax*2]
mov rax, qword [rbp + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbp + 0x3c]
mov rax, qword [rbp + 0x30]
sub ecx, 1
mov dword [rax + 0x64], ecx
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsi]
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
jmp fcn.140014240