Function at 0x14001bd30
Capabilities:
Get keyboard layout

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c078]
mov eax, 0x1c178
call fcn.1400bfa50
sub rsp, rax
mov ebx, dword [0x140107140]
lea r12, [rbp + 0xc050]
xor r13d, r13d
mov qword [rsp + 0x20], rdx
dec ebx
mov word [rbp + 0x4040], r13w
xor al, al
mov dword [rbp - 0x38], ebx
lea r15, [rbp + 0x14060]
mov dword [rcx + 0x2c8], ebx
or r14d, 0xffffffff
mov qword [rbp - 0x50], r12
xor r9d, r9d
mov qword [rbp - 0x30], r12
lea rdx, [rbp + 0xc050]
mov qword [rsp + 0x50], r15
mov rdi, rcx
mov byte [rsp + 0x41], al
mov word [rsp + 0x5a], r13w
mov word [rsp + 0x6c], r13w
mov dword [rbp - 0x28], r14d
call fcn.14001e8e0
lea r8d, [r13 + 2]
mov qword [rsp + 0x70], rax
lea rdx, [0x1400e4f68]
mov rsi, rax
lea rcx, [rbp + 0xc050]
call fcn.1400b2fe0
test eax, eax
sete bl
mov byte [rsp + 0x40], bl
test bl, bl
je 0x14001bdff
mov word [rbp + 0xc050], r13w
mov esi, r13d
mov qword [rsp + 0x70], r13
mov eax, dword [rbp + 0x1c0c0]
mov ecx, dword [rbp + 0x1c0c0]
mov dword [rbp - 0x64], eax
movzx eax, byte [rbp + 0x1c0c0]
mov byte [rbp + 0x1c0d0], al
movzx eax, byte [rbp + 0x1c0c0]
mov byte [rbp + 0x1c0d8], al
mov dword [rbp - 0x58], ecx
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
cmp rsi, 0xffffffffffffffff
je 0x14001e669
lea eax, [r14 + 1]
mov qword [rdi + 0x6a0], r13
mov r8d, edx
mov dword [rdi + 0x2cc], eax
lea rdx, [0x1400e4f70]
mov rcx, r12
call fcn.1400aba40
test eax, eax
jne 0x14001be74
mov rdx, r12
mov rcx, rdi
call fcn.14001eb90
test eax, eax
je 0x14001e2ff
xor edi, edi
mov byte [rsp + 0x63], 0
mov r14d, edi
mov dword [rbp - 0x68], edi
jmp 0x14001bea0
xor edi, edi
movzx ebx, byte [rsp + 0x40]
nop word [rax + rax]
mov rax, qword [rbp + 0x1c0c8]
mov r9d, r14d
inc dword [rbp - 0x28]
mov rdx, r15
mov qword [rsp + 0x20], rax
call fcn.14001e8e0
mov r13, rax
mov qword [rbp - 0x40], rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x14001bfbd
test r14d, r14d
jne 0x14001bfbd
lea r8d, [r14 + 2]
mov rcx, r15
lea rdx, [0x1400e4f8c]
call fcn.1400b2fe0
test eax, eax
jne 0x14001bf91
test bl, bl
jne 0x14001bf0a
cmp word [r15 + 4], 0x3a
jne 0x14001bf0a
cmp word [r15 + 6], 0x3a
je 0x14001bf99
sub r13, 2
lea rdx, [r15 + 4]
xor bl, bl
mov rcx, r15
mov byte [rsp + 0x40], bl
lea r8, [r13*2 + 2]
call fcn.1400a9a00
cmp word [r15], 0
jne 0x14001bf34
mov r13, rdi
jmp 0x14001bf80
mov rdx, r15
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14001bf46
cmp ax, 9
jne 0x14001bf4c
add rdx, 2
jmp 0x14001bf37
mov rax, rdx
sub rax, r15
sar rax, 1
je 0x14001bf80
cmp r13, 0xffffffffffffffff
jne 0x14001bf6d
or r13, r13
inc r13
cmp word [rdx + r13*2], 0
jne 0x14001bf60
jmp 0x14001bf70
sub r13, rax
lea r8, [r13*2 + 2]
mov rcx, r15
call fcn.1400a9a00
cmp word [r15], 0
mov qword [rbp - 0x40], r13
je 0x14001bea0
jmp 0x14001bf99
test bl, bl
jne 0x14001bea0
mov r8d, 2
lea rdx, [0x1400e4f68]
mov rcx, r15
call fcn.1400b2fe0
test eax, eax
jne 0x14001bfbd
mov bl, 1
mov byte [rsp + 0x40], bl
jmp 0x14001bea0
test bl, bl
je 0x14001bfd0
cmp r13, 0xffffffffffffffff
jne 0x14001bea0
jmp 0x14001cfbb
test r14d, r14d
jne 0x14001c4f5
cmp r13, 0xffffffffffffffff
je 0x14001c213
cmp word [r15], 0x28
jne 0x14001c213
cmp word [r15 + 2], 0x3a
lea rbx, [r15 + 2]
je 0x14001c20e
cmp word [r15 + r13*2 - 2], 0x3a
je 0x14001c20e
movzx eax, byte [0x140104dea]
mov r14d, 1
xor r13d, r13d
mov byte [rsp + 0x5d], al
mov eax, 0xa
mov dword [rbp - 0x68], r14d
mov dword [rbp + 0x20], eax
mov dword [rbp - 0x18], r13d
mov byte [rsp + 0x5c], r14b
mov byte [rsp + 0x5e], r13b
mov byte [rsp + 0x5f], r13b
mov byte [rsp + 0x60], r14b
mov qword [rbp], r14
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14001c056
cmp ax, 9
jne 0x14001c05c
add rbx, 2
jmp 0x14001c047
cmp word [rbx], r13w
je 0x14001c204
nop word [rax + rax]
movzx edx, word [rbx]
mov rsi, rbx
test dx, dx
je 0x14001c0af
nop dword [rax + rax]
lea rcx, [0x1400e2b00]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x14001c0c3
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14001c090
movzx edx, word [rsi + 2]
add rsi, 2
test dx, dx
jne 0x14001c080
or rax, 0xffffffffffffffff
cmp word [rbx + rax*2 + 2], r13w
lea rax, [rax + 1]
jne 0x14001c0b3
lea rsi, [rbx + rax*2]
movzx edi, word [rsi]
lea rdx, [0x1400e5038]
mov r8d, 4
mov word [rsi], r13w
mov rcx, rbx
call fcn.1400aba40
test eax, eax
jne 0x14001c123
lea rdx, [rbx + 8]
lea r8d, [rax + 0xf]
lea rcx, [rbp + 0x20]
call fcn.1400b3da4
mov r8b, 1
mov word [rbp + 0x3e], r13w
lea rcx, [rbp + 0x20]
call fcn.14008e1f0
lea rax, [rbp + 0x20]
or rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp word [rax + rcx*2], r13w
jne 0x14001c110
mov qword [rbp], rcx
jmp 0x14001c1d4
mov r8d, 5
lea rdx, [0x1400e5048]
mov rcx, rbx
call fcn.1400aba40
test eax, eax
jne 0x14001c14b
cmp word [rbx + 0xa], 0x30
setne byte [rsp + 0x5d]
jmp 0x14001c1d4
mov r8d, 5
lea rdx, [0x1400e5058]
mov rcx, rbx
call fcn.1400aba40
test eax, eax
jne 0x14001c170
cmp word [rbx + 0xa], 0x30
setne byte [rsp + 0x5c]
jmp 0x14001c1d4
movzx eax, word [rbx]
test ax, ax
je 0x14001c1d4
nop dword [rax + rax]
movzx eax, ax
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x14001c1a6.38
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x1e744]
mov ecx, dword [rdx + rax*4 + 0x1e72c]
add rcx, rdx
jmp rcx
mov byte [rsp + 0x5e], 1
jmp case.0x14001c1a6.38
mov byte [rsp + 0x5f], 1
jmp case.0x14001c1a6.38
mov byte [rsp + 0x60], r13b
jmp case.0x14001c1a6.38
mov r14d, 2
mov dword [rbp - 0x68], r14d
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x14001c180
mov word [rsi], di
mov rbx, rsi
nop word [rax + rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14001c1ef
cmp ax, 9
jne 0x14001c1f5
add rbx, 2
jmp 0x14001c1e0
cmp word [rbx], r13w
jne 0x14001c070
mov rsi, qword [rsp + 0x70]
mov byte [rsp + 0x63], 1
jmp 0x14001be90
movzx ebx, byte [rsp + 0x40]
mov dword [rbp - 0x68], edi
mov r14d, edi
cmp r13, 0xffffffffffffffff
je 0x14001cfbb
test r13, r13
je 0x14001bea0
cmp word [r15 + r13*2 - 2], 0x3a
jne 0x14001c240
cmp word [r15], 0x2c
jne 0x14001cfbb
movzx ebx, word [r15]
test ebx, 0xffffff80
jne 0x14001c25f
mov edx, 2
mov ecx, ebx
call fcn.1400ad944
test eax, eax
je 0x14001c25f
and ebx, 0xffffffdf
movzx eax, bx
cmp eax, 0x41
je 0x14001c4a6
cmp eax, 0x4f
je 0x14001c431
movzx edx, word [r15]
cmp dx, 0x3a
ja 0x14001c299
movabs rcx, 0x400280000000000
bt rcx, rdx
jae 0x14001c299
cmp word [r15 + 2], dx
je 0x14001cfbb
lea rcx, [0x1400e4fb8]
call fcn.1400a9e38
test rax, rax
je 0x14001cfbb
lea rdx, [0x1400e4fdc]
mov rcx, r15
call fcn.1400a9ecc
mov rdi, rax
test rax, rax
je 0x14001c390
cmp word [r15], 0x3a
jne 0x14001c32e
movzx eax, word [r15 + 2]
lea rbx, [r15 + 2]
test ax, ax
je 0x14001c324
nop
cmp ax, 0x3a
je 0x14001cfbb
movzx ecx, ax
test ecx, 0xffffff80
jne 0x14001c303
mov edx, 0x107
call fcn.1400ad944
test eax, eax
jne 0x14001c317
movzx edx, word [rbx]
lea rcx, [0x1400e4fe8]
call fcn.1400a9e38
test rax, rax
je 0x14001c32e
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x14001c2e0
cmp word [rbx], 0x3a
je 0x14001cfbb
cmp word [r15], 0x2c
jne 0x14001c3d7
lea rbx, [r15 + 2]
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14001c34f
cmp ax, 9
jne 0x14001c355
add rbx, 2
jmp 0x14001c340
mov r8d, 2
lea rdx, [0x1400e4fdc]
mov rcx, rbx
call fcn.1400b2fe0
test eax, eax
je 0x14001cfbb
lea rcx, [rbx - 2]
mov r8d, 3
lea rdx, [0x1400e2af0]
call fcn.1400b2fe0
test eax, eax
je 0x14001cfbb
xor edi, edi
lea rax, [rsi + r13]
cmp rax, 0x4000
jae 0x14001e4d1
cmp word [r15], 0x2c
je 0x14001c3b6
mov eax, SafeArrayAllocDescriptor
mov word [r12 + rsi*2], ax
inc rsi
lea r8, [r13*2 + 2]
mov rdx, r15
lea rcx, [r12 + rsi*2]
call fcn.1400a9a00
add rsi, r13
mov qword [rsp + 0x70], rsi
jmp 0x14001be92
mov rax, r15
cmp r15, rdi
jae 0x14001c3ef
nop
cmp word [rax], 0x22
je 0x14001c3ef
add rax, 2
cmp rax, rdi
jb 0x14001c3e0
cmp rax, rdi
je 0x14001cfbb
movzx eax, word [rdi + 4]
lea rcx, [rdi + 4]
test ax, ax
je 0x14001cfbb
nop dword [rax]
cmp ax, 0x22
je 0x14001c428
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14001c410
jmp 0x14001cfbb
cmp word [rcx], 0
jmp 0x14001c38a
movzx ebx, word [r15 + 2]
test ebx, 0xffffff80
jne 0x14001c451
mov edx, 2
mov ecx, ebx
call fcn.1400ad944
test eax, eax
je 0x14001c451
and ebx, 0xffffffdf
cmp bx, 0x52
jne 0x14001cfbb
movzx ecx, word [r15 + 4]
lea rax, [r15 + 4]
cmp cx, 0x20
je 0x14001c474
cmp cx, 9
jne 0x14001cfbb
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14001c483
cmp cx, 9
jne 0x14001c489
add rax, 2
jmp 0x14001c474
movzx edx, word [rax]
lea rcx, [0x1400e4fa0]
call fcn.1400a9e38
test rax, rax
jne 0x14001cfbb
jmp 0x14001c392
mov r8d, 3
lea rdx, [0x1400e4f98]
mov rcx, r15
call fcn.1400aba40
test eax, eax
jne 0x14001cfbb
movzx ecx, word [r15 + 6]
lea rax, [r15 + 6]
cmp cx, 0x20
je 0x14001c4e0
cmp cx, 9
jne 0x14001cfbb
nop dword [rax]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14001c4ef
cmp cx, 9
jne 0x14001c489
add rax, 2
jmp 0x14001c4e0
cmp r13, 0xffffffffffffffff
je 0x14001e64e
cmp r13, 0xfffffffffffffffe
je 0x14001bea0
movzx eax, word [r15]
cmp ax, 0x29
jne 0x14001c580
xor edx, edx
mov r14d, edx
mov dword [rbp - 0x68], edx
or rdi, 0xffffffffffffffff
nop
inc rdi
cmp word [r15 + rdi*2], dx
jne 0x14001c520
lea rax, [rdi - 1]
lea rax, [r15 + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14001c541
cmp cx, 9
jne 0x14001c54f
cmp rax, r15
je 0x14001c55f
sub rax, 2
dec rdi
jmp 0x14001c532
mov word [rax + 2], dx
lea rbx, [r15 + 2]
dec rdi
jmp 0x14001cf3e
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14001c56e
cmp cx, 9
jne 0x14001c574
mov word [rax], dx
mov rdi, rdx
lea rbx, [r15 + 2]
dec rdi
jmp 0x14001cf3e
cmp byte [rsp + 0x5c], 0
mov qword [rbp - 0x20], r15
je 0x14001c5e7
test ax, ax
jne 0x14001c59b
xor esi, esi
mov r13d, esi
mov qword [rbp - 0x40], rsi
jmp 0x14001c5e9
lea rax, [r13 - 1]
lea rax, [r15 + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14001c5b2
cmp cx, 9
jne 0x14001c5c0
cmp rax, r15
je 0x14001c5cc
sub rax, 2
dec r13
jmp 0x14001c5a3
xor esi, esi
mov qword [rbp - 0x40], r13
mov word [rax + 2], si
jmp 0x14001c5e9
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14001c6b2
cmp cx, 9
je 0x14001c6b2
mov qword [rbp - 0x40], r13
xor esi, esi
cmp byte [rsp + 0x5d], 0
je 0x14001c5ff
mov rdx, r13
mov rcx, r15
call fcn.140017800
mov qword [rbp - 0x40], rax
cmp byte [rsp + 0x5e], 0
mov eax, esi
mov dword [rsp + 0x4c], eax
je 0x14001c90a
movzx eax, word [0x1401023f0]
or ebx, 0xffffffff
mov rdx, qword [rsp + 0x50]
or r15, 0xffffffffffffffff
mov word [rsp + 0x58], ax
mov word [rsp + 0x68], ax
mov word [rsp + 0x6a], ax
mov dword [rsp + 0x44], ebx
nop word [rax + rax]
inc r15
cmp word [rdx + r15*2], 0
jne 0x14001c640
cmp word [rdx], 0
mov r12, rsi
mov qword [rbp - 0x48], r15
mov r13, rsi
mov qword [rbp - 0x70], rsi
je 0x14001c901
test ax, ax
je 0x14001c901
lea rcx, [rsp + 0x58]
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x14001c675
mov qword [rbp - 0x78], rax
lea rcx, [rsp + 0x68]
or r14, 0xffffffffffffffff
nop dword [rax]
inc r14
cmp word [rcx + r14*2], 0
jne 0x14001c690
mov ecx, r14d
sub ecx, eax
mov eax, 0x4000
sub eax, r15d
mov dword [rsp + 0x78], ecx
jns 0x14001c6c3
mov ebx, esi
jmp 0x14001c6d5
xor esi, esi
mov word [rax], si
mov r13d, esi
mov qword [rbp - 0x40], rsi
jmp 0x14001c5e9
test ecx, ecx
jle 0x14001c6db
cdq
idiv ecx
mov rdx, qword [rsp + 0x50]
cmp eax, 0xffffffff
cmovb ebx, eax
mov dword [rsp + 0x44], ebx
test ecx, ecx
je 0x14001c86b
cmp r15, 0x1388
jb 0x14001c86b
mov dword [rsp + 0x4c], esi
mov r15d, esi
mov rdi, rdx
test ebx, ebx
je 0x14001c81b
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.1400a9ecc
mov rsi, rax
test rax, rax
je 0x14001c7d4
dec ebx
inc r15d
mov dword [rsp + 0x44], ebx
mov rbx, rax
sub rbx, rdi
mov dword [rsp + 0x4c], r15d
sar rbx, 1
lea r15, [rbx + r13]
lea rcx, [r14 + r15]
cmp rcx, qword [rbp - 0x70]
jb 0x14001c789
sub rax, qword [rsp + 0x50]
movsxd r9, dword [rbp - 0x48]
mov r8d, dword [rsp + 0x44]
sar rax, 1
movsxd rdx, eax
mov qword [rsp + 0x28], rdx
mov edx, dword [rsp + 0x4c]
movsxd rax, ecx
movsxd rcx, dword [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.14008c690
mov rcx, r12
mov qword [rbp - 0x70], rax
lea rdx, [rax + rax]
call fcn.1400aec74
test rax, rax
je 0x14001c80c
mov r12, rax
test rbx, rbx
je 0x14001c7a1
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + r13*2]
call fcn.1400a9a00
mov r13, r15
test r14, r14
je 0x14001c7bb
lea r8, [r14 + r14]
lea rcx, [r12 + r13*2]
lea rdx, [rsp + 0x68]
call fcn.1400a9a00
add r13, r14
mov rax, qword [rbp - 0x78]
mov ebx, dword [rsp + 0x44]
mov r15d, dword [rsp + 0x4c]
lea rdi, [rsi + rax*2]
test ebx, ebx
jne 0x14001c700
test r15d, r15d
je 0x14001c819
mov r15, qword [rbp - 0x48]
mov rax, rdi
sub rax, qword [rsp + 0x50]
sar rax, 1
sub r15, rax
je 0x14001c83b
lea rbx, [r15 + r13]
cmp rbx, qword [rbp - 0x70]
jb 0x14001c828
lea rdx, [rbx*2 + 2]
mov rcx, r12
call fcn.1400aec74
test rax, rax
jne 0x14001c825
test r12, r12
je 0x14001c819
mov rcx, r12
call fcn.1400ad530
xor esi, esi
mov r15, qword [rsp + 0x50]
jmp 0x14001c904
mov r12, rax
lea r8, [r15 + r15]
mov rdx, rdi
lea rcx, [r12 + r13*2]
call fcn.1400a9a00
mov r13, rbx
mov r15, qword [rsp + 0x50]
lea r8, [r13*2 + 2]
xor esi, esi
mov rcx, r15
mov rdx, r12
mov word [r12 + r13*2], si
call fcn.1400a9a00
mov rcx, r12
call fcn.1400ad530
mov eax, dword [rsp + 0x4c]
jmp 0x14001c90a
mov dword [rsp + 0x4c], r13d
mov rsi, rdx
test ebx, ebx
je 0x14001c8f4
movsxd r12, ecx
nop
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.1400a9ecc
mov rbx, rax
test rax, rax
je 0x14001c8ef
lea rdi, [r14 + r14]
lea rsi, [rax + rdi]
test r12d, r12d
je 0x14001c8cb
sub rax, qword [rsp + 0x50]
mov r8, r15
sar rax, 1
mov rcx, rsi
sub r8, rax
mov rax, qword [rbp - 0x78]
sub r8, rax
lea rdx, [rbx + rax*2]
lea r8, [r8*2 + 2]
call fcn.1400a9a00
mov r8, rdi
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.1400a9a00
mov eax, dword [rsp + 0x44]
add r15, r12
dec eax
inc r13d
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14001c880
mov dword [rsp + 0x4c], r13d
mov eax, dword [rsp + 0x4c]
xor esi, esi
mov r15, qword [rsp + 0x50]
jmp 0x14001c90a
mov r15, rdx
mov eax, esi
mov dword [rsp + 0x4c], eax
cmp byte [rsp + 0x5f], 0
je 0x14001cb72
movzx ecx, word [0x1401023f4]
or ebx, 0xffffffff
movzx eax, word [0x1401023f0]
or rdi, 0xffffffffffffffff
mov word [rsp + 0x58], cx
mov word [rsp + 0x68], ax
mov word [rsp + 0x6a], cx
mov dword [rsp + 0x44], ebx
nop dword [rax]
inc rdi
cmp word [r15 + rdi*2], 0
jne 0x14001c940
cmp word [r15], 0
mov r12, rsi
mov qword [rbp - 0x78], rdi
mov r14, rsi
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x48], rsi
je 0x14001cb64
test cx, cx
je 0x14001cb64
lea rcx, [rsp + 0x58]
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14001c980
mov qword [rbp - 0x10], rax
lea rcx, [rsp + 0x68]
or r15, 0xffffffffffffffff
nop word [rax + rax]
inc r15
cmp word [rcx + r15*2], 0
jne 0x14001c9a0
mov ecx, r15d
sub ecx, eax
mov eax, 0x4000
sub eax, edi
mov dword [rsp + 0x78], ecx
jns 0x14001c9c1
mov ebx, esi
jmp 0x14001c9ce
test ecx, ecx
jle 0x14001c9d4
cdq
idiv ecx
cmp eax, 0xffffffff
cmovb ebx, eax
mov dword [rsp + 0x44], ebx
test ecx, ecx
je 0x14001cc34
cmp rdi, 0x1388
jb 0x14001cc34
mov rdi, qword [rsp + 0x50]
mov r13d, esi
test ebx, ebx
je 0x14001cc2a
nop word [rax + rax]
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.1400a9ecc
mov rsi, rax
test rax, rax
je 0x14001cad7
dec ebx
inc r13d
mov dword [rsp + 0x44], ebx
mov rbx, rax
sub rbx, rdi
sar rbx, 1
add r14, rbx
lea rcx, [r15 + r14]
cmp rcx, qword [rbp - 0x48]
jb 0x14001ca82
sub rax, qword [rsp + 0x50]
movsxd r9, dword [rbp - 0x78]
mov r8d, dword [rsp + 0x44]
sar rax, 1
movsxd rdx, eax
mov qword [rsp + 0x28], rdx
mov edx, r13d
movsxd rax, ecx
movsxd rcx, dword [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.14008c690
mov rcx, r12
mov qword [rbp - 0x48], rax
lea rdx, [rax + rax]
call fcn.1400aec74
test rax, rax
je 0x14001cb50
mov r12, rax
test rbx, rbx
je 0x14001caa1
mov rax, qword [rbp - 0x70]
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call fcn.1400a9a00
mov qword [rbp - 0x70], r14
jmp 0x14001caa5
mov r14, qword [rbp - 0x70]
test r15, r15
je 0x14001cac3
lea r8, [r15 + r15]
lea rcx, [r12 + r14*2]
lea rdx, [rsp + 0x68]
call fcn.1400a9a00
add r14, r15
mov qword [rbp - 0x70], r14
mov rax, qword [rbp - 0x10]
mov ebx, dword [rsp + 0x44]
lea rdi, [rsi + rax*2]
test ebx, ebx
jne 0x14001ca00
test r13d, r13d
je 0x14001cc28
mov r15, qword [rsp + 0x50]
mov rax, rdi
mov rsi, qword [rbp - 0x78]
sub rax, r15
sar rax, 1
sub rsi, rax
je 0x14001cb2c
lea rbx, [rsi + r14]
cmp rbx, qword [rbp - 0x48]
jb 0x14001cb19
lea rdx, [rbx*2 + 2]
mov rcx, r12
call fcn.1400aec74
test rax, rax
je 0x14001cb55
mov r12, rax
lea r8, [rsi + rsi]
mov rdx, rdi
lea rcx, [r12 + r14*2]
call fcn.1400a9a00
mov r14, rbx
xor esi, esi
lea r8, [r14*2 + 2]
mov rdx, r12
mov word [r12 + r14*2], si
mov rcx, r15
call fcn.1400a9a00
mov rcx, r12
call fcn.1400ad530
jmp 0x14001cb67
mov r15, qword [rsp + 0x50]
test r12, r12
je 0x14001cb62
mov rcx, r12
call fcn.1400ad530
xor esi, esi
mov r13d, esi
mov eax, dword [rsp + 0x4c]
add eax, r13d
mov dword [rsp + 0x4c], eax
cmp byte [rsp + 0x60], 0
je 0x14001ce7a
movzx ecx, word [0x1401023f8]
or ebx, 0xffffffff
movzx eax, word [0x1401023f0]
or rdi, 0xffffffffffffffff
mov word [rsp + 0x58], cx
mov word [rsp + 0x68], ax
mov word [rsp + 0x6a], cx
mov dword [rsp + 0x44], ebx
inc rdi
cmp word [r15 + rdi*2], 0
jne 0x14001cba5
cmp word [r15], 0
mov r12, rsi
mov qword [rbp - 0x78], rdi
mov r14, rsi
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x48], rsi
je 0x14001ce70
test cx, cx
je 0x14001ce70
lea rcx, [rsp + 0x58]
or rax, 0xffffffffffffffff
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x14001cbe0
mov qword [rbp - 0x10], rax
lea rcx, [rsp + 0x68]
or r15, 0xffffffffffffffff
nop word [rax + rax]
inc r15
cmp word [rcx + r15*2], 0
jne 0x14001cc00
mov ecx, r15d
sub ecx, eax
mov eax, 0x4000
sub eax, edi
mov dword [rsp + 0x78], ecx
jns 0x14001ccc9
mov ebx, esi
jmp 0x14001ccd6
xor esi, esi
mov r15, qword [rsp + 0x50]
jmp 0x14001cb64
mov r12, qword [rsp + 0x50]
mov r13d, esi
mov rsi, r12
test ebx, ebx
je 0x14001ccbf
movsxd r14, ecx
nop word [rax + rax]
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.1400a9ecc
mov rbx, rax
test rax, rax
je 0x14001ccbf
lea rdi, [r15 + r15]
lea rsi, [rax + rdi]
test r14d, r14d
je 0x14001cc9a
mov r8, qword [rbp - 0x78]
sub rax, r12
sar rax, 1
mov rcx, rsi
sub r8, rax
mov rax, qword [rbp - 0x10]
sub r8, rax
lea rdx, [rbx + rax*2]
lea r8, [r8*2 + 2]
call fcn.1400a9a00
mov r8, rdi
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.1400a9a00
mov eax, dword [rsp + 0x44]
inc r13d
add qword [rbp - 0x78], r14
dec eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14001cc50
mov r15, r12
xor esi, esi
jmp 0x14001cb67
test ecx, ecx
jle 0x14001ccdc
cdq
idiv ecx
cmp eax, 0xffffffff
cmovb ebx, eax
mov dword [rsp + 0x44], ebx
test ecx, ecx
je 0x14001cea0
cmp rdi, 0x1388
jb 0x14001cea0
mov rdi, qword [rsp + 0x50]
mov r13d, esi
test ebx, ebx
je 0x14001ce6b
nop
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.1400a9ecc
mov rsi, rax
test rax, rax
je 0x14001cdd7
dec ebx
inc r13d
mov dword [rsp + 0x44], ebx
mov rbx, rax
sub rbx, rdi
sar rbx, 1
add r14, rbx
lea rcx, [r14 + r15]
cmp rcx, qword [rbp - 0x48]
jb 0x14001cd82
sub rax, qword [rsp + 0x50]
movsxd r9, dword [rbp - 0x78]
mov r8d, dword [rsp + 0x44]
sar rax, 1
movsxd rdx, eax
mov qword [rsp + 0x28], rdx
mov edx, r13d
movsxd rax, ecx
movsxd rcx, dword [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.14008c690
mov rcx, r12
mov qword [rbp - 0x48], rax
lea rdx, [rax + rax]
call fcn.1400aec74
test rax, rax
je 0x14001ce50
mov r12, rax
test rbx, rbx
je 0x14001cda1
mov rax, qword [rbp - 0x70]
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call fcn.1400a9a00
mov qword [rbp - 0x70], r14
jmp 0x14001cda5
mov r14, qword [rbp - 0x70]
test r15, r15
je 0x14001cdc3
lea r8, [r15 + r15]
lea rcx, [r12 + r14*2]
lea rdx, [rsp + 0x68]
call fcn.1400a9a00
add r14, r15
mov qword [rbp - 0x70], r14
mov rax, qword [rbp - 0x10]
mov ebx, dword [rsp + 0x44]
lea rdi, [rsi + rax*2]
test ebx, ebx
jne 0x14001cd00
test r13d, r13d
je 0x14001ce69
mov r15, qword [rsp + 0x50]
mov rax, rdi
mov rsi, qword [rbp - 0x78]
sub rax, r15
sar rax, 1
sub rsi, rax
je 0x14001ce2c
lea rbx, [r14 + rsi]
cmp rbx, qword [rbp - 0x48]
jb 0x14001ce19
lea rdx, [rbx*2 + 2]
mov rcx, r12
call fcn.1400aec74
test rax, rax
je 0x14001ce55
mov r12, rax
lea r8, [rsi + rsi]
mov rdx, rdi
lea rcx, [r12 + r14*2]
call fcn.1400a9a00
mov r14, rbx
xor eax, eax
lea r8, [r14*2 + 2]
mov rdx, r12
mov word [r12 + r14*2], ax
mov rcx, r15
call fcn.1400a9a00
mov rcx, r12
call fcn.1400ad530
jmp 0x14001ce73
mov r15, qword [rsp + 0x50]
test r12, r12
je 0x14001ce62
mov rcx, r12
call fcn.1400ad530
xor eax, eax
mov r13d, eax
jmp 0x14001ce73
xor esi, esi
mov r15, qword [rsp + 0x50]
mov r13d, esi
mov eax, dword [rsp + 0x4c]
add eax, r13d
test eax, eax
je 0x14001cf29
or rdi, 0xffffffffffffffff
nop word [rax + rax]
inc rdi
cmp word [r15 + rdi*2], 0
jne 0x14001ce90
jmp 0x14001cf2d
mov r12, qword [rsp + 0x50]
mov r13d, esi
mov rsi, r12
test ebx, ebx
je 0x14001cf21
movsxd r14, ecx
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.1400a9ecc
mov rbx, rax
test rax, rax
je 0x14001cf21
lea rdi, [r15 + r15]
lea rsi, [rdi + rax]
test r14d, r14d
je 0x14001cefc
mov r8, qword [rbp - 0x78]
sub rax, r12
sar rax, 1
mov rcx, rsi
sub r8, rax
mov rax, qword [rbp - 0x10]
sub r8, rax
lea rdx, [rbx + rax*2]
lea r8, [r8*2 + 2]
call fcn.1400a9a00
mov r8, rdi
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.1400a9a00
mov eax, dword [rsp + 0x44]
inc r13d
add qword [rbp - 0x78], r14
dec eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14001ceb2
mov r15, r12
jmp 0x14001ce73
mov rdi, qword [rbp - 0x40]
mov r12, qword [rbp - 0x50]
mov rsi, qword [rsp + 0x70]
mov r14d, dword [rbp - 0x68]
mov rbx, qword [rbp - 0x20]
mov r13, qword [rbp]
lea rax, [rdi + r13]
add rax, rsi
cmp rax, 0x4001
jae 0x14001e646
mov eax, dword [rbp - 0x18]
inc eax
mov dword [rbp - 0x18], eax
cmp eax, 1
jle 0x14001cf89
test r13, r13
je 0x14001cf89
cmp rbx, r15
jne 0x14001cf89
lea r8, [r13*2 + 2]
lea rcx, [r12 + rsi*2]
lea rdx, [rbp + 0x20]
call fcn.1400a9a00
add rsi, r13
mov qword [rsp + 0x70], rsi
test rdi, rdi
je 0x14001be90
lea r8, [rdi*2 + 2]
mov rdx, rbx
lea rcx, [r12 + rsi*2]
call fcn.1400a9a00
add rsi, rdi
mov qword [rsp + 0x70], rsi
jmp 0x14001be90
mov word [rsi], di
mov rsi, qword [rsp + 0x70]
movzx r13d, byte [rsp + 0x41]
xor r14d, r14d
mov rdi, qword [rbp + 0x1c0c0]
nop dword [rax + rax]
test rsi, rsi
je 0x14001d607
cmp word [rbp + 0x4040], 0
je 0x14001d179
mov ebx, dword [rdi + 0x2cc]
mov eax, dword [rbp - 0x60]
mov dword [rdi + 0x2cc], eax
cmp word [r12], 0x7b
je 0x14001d05b
cmp byte [rsp + 0x42], 0
jne 0x14001d05b
cmp dword [rbp - 0x80], 0
jne 0x14001e51d
cmp dword [rdi + 0x80], 0
je 0x14001d02d
mov rax, qword [0x140100a58]
cmp qword [rax + 0xd8], 0
je 0x14001e4ec
mov qword [rsp + 0x38], r14
lea rdx, [rbp + 0x4040]
mov qword [rsp + 0x30], r14
xor r9d, r9d
mov qword [rsp + 0x28], r14
mov r8b, 3
mov rcx, rdi
mov qword [rsp + 0x20], r14
call fcn.1400200c0
jmp 0x14001d104
mov ecx, dword [rbp - 0x80]
test ecx, ecx
je 0x14001d0b5
sub ecx, 1
je 0x14001d094
cmp ecx, 1
jne 0x14001d113
lea rdx, [rbp + 0x4040]
mov rcx, rdi
call fcn.140026470
test eax, eax
je 0x14001e2ff
mov word [rbp + 0x4040], r14w
jmp 0x14001d121
lea rdx, [rbp + 0x4040]
mov rcx, rdi
call fcn.140025dd0
test eax, eax
je 0x14001e2ff
mov word [rbp + 0x4040], r14w
jmp 0x14001d121
mov rax, qword [0x140100a58]
mov rcx, rdi
cmp qword [rax + 0xd8], 0
jne 0x14001e538
lea r8, [rbp + 0x1c0]
lea rdx, [rbp + 0x4040]
call fcn.140025170
test eax, eax
je 0x14001e2ff
cmp byte [rsp + 0x42], 0
je 0x14001d113
xor r9d, r9d
mov qword [rsp + 0x20], r14
xor r8d, r8d
mov dl, 0x75
mov rcx, rdi
call fcn.140023030
test eax, eax
je 0x14001e2ff
mov qword [rdi + 0x6a0], r14
cmp dword [rbp - 0x80], 0
mov word [rbp + 0x4040], r14w
je 0x14001d173
cmp byte [rsp + 0x42], 0
jne 0x14001d173
lea rdx, [r12 + 2]
nop dword [rax]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14001d13f
cmp ax, 9
jne 0x14001d145
add rdx, 2
jmp 0x14001d130
cmp word [rdx], 0
je 0x14001d601
or r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x14001d153
mov qword [rsp + 0x70], r8
mov rcx, r12
lea r8, [r8*2 + 2]
call fcn.1400a9a00
mov dword [rdi + 0x2cc], ebx
cmp word [r12], 0x7d
jne 0x14001d2dc
mov ecx, dword [rdi + 0x80]
test ecx, ecx
je 0x14001d2dc
mov rax, qword [0x140100a58]
cmp qword [rax + 0xd8], 0
jne 0x14001d2dc
cmp qword [rdi + 0x2b8], 0
je 0x14001d1da
mov rcx, qword [rdi + 0x2c0]
mov qword [rdi + 0x2b8], r14
test rcx, rcx
je 0x14001d288
call fcn.1400ad530
mov qword [rdi + 0x2c0], r14
jmp 0x14001d288
lea eax, [rcx - 1]
mov dword [rdi + 0x80], eax
cdqe
mov rdi, qword [rdi + rax*8 + 0x88]
mov rbx, qword [rdi + 0x20]
sub rbx, 1
js 0x14001d249
mov rsi, rbx
shl rsi, 5
nop
mov rcx, qword [rdi + 0x18]
cmp dword [rsi + rcx + 0x18], 1
jne 0x14001d23f
cmp rbx, qword [rdi + 0x38]
jl 0x14001d21b
mov rcx, qword [rsi + rcx + 0x10]
call fcn.1400ad530
dec qword [rdi + 0x20]
mov r8, qword [rdi + 0x20]
cmp rbx, r8
jge 0x14001d23f
mov rcx, qword [rdi + 0x18]
sub r8, rbx
add rcx, rsi
shl r8, 5
lea rdx, [rcx + 0x20]
call fcn.1400a9a00
sub rsi, 0x20
sub rbx, 1
jns 0x14001d200
mov rdi, qword [rbp + 0x1c0c0]
movsxd rax, dword [rdi + 0x80]
mov rcx, qword [rdi + rax*8 + 0x88]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
lea rbx, [rdi + 0xb0]
mov edx, 0x2e
mov rcx, rbx
call fcn.1400aa0cc
test rax, rax
je 0x14001d284
mov word [rax], r14w
jmp 0x14001d288
mov word [rbx], r14w
add r12, 2
mov qword [rbp - 0x50], r12
movzx eax, word [r12]
cmp ax, 0x20
je 0x14001d2a1
cmp ax, 9
jne 0x14001d2a7
add r12, 2
jmp 0x14001d290
cmp word [r12], 0
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x30], r12
je 0x14001d607
or rsi, 0xffffffffffffffff
nop
inc rsi
cmp word [r12 + rsi*2], 0
jne 0x14001d2c0
mov qword [rsp + 0x70], rsi
mov qword [rdi + 0x6a0], r14
jmp 0x14001cfd0
cmp qword [rdi + 0x2b8], 0
je 0x14001d3d9
mov rax, qword [0x140100a58]
cmp qword [rax + 0xd8], 0
jne 0x14001d3d9
mov r8d, 3
lea rdx, [0x1400e5148]
mov rcx, r12
call fcn.1400aba40
test eax, eax
je 0x14001d335
mov r8d, 3
lea rdx, [0x1400e5150]
mov rcx, r12
call fcn.1400aba40
test eax, eax
jne 0x14001e550
lea rbx, [r12 + 6]
nop word [rax + rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14001d34f
cmp ax, 9
jne 0x14001d355
add rbx, 2
jmp 0x14001d340
movzx eax, word [rbx]
test ax, ax
je 0x14001d372
cmp ax, 0x7b
jne 0x14001e550
cmp word [rbx + 2], 0
jne 0x14001e550
mov rcx, qword [rdi + 0x2c0]
lea rdx, [rbp + 0x4040]
sub rdx, rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x14001d390
mov edx, 0x2e
lea rcx, [rbp + 0x4040]
call fcn.1400a9e38
mov rcx, rax
movzx eax, word [r12]
mov word [rcx + 2], ax
cmp word [rbx], 0x7b
mov eax, dword [rdi + 0x2cc]
sete byte [rsp + 0x42]
mov dword [rbp - 0x60], eax
xor esi, esi
mov dword [rbp - 0x80], esi
jmp 0x14001d609
lea rdx, [rsp + 0x42]
mov rcx, r12
call fcn.14001b8c0
test al, al
je 0x14001d423
lea rdx, [rbp + 0x4040]
mov rcx, r12
sub rdx, r12
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x14001d400
mov eax, dword [rdi + 0x2cc]
xor esi, esi
mov dword [rbp - 0x80], esi
mov dword [rbp - 0x60], eax
jmp 0x14001d609
mov rax, qword [0x140100a58]
cmp qword [rax + 0xd8], 0
jne 0x14001d679
lea rdx, [rsp + 0x42]
mov rcx, r12
call fcn.14001ba00
mov rcx, rax
test rax, rax
je 0x14001d485
lea rdx, [rbp + 0x4040]
sub rdx, rax
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x14001d460
mov eax, dword [rdi + 0x2cc]
mov dword [rbp - 0x60], eax
mov dword [rbp - 0x80], 1
jmp 0x14001d607
cmp dword [rdi + 0x80], 0
je 0x14001d679
mov rbx, r12
movzx ecx, word [rbx]
test ecx, 0xffffff80
jne 0x14001d4ae
mov edx, 0x107
call fcn.1400ad944
test eax, eax
jne 0x14001d4c3
movzx eax, word [rbx]
cmp ax, 0x5f
je 0x14001d4c3
cmp ax, 0x7f
ja 0x14001d4c3
cmp ax, 0x2e
jne 0x14001d4c9
add rbx, 2
jmp 0x14001d495
cmp rbx, r12
jbe 0x14001d592
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14001d4e1
cmp ax, 9
jne 0x14001d4e7
add rbx, 2
jmp 0x14001d4d2
movzx eax, word [rbx]
cmp ax, 0x3a
jne 0x14001d512
cmp word [rbx + 2], 0x3d
jne 0x14001d512
xor r8d, r8d
mov rdx, r12
mov rcx, rdi
call fcn.1400266d0
test eax, eax
je 0x14001e2ff
jmp 0x14001d607
test ax, ax
je 0x14001d52a
cmp ax, 0x5b
je 0x14001d52a
cmp ax, 0x7b
jne 0x14001d592
cmp word [rbx + 2], 0
jne 0x14001d592
or rdx, 0xffffffffffffffff
nop
inc rdx
cmp word [r12 + rdx*2], 0
jne 0x14001d530
cmp word [r12 + rdx*2 - 2], 0x7b
sete al
mov byte [rsp + 0x42], al
test al, al
je 0x14001d558
dec rdx
mov rcx, r12
call fcn.140017880
lea rdx, [rbp + 0x4040]
mov rcx, r12
sub rdx, r12
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x14001d570
mov eax, dword [rdi + 0x2cc]
mov dword [rbp - 0x60], eax
mov dword [rbp - 0x80], 2
jmp 0x14001d607
mov r8d, 6
lea rdx, [0x1400cf6c0]
mov rcx, r12
call fcn.1400aba40
test eax, eax
jne 0x14001d5ca
movzx eax, word [r12 + 0xc]
cmp ax, 0x20
je 0x14001d5bd
cmp ax, 9
jne 0x14001d5ca
lea rdx, [r12 + 0xe]
mov r8b, 1
jmp 0x14001d4fd
cmp word [r12], 0x23
jne 0x14001e567
mov ebx, dword [rdi + 0x2cc]
mov rdx, r12
mov rcx, rdi
call fcn.14001eb90
test eax, eax
je 0x14001e2ff
cmp eax, 3
jne 0x14001e567
mov eax, dword [rbp - 0x38]
mov dword [rdi + 0x2c8], eax
mov dword [rdi + 0x2cc], ebx
xor esi, esi
test r13b, r13b
je 0x14001e480
mov ebx, dword [rbp - 0x5c]
inc ebx
mov ecx, ebx
mov dword [rbp - 0x5c], ebx
sub ecx, 1
je 0x14001d76c
sub ecx, 1
je 0x14001d683
sub ecx, 1
je 0x14001e400
cmp ecx, 7
jne 0x14001e480
lea r8, [0x1400cef3c]
cmp r13b, 0x12
je 0x14001d655
lea eax, [r13 + 0x5c]
cmp al, 1
ja 0x14001d6ed
movzx ecx, byte [rsp + 0x61]
sub ecx, 0x11
je 0x14001d6e6
sub ecx, 0x91
je 0x14001d6e6
cmp ecx, 1
jne 0x14001d6ed
lea r8, [0x1400e54e0]
jmp 0x14001d6ed
mov rsi, qword [rsp + 0x70]
jmp 0x14001d78a
mov eax, dword [0x1400e25f8]
lea r8, [rbp - 0x30]
cmp byte [rsp + 0x49], 0
mov r9d, 1
mov dword [r12], eax
mov rcx, rdi
movzx eax, word [0x1400e25fc]
setne dl
add dl, 0xc3
mov word [r12 + 4], ax
mov qword [rsp + 0x20], rsi
call fcn.140023030
cmp byte [rsp + 0x62], 0
je 0x14001d63c
lea r8, [rbp + 0x40]
mov rcx, r12
lea rdx, [0x1400e5490]
call fcn.140005040
mov dword [rbp - 0x5c], 9
jmp 0x14001d782
lea r8, [0x1400e54c8]
lea rax, [rbp + 0x40]
mov qword [rdi + 0x6a0], rsi
lea r9, [rbp + 0x10]
mov qword [rsp + 0x20], rax
lea rdx, [0x1400e54f8]
mov rcx, r12
call fcn.140005040
mov r9d, 1
mov qword [rsp + 0x20], rsi
lea r8, [rbp - 0x30]
mov dl, 0x41
mov rcx, rdi
call fcn.140023030
test eax, eax
je 0x14001e2ff
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov dl, 0x67
mov rcx, rdi
call fcn.140023030
lea r8, [rbp + 0x80]
mov qword [rdi + 0x6a0], rsi
lea rdx, [0x1400e5528]
mov rcx, r12
call fcn.140005040
mov dword [rbp - 0x5c], 2
jmp 0x14001d782
lea r8, [rbp + 0x80]
mov rcx, r12
lea rdx, [0x1400e5480]
call fcn.140005040
movsxd rsi, eax
mov qword [rsp + 0x70], rsi
xor ebx, ebx
cmp word [r12], 0x3a
mov r15d, ebx
mov r14d, ebx
jne 0x14001d8c5
movzx ecx, word [r12 + 2]
lea rax, [r12 + 2]
test cx, cx
je 0x14001d8c5
mov qword [rbp + 8], rax
mov r8, rax
cmp cx, 0x3a
je 0x14001d7e4
lea edx, [rbx + 0x3a]
mov rcx, rax
call fcn.1400a9e38
mov r15, rax
test rax, rax
jne 0x14001d7da
mov r15d, ebx
jmp 0x14001d8c5
mov r8, qword [rbp + 8]
add r15, 2
jmp 0x14001d7f8
cmp word [r12 + 4], bx
lea rax, [r12 + 4]
je 0x14001d8c5
mov r15, rax
mov qword [rbp - 0x20], r15
test r15, r15
je 0x14001d8c5
movzx ebx, byte [0x140104d80]
mov rdi, r8
mov byte [rsp + 0x48], bl
cmp r8, r15
jae 0x14001d859
nop dword [rax + rax]
movzx ebx, word [rdi]
test ebx, 0xffffff80
jne 0x14001d83e
mov edx, 2
mov ecx, ebx
call fcn.1400ad944
test eax, eax
je 0x14001d83e
and ebx, 0xffffffdf
cmp bx, 0x58
je 0x14001d84f
add rdi, 2
cmp rdi, r15
jb 0x14001d820
jmp 0x14001d859
cmp word [rdi + 2], 0x30
setne byte [rsp + 0x48]
movzx r13d, byte [rsp + 0x48]
lea r12, [0x140000000]
mov esi, 9
mov rbx, r15
lea r15d, [rsi - 2]
movzx eax, word [rbx]
test ax, ax
je 0x14001d8a4
nop word [rax + rax]
cmp ax, word [0x1401023f0]
je 0x14001d93c
cmp ax, 0x3a
je 0x14001d93c
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x14001d880
mov rsi, qword [rsp + 0x70]
mov r15, qword [rbp - 0x20]
mov r12, qword [rbp - 0x50]
movzx r13d, byte [rsp + 0x41]
test r14, r14
jne 0x14001da24
xor eax, eax
mov r15d, eax
lea rdx, [0x1400e4fdc]
mov rcx, r12
call fcn.1400a9ecc
mov r14, rax
test rax, rax
je 0x14001e236
cmp rax, r12
jne 0x14001d8f0
cmp word [rax + 4], 0x3a
jne 0x14001d8f0
add r14, 2
mov rbx, r14
cmp r14, r12
jbe 0x14001d918
nop dword [rax + rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14001d90f
cmp ax, 9
jne 0x14001d918
sub rbx, 2
cmp rbx, r12
ja 0x14001d900
movzx edi, word [rbx]
xor eax, eax
mov word [rbx], ax
mov rcx, r12
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14001d936
cmp ax, 9
jne 0x14001d9f7
add rcx, 2
jmp 0x14001d923
movzx eax, word [rbx]
test ax, ax
je 0x14001d8a4
lea rdi, [rbx + 2]
cmp ax, 0x3a
jne 0x14001d973
cmp word [rdi], ax
jne 0x14001d9ee
mov r14, rbx
mov rbx, rdi
test r13b, r13b
jne 0x14001d8a4
add rbx, 2
jmp 0x14001d872
movzx eax, word [rdi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x14001d98b.99
cdqe
mov ecx, dword [r12 + rax*4 + 0x1e784]
add rcx, r12
jmp rcx
mov word [rdi], r15w
jmp case.0x14001d98b.99
mov eax, 8
jmp 0x14001d9b9
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
jmp 0x14001d9b9
mov eax, 0xa
jmp 0x14001d9b9
mov eax, SafeArrayGetElemsize
jmp 0x14001d9b9
mov word [rdi], si
jmp case.0x14001d98b.99
mov eax, reloc.WSOCK32.dll_inet_ntoa
mov word [rdi], ax
or r8, 0xffffffffffffffff
cmp word [rdi + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x14001d9c0
lea r8, [r8*2 + 2]
mov rdx, rdi
mov rcx, rbx
call fcn.1400a9a00
cmp word [rbx], 0x3a
jne 0x14001d9ee
cmp word [rdi], 0x3a
cmove rbx, rdi
add rbx, 2
jmp 0x14001d872
xor r8d, r8d
xor edx, edx
call fcn.14000d680
mov dword [rbp - 8], eax
test eax, eax
je 0x14001da13
cmp eax, 4
je 0x14001e2ff
jmp 0x14001da18
xor eax, eax
mov r14d, eax
mov word [rbx], di
test r14, r14
je 0x14001e236
cmp r14, r12
jbe 0x14001e236
mov rax, qword [0x140100a58]
cmp qword [rax + 0xd8], 0
jne 0x14001e610
mov rdi, qword [rbp + 0x1c0c0]
mov rax, qword [rdi + 8]
test rax, rax
je 0x14001da5b
cmp byte [rax], 0x1a
je 0x14001e57e
xor esi, esi
mov word [r14], si
add r14, 4
test r15, r15
jne 0x14001dc11
cmp word [r14], si
je 0x14001dabc
mov rdx, r14
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14001da86
cmp ax, 9
jne 0x14001da8c
add rdx, 2
jmp 0x14001da77
mov rax, rdx
sub rax, r14
sar rax, 1
je 0x14001dabc
or r8, 0xffffffffffffffff
nop dword [rax + rax]
cmp word [rdx + r8*2 + 2], si
lea r8, [r8 + 1]
jne 0x14001daa0
lea r8, [r8*2 + 2]
mov rcx, r14
call fcn.1400a9a00
cmp word [r14], 0
mov rsi, r14
je 0x14001dc0f
cmp word [r14 + 2], 0
je 0x14001dcf9
movzx eax, word [r14 + 2]
lea r9, [0x140000000]
movzx r12d, byte [rbp + 0x1c0d0]
xor dl, dl
mov edi, dword [rbp - 0x64]
xor r8b, r8b
cmp ax, 0x20
je case.0x14001db21.40
movzx eax, word [rsi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14001db21.40
cdqe
movzx eax, byte [r9 + rax + 0x1e7fc]
mov ecx, dword [r9 + rax*4 + 0x1e7dc]
add rcx, r9
jmp rcx
mov r8b, 1
jmp case.0x14001db21.35
mov dl, 1
jmp case.0x14001db21.35
test r8b, r8b
jne 0x14001db40
test dl, dl
jne 0x14001db44
or edi, 1
jmp case.0x14001db21.35
test dl, dl
je 0x14001db4a
or r12b, 4
xor dl, dl
test r8b, r8b
je case.0x14001db21.35
or r12b, 8
jmp 0x14001dbbc
test r8b, r8b
jne 0x14001db63
test dl, dl
jne 0x14001db67
or edi, 2
jmp case.0x14001db21.35
test dl, dl
je 0x14001db6d
or r12b, 1
xor dl, dl
test r8b, r8b
je case.0x14001db21.35
or r12b, 2
jmp 0x14001dbbc
test r8b, r8b
jne 0x14001db86
test dl, dl
jne 0x14001db8a
or edi, 4
jmp case.0x14001db21.35
test dl, dl
je 0x14001db90
or r12b, 0x10
xor dl, dl
test r8b, r8b
je case.0x14001db21.35
or r12b, 0x20
jmp 0x14001dbbc
test r8b, r8b
jne 0x14001dba9
test dl, dl
jne 0x14001dbad
or edi, 8
jmp case.0x14001db21.35
test dl, dl
je 0x14001dbb3
or r12b, 0x40
xor dl, dl
test r8b, r8b
je case.0x14001db21.35
or r12b, 0x80
xor r8b, r8b
movzx eax, word [rsi + 4]
add rsi, 2
test ax, ax
jne 0x14001daf2
xor ecx, ecx
mov dword [rbp - 0x64], edi
mov byte [rbp + 0x1c0d0], r12b
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
xor r8d, r8d
xor edx, edx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140016650
mov r12, qword [rbp - 0x50]
movzx r13d, al
mov rdi, qword [rbp + 0x1c0c0]
mov byte [rsp + 0x41], al
test al, al
jne 0x14001dd01
xor esi, esi
cmp byte [rdi + 0x2d0], 0
je 0x14001dc54
mov r9d, 0xff
mov byte [rdi + 0x2d0], 0
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov dl, 0x67
mov rcx, rdi
call fcn.140023030
test eax, eax
je 0x14001e2ff
mov rax, qword [rdi + 8]
mov qword [rax + 0x10], 1
mov qword [rdi + 0x6a0], rsi
mov r8b, 1
mov rdx, r12
mov rcx, rdi
call fcn.14001ffa0
test eax, eax
je 0x14001e2ff
test r15, r15
je 0x14001e08c
cmp word [r15], 0
je 0x14001e5bd
mov rcx, qword [rdi + 0x28]
lea rdx, [0x1400cef3c]
movzx ebx, byte [rsp + 0x48]
mov rax, r14
mov r8, qword [rbp + 8]
test bl, bl
mov byte [rsp + 0x30], 0
mov r9, r15
cmovne rax, rdx
movzx edx, byte [rsp + 0x63]
mov byte [rsp + 0x28], dl
mov rdx, rcx
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x20], rax
call fcn.14000e8f0
test eax, eax
je 0x14001e2ff
cmp word [r14], 0
je 0x14001d609
test bl, bl
je 0x14001e05e
mov rdx, r14
nop dword [rax + rax]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14001dcf3
cmp ax, 9
jne 0x14001e00c
add rdx, 2
jmp 0x14001dce0
mov r13b, 0xff
mov byte [rsp + 0x41], r13b
cmp word [r12], 0
mov rbx, r12
je 0x14001de3e
movzx eax, word [r12 + 2]
lea r9, [r12 + 2]
xor dl, dl
xor r8b, r8b
test ax, ax
je 0x14001de3e
movzx r13d, byte [rbp + 0x1c0d8]
lea r10, [0x140000000]
mov r12d, dword [rbp - 0x58]
nop dword [rax]
cmp ax, 0x20
je case.0x14001dd6f.40
movzx eax, word [rbx]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14001dd6f.40
cdqe
movzx eax, byte [r10 + rax + 0x1e87c]
mov ecx, dword [r10 + rax*4 + 0x1e85c]
add rcx, r10
jmp rcx
mov r8b, 1
jmp case.0x14001dd6f.35
mov dl, 1
jmp case.0x14001dd6f.35
test r8b, r8b
jne 0x14001dd92
test dl, dl
jne 0x14001dd96
or r12d, 1
jmp case.0x14001dd6f.35
test dl, dl
je 0x14001dd9c
or r13b, 4
xor dl, dl
test r8b, r8b
je case.0x14001dd6f.35
or r13b, 8
jmp 0x14001de11
test r8b, r8b
jne 0x14001ddb6
test dl, dl
jne 0x14001ddba
or r12d, 2
jmp case.0x14001dd6f.35
test dl, dl
je 0x14001ddc0
or r13b, 1
xor dl, dl
test r8b, r8b
je case.0x14001dd6f.35
or r13b, 2
jmp 0x14001de11
test r8b, r8b
jne 0x14001ddda
test dl, dl
jne 0x14001ddde
or r12d, 4
jmp case.0x14001dd6f.35
test dl, dl
je 0x14001dde4
or r13b, 0x10
xor dl, dl
test r8b, r8b
je case.0x14001dd6f.35
or r13b, 0x20
jmp 0x14001de11
test r8b, r8b
jne 0x14001ddfe
test dl, dl
jne 0x14001de02
or r12d, 8
jmp case.0x14001dd6f.35
test dl, dl
je 0x14001de08
or r13b, 0x40
xor dl, dl
test r8b, r8b
je case.0x14001dd6f.35
or r13b, 0x80
xor r8b, r8b
movzx eax, word [r9 + 2]
mov rbx, r9
add r9, 2
test ax, ax
jne 0x14001dd40
mov dword [rbp - 0x58], r12d
mov r12, qword [rbp - 0x50]
mov byte [rbp + 0x1c0d8], r13b
movzx r13d, byte [rsp + 0x41]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140016650
lea rdx, [0x1400e2af0]
mov byte [rsp + 0x61], al
mov rcx, rbx
call fcn.1400a9ecc
test rax, rax
movzx eax, byte [rsp + 0x61]
setne dil
lea ecx, [rax - 1]
cmp cl, 5
ja 0x14001de83
cmp al, 3
jne 0x14001de89
add al, 0x66
cmp al, 5
ja 0x14001de8d
mov cl, 1
jmp 0x14001de8f
xor cl, cl
lea eax, [r13 - 1]
cmp al, 5
ja 0x14001de9d
cmp r13b, 3
jne 0x14001dea5
lea eax, [r13 + 0x66]
cmp al, 5
ja 0x14001dea9
mov al, 1
jmp 0x14001deab
xor al, al
mov byte [rsp + 0x49], al
test cl, cl
jne 0x14001debc
mov byte [rsp + 0x62], 1
test al, al
jne 0x14001dec1
mov byte [rsp + 0x62], 0
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], 0
jne 0x14001dec5
cmp rax, 1
jne 0x14001dee9
movzx ecx, word [rbx]
call qword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
lea rax, [0x1400e5250]
jne 0x14001def0
lea rax, [0x1400cef3c]
lea rcx, [0x1400cef3c]
mov qword [rsp + 0x28], r12
test dil, dil
mov qword [rsp + 0x20], rax
lea r9, [0x1400e4e50]
mov edx, SafeArrayAllocDescriptor
cmovne r9, rcx
lea r8, [0x1400e5258]
lea rcx, [rbp + 0x80]
call fcn.14008b9a0
mov r8d, SafeArrayAllocDescriptor
lea rcx, [rbp + 0x40]
mov rdx, rsi
call fcn.1400b3da4
xor ebx, ebx
lea rcx, [rbp + 0x10]
mov rdx, r14
mov word [rbp + 0x7e], bx
lea r8d, [rbx + 7]
call fcn.1400b3da4
sub rsi, r14
mov word [rbp + 0x1e], bx
sar rsi, 1
cmp rsi, 8
jae 0x14001df64
mov word [rbp + rsi*2 + 0x10], bx
xor esi, esi
mov dword [rbp - 0x5c], ebx
cmp word [rbp + 0x10], bx
jne 0x14001e1b9
cmp r13b, 0xd
je 0x14001dfd9
cmp r13b, 0x13
jne 0x14001e1b9
movzx ebx, word [rbp + 0x40]
test ebx, 0xffffff80
jne 0x14001dfa0
lea edx, [rsi + 2]
mov ecx, ebx
call fcn.1400ad944
test eax, eax
je 0x14001dfa0
and ebx, 0xffffffdf
cmp bx, 0x50
je 0x14001dff8
movzx ebx, word [rbp + 0x40]
test ebx, 0xffffff80
jne 0x14001dfc5
mov edx, 2
mov ecx, ebx
call fcn.1400ad944
test eax, eax
je 0x14001dfc5
and ebx, 0xffffffdf
cmp bx, 0x42
je 0x14001dff8
mov rdi, qword [rbp + 0x1c0c0]
mov ebx, esi
jmp 0x14001d615
lea rdx, [0x1400cfe68]
lea rcx, [rbp + 0x40]
call fcn.1400ab8c0
mov rdi, qword [rbp + 0x1c0c0]
test eax, eax
jne 0x14001d615
mov rdi, qword [rbp + 0x1c0c0]
xor r13b, r13b
mov byte [rsp + 0x41], r13b
jmp 0x14001dc11
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov qword [rsp + 0x28], rsi
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.1400200c0
test eax, eax
je 0x14001e2ff
mov rax, qword [rdi + 8]
movzx ecx, byte [rax]
lea eax, [rcx - 9]
cmp al, 0x18
jbe 0x14001e59c
sub cl, 0x69
cmp cl, 8
ja 0x14001e05e
mov eax, 0x1c7
bt eax, ecx
jb 0x14001e59c
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov dl, 0x67
mov rcx, rdi
call fcn.140023030
test eax, eax
je 0x14001e2ff
mov rax, qword [rdi + 8]
mov qword [rax + 0x10], 1
jmp 0x14001d609
cmp word [r14], 0
movzx ebx, si
je 0x14001e12a
xor edx, edx
mov rcx, r14
call fcn.14000b200
movzx ebx, ax
test ax, ax
jne 0x14001e101
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov qword [rsp + 0x28], rsi
mov rdx, r14
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.1400200c0
test eax, eax
je 0x14001e2ff
mov rax, qword [rdi + 8]
movzx ecx, byte [rax]
lea eax, [rcx - 9]
cmp al, 0x18
jbe 0x14001e59c
sub cl, 0x69
cmp cl, 8
ja 0x14001e101
mov eax, 0x1c7
bt eax, ecx
jb 0x14001e59c
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov dl, 0x67
mov rcx, rdi
call fcn.140023030
test eax, eax
je 0x14001e2ff
mov rax, qword [rdi + 8]
mov qword [rax + 0x10], 1
lea r8, [rsp + 0x7c]
mov rcx, r12
lea rdx, [rsp + 0x64]
call fcn.14000e080
mov rdi, rax
test rax, rax
je 0x14001e1c5
test bx, bx
je 0x14001e15d
mov rdi, qword [rbp + 0x1c0c0]
mov word [rax + 6], bx
jmp 0x14001d609
mov rax, qword [rax + 0x28]
test rax, rax
je 0x14001e183
mov rcx, qword [0x140105b20]
nop dword [rax]
cmp qword [rax + 8], rcx
je 0x14001e5d4
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14001e170
mov rbx, qword [rbp + 0x1c0c0]
mov rcx, rdi
movzx r8d, byte [rsp + 0x64]
mov rdx, qword [rbx + 0x28]
call fcn.14000d510
test rax, rax
je 0x14001e5f9
cmp byte [rsp + 0x7c], 0
jne 0x14001e1b5
cmp byte [0x140104de9], 0
je 0x14001e1b9
mov byte [rdi + 0x14], 1
mov rdi, qword [rbp + 0x1c0c0]
jmp 0x14001d609
mov rdi, qword [rbp + 0x1c0c0]
movzx edx, bx
movzx r9d, byte [rsp + 0x64]
mov byte [rsp + 0x20], 0
mov rcx, qword [rdi + 0x28]
mov r8, qword [rcx + 8]
call fcn.14000ce10
test rax, rax
jne 0x14001d609
cmp dword [rbp - 8], 3
jne 0x14001e2ff
mov r9, r12
lea r8, [0x1400e5350]
mov edx, 0x80
lea rcx, [rbp + 0xc0]
call fcn.14008b9a0
xorps xmm3, xmm3
mov qword [rsp + 0x20], rsi
xor r8d, r8d
lea rcx, [rbp + 0xc0]
mov edx, 0x10000
call fcn.140091370
jmp 0x14001d609
cmp word [r12 + rsi*2 - 2], 0x3a
jne 0x14001e319
cmp rsi, 1
je 0x14001e62b
movzx eax, word [r12]
mov rcx, r12
test ax, ax
je 0x14001e298
movzx edx, word [0x1401023f8]
cmp ax, 0x20
je 0x14001e319
cmp ax, 9
je 0x14001e319
cmp ax, dx
je 0x14001e319
cmp ax, word [0x1401023f0]
je 0x14001e319
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14001e261
cmp word [r12 + rsi*2 - 4], 0x3a
jne 0x14001e2a7
cmp rsi, 2
ja 0x14001e319
xor eax, eax
lea rdx, [0x1400e3918]
mov rcx, r12
mov word [r12 + rsi*2 - 2], ax
call fcn.1400ab8c0
mov rdi, qword [rbp + 0x1c0c0]
test eax, eax
jne 0x14001e306
mov rax, qword [rdi + 0x70]
test rax, rax
je 0x14001e306
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14001e306
cmp byte [rcx], 0x73
jne 0x14001e306
xor esi, esi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov dl, reloc.WSOCK32.dll_WSACleanup
mov rcx, rdi
call fcn.140023030
test eax, eax
jne 0x14001d609
xor eax, eax
jmp 0x14001e716
xor r8d, r8d
mov rdx, r12
mov rcx, rdi
call fcn.14001ffa0
jmp 0x14001d505
cmp word [r12], 0x23
mov rdi, qword [rbp + 0x1c0c0]
jne 0x14001e346
mov ebx, dword [rdi + 0x2cc]
mov rdx, r12
mov rcx, rdi
call fcn.14001eb90
test eax, eax
je 0x14001e2ff
cmp eax, 3
je 0x14001d5f8
movzx ecx, word [r12]
mov edx, 0xfffd
lea eax, [rcx - 0x7b]
test dx, ax
je 0x14001e384
xor esi, esi
xor r9d, r9d
mov qword [rsp + 0x38], rsi
xor r8d, r8d
mov qword [rsp + 0x30], rsi
mov rdx, r12
mov qword [rsp + 0x28], rsi
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.1400200c0
jmp 0x14001e2f7
cmp cx, 0x7b
mov rcx, rdi
setne dl
xor esi, esi
add dl, 0x75
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
call fcn.140023030
test eax, eax
je 0x14001e2ff
add r12, 2
mov qword [rbp - 0x50], r12
movzx eax, word [r12]
cmp ax, 0x20
je 0x14001e3c4
cmp ax, 9
jne 0x14001e3ca
add r12, 2
jmp 0x14001e3b3
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x30], r12
cmp word [r12], si
je 0x14001d609
or rsi, 0xffffffffffffffff
inc rsi
cmp word [r12 + rsi*2], 0
jne 0x14001e3e1
xor r14d, r14d
mov qword [rsp + 0x70], rsi
mov qword [rdi + 0x6a0], r14
jmp 0x14001cfd0
mov eax, dword [0x1400e25f8]
lea r8, [rbp - 0x30]
cmp byte [rsp + 0x49], 0
mov r9d, 1
mov dword [r12], eax
mov rcx, rdi
movzx eax, word [0x1400e25fc]
setne dl
add dl, 0xc3
mov word [r12 + 4], ax
mov qword [rsp + 0x20], rsi
call fcn.140023030
lea r8, [rbp + 0x40]
mov rcx, r12
lea rdx, [0x1400e5538]
call fcn.140005040
mov r9d, 1
mov qword [rsp + 0x20], rsi
lea r8, [rbp - 0x30]
mov dl, 0x41
mov rcx, rdi
call fcn.140023030
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov dl, 0x67
mov rcx, rdi
call fcn.140023030
xor al, al
mov byte [rsp + 0x41], al
mov rcx, qword [rsp + 0x50]
lea rdx, [rbp + 0xc050]
mov rax, qword [rbp - 0x40]
lea r8, [rbp + 0xc050]
movzx ebx, byte [rsp + 0x40]
mov rsi, rax
mov r14d, dword [rbp - 0x28]
cmp rcx, rdx
mov qword [rsp + 0x70], rax
mov r12, rcx
lea rax, [rbp + 0x14060]
mov qword [rbp - 0x50], rcx
cmovne rax, r8
mov qword [rbp - 0x30], rcx
mov r15, rax
mov qword [rsp + 0x50], rax
xor r13d, r13d
jmp 0x14001be2b
mov r8, r15
mov rcx, qword [rbp + 0x1c0c0]
lea rdx, [0x1400e4ff8]
call fcn.1400395f0
jmp 0x14001e716
cmp qword [rdi + 0x2b8], 0
lea rdx, [0x1400e50c8]
lea rax, [0x1400e50e0]
mov rcx, rdi
cmovne rax, rdx
lea r8, [rbp + 0x4040]
mov rdx, rax
call fcn.1400395f0
jmp 0x14001e716
lea r8, [rbp + 0x4040]
mov rcx, rdi
lea rdx, [0x1400e50c8]
call fcn.1400395f0
jmp 0x14001e716
lea r8, [rbp + 0x4040]
lea rdx, [0x1400e5080]
call fcn.1400395f0
jmp 0x14001e716
mov r8, r12
lea rdx, [0x1400e5160]
mov rcx, rdi
call fcn.1400395f0
jmp 0x14001e716
mov r8, r12
lea rdx, [0x1400e50e0]
mov rcx, rdi
call fcn.1400395f0
jmp 0x14001e716
mov r8, r12
mov qword [rdi + 0x6a0], rax
lea rdx, [0x1400e5220]
mov rcx, rdi
call fcn.1400395f0
jmp 0x14001e716
mov eax, 0x3a
lea rdx, [0x1400e52d0]
mov r8, r12
mov word [r14 - 4], ax
mov rcx, rdi
call fcn.1400395f0
jmp 0x14001e716
mov r8, r12
lea rdx, [0x1400e5270]
mov rcx, rdi
call fcn.1400395f0
jmp 0x14001e716
mov rbx, qword [rbp + 0x1c0c0]
lea rdx, [0x1400e5320]
mov r8, r12
mov rcx, rbx
mov qword [rbx + 0x6a0], rsi
call fcn.1400395f0
jmp 0x14001e716
mov r8, r12
lea rdx, [0x1400e29b0]
mov rcx, rbx
call fcn.1400395f0
jmp 0x14001e716
mov rcx, qword [rbp + 0x1c0c0]
lea rdx, [0x1400e51b0]
mov r8, r12
call fcn.1400395f0
jmp 0x14001e716
mov rcx, qword [rbp + 0x1c0c0]
lea rdx, [0x1400e5420]
mov r8, r12
call fcn.1400395f0
jmp 0x14001e716
mov r8, rbx
jmp 0x14001e4d4
mov rcx, qword [rbp + 0x1c0c0]
lea rdx, [0x1400e5068]
mov r8, r12
call fcn.1400395f0
jmp 0x14001e716
cmp word [rbp + 0x4040], 0
je 0x14001e6e4
cmp dword [rbp - 0x80], 0
mov rcx, rdi
mov ebx, dword [rdi + 0x2cc]
mov eax, dword [rbp - 0x60]
mov dword [rdi + 0x2cc], eax
je 0x14001e6b0
cmp byte [rsp + 0x42], 0
lea rax, [0x1400e5558]
lea rdx, [0x1400e50c8]
cmovne rdx, rax
lea r8, [rbp + 0x4040]
call fcn.1400395f0
jmp 0x14001e716
mov qword [rsp + 0x38], r13
lea rdx, [rbp + 0x4040]
mov qword [rsp + 0x30], r13
xor r9d, r9d
mov qword [rsp + 0x28], r13
mov r8b, 3
mov qword [rsp + 0x20], r13
call fcn.1400200c0
test eax, eax
je 0x14001e2ff
mov dword [rdi + 0x2cc], ebx
cmp dword [rdi + 0x80], 0
je 0x14001e70b
cmp dword [rbp - 0x38], 0
jne 0x14001e70b
lea r8, [rdi + 0xb0]
mov rcx, rdi
lea rdx, [0x1400e5558]
call fcn.1400395f0
jmp 0x14001e716
inc dword [rdi + 0x2cc]
mov eax, 1
add rsp, 0x1c178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret