Function at 0x14009ace0
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 - 0x1c0a8]
mov eax, 0x1c1a8
call fcn.1401110b0
sub rsp, rax
xor r13d, r13d
mov r12, rcx
mov ecx, dword [0x1401711b0]
dec ecx
xor al, al
or ebx, 0xffffffff
movaps xmmword [rsp + 0x1c190], xmm6
mov dword [r12 + 0x2c8], ecx
cmp dword [0x140173ee0], r13d
lea r15, [rbp + 0x81f0]
lea r14, [rbp + 0x14080]
cmovne ebx, r13d
mov rdi, r8
mov qword [rbp - 0x48], r8
mov dword [rbp - 0x28], ecx
mov word [rbp + 0x1e0], r13w
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x18], r15
mov qword [rsp + 0x70], r14
mov byte [rbp + 0x1c100], al
mov word [rsp + 0x4e], r13w
mov word [rsp + 0x5c], r13w
mov dword [0x140174c8c], ecx
test r8, r8
je 0x14009ad8c
mov r9, r8
cmp qword [r8 + 0x10], r13
jne 0x14009ad8f
mov r9, r13
mov r8, rdx
lea rcx, [rbp + 0x81f0]
xor edx, edx
call fcn.14009dd40
lea rdx, [0x14014dc98]
lea rcx, [rbp + 0x81f0]
mov r8d, 2
mov rsi, rax
mov qword [rsp + 0x68], rax
call fcn.14010a798
test eax, eax
sete al
mov byte [rsp + 0x42], al
test al, al
je 0x14009adde
mov word [rbp + 0x81f0], r13w
mov rsi, r13
mov qword [rsp + 0x68], r13
mov eax, dword [rbp + 0x1c0f0]
mov ecx, dword [rbp + 0x1c0f0]
xorpd xmm6, xmm6
mov dword [rbp - 0x3c], eax
movzx eax, byte [rbp + 0x1c0f0]
mov dword [rbp - 0x50], ecx
mov byte [rbp + 0x1c108], al
movzx eax, byte [rbp + 0x1c0f0]
mov byte [rsp + 0x40], al
nop dword [rax]
cmp rsi, 0xffffffffffffffff
je 0x14009daa1
lea eax, [rbx + 1]
lea rcx, [0x14014dca0]
mov qword [r12 + 0x6a0], r13
mov dword [r12 + 0x2cc], eax
call fcn.1400dd2e0
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rdx, rax
mov rcx, r15
call fcn.140108e4c
test eax, eax
jne 0x14009ae61
mov rdx, r15
mov rcx, r12
call fcn.14009e070
test eax, eax
je 0x14009da39
xor ecx, ecx
mov byte [rsp + 0x51], 0
mov r13d, ecx
mov dword [rbp - 0x60], ecx
jmp 0x14009ae90
mov qword [rsp + 0x68], rsi
xor ecx, ecx
nop word [rax + rax]
mov ebx, dword [rsp + 0x60]
mov rdi, qword [rbp - 0x48]
nop dword [rax + rax]
inc ebx
cmp dword [0x140173ee0], 0
mov dword [rsp + 0x60], ebx
je 0x14009aeb7
mov eax, dword [0x140174c90]
cmp dword [r12 + 0x2c8], 0xffffffff
cmovne eax, ecx
mov dword [0x140174c90], eax
test rdi, rdi
je 0x14009aec6
cmp qword [rdi + 0x10], 0
mov r9, rdi
jne 0x14009aec9
mov r9, rcx
mov r8, qword [rbp + 0x1c0f8]
mov edx, r13d
mov rcx, r14
call fcn.14009dd40
mov rdi, rax
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14009aff3
cmp rax, 0xffffffffffffffff
je 0x14009aff3
test r13d, r13d
jne 0x14009aff3
lea r8d, [r13 + 2]
lea rdx, [0x14014dccc]
mov rcx, r14
call fcn.14010a798
test eax, eax
jne 0x14009afbe
cmp byte [rsp + 0x42], al
jne 0x14009af33
cmp word [r14 + 4], 0x3a
jne 0x14009af33
cmp word [r14 + 6], 0x3a
je 0x14009afce
sub rdi, 2
lea rdx, [r14 + 4]
mov rcx, r14
lea r8, [rdi + rdi + 2]
mov byte [rsp + 0x42], 0
call fcn.140109100
cmp word [r14], 0
jne 0x14009af5e
xor ecx, ecx
mov edi, ecx
mov qword [rbp - 0x10], rcx
jmp 0x14009afb1
mov rdx, r14
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14009af70
cmp ax, 9
jne 0x14009af76
add rdx, 2
jmp 0x14009af61
mov rax, rdx
sub rax, r14
sar rax, 1
je 0x14009afab
cmp rdi, 0xffffffffffffffff
jne 0x14009af9b
or rcx, rdi
xor eax, eax
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea rdi, [rcx - 1]
jmp 0x14009af9e
sub rdi, rax
lea r8, [rdi + rdi + 2]
mov rcx, r14
call fcn.140109100
mov qword [rbp - 0x10], rdi
xor ecx, ecx
cmp word [r14], 0
je 0x14009ae84
jmp 0x14009afce
cmp byte [rsp + 0x42], 0
mov ecx, 0
jne 0x14009ae84
lea rdx, [0x14014dc98]
mov r8d, 2
mov rcx, r14
call fcn.14010a798
test eax, eax
jne 0x14009aff3
mov byte [rsp + 0x42], 1
xor ecx, ecx
jmp 0x14009ae84
cmp byte [rsp + 0x42], 0
je 0x14009b00b
cmp rdi, 0xffffffffffffffff
je 0x14009b3cc
xor ecx, ecx
jmp 0x14009ae84
test r13d, r13d
jne 0x14009b5df
cmp rdi, 0xffffffffffffffff
je 0x14009b259
cmp word [r14], 0x28
jne 0x14009b259
cmp word [r14 + 2], 0x3a
lea rbx, [r14 + 2]
je 0x14009b255
cmp word [r14 + rdi*2 - 2], 0x3a
je 0x14009b255
movzx eax, byte [0x1401703cc]
mov r13d, 1
xor edi, edi
mov byte [rsp + 0x56], al
mov eax, r13d
mov dword [rbp - 0x60], r13d
mov dword [rbp - 8], edi
mov byte [rsp + 0x50], r13b
mov byte [rsp + 0x57], dil
mov qword [rbp], rax
mov byte [rsp + 0x54], dil
mov byte [rsp + 0x53], r13b
mov dword [rbp + 0x38], 0xa
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14009b091
cmp ax, 9
jne 0x14009b097
add rbx, 2
jmp 0x14009b082
cmp word [rbx], di
je 0x14009b24b
mov r12, rbx
test rbx, rbx
je 0x14009b0e1
movzx edx, word [rbx]
test dx, dx
je 0x14009b0e1
lea rcx, [0x14012ed90]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x14009b0f7
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14009b0c0
movzx edx, word [r12 + 2]
add r12, 2
test dx, dx
jne 0x14009b0b0
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbx
repne scasw ax, word [rdi]
xor edi, edi
not rcx
lea r12, [rbx + rcx*2 - 2]
movzx esi, word [r12]
lea rdx, str.Join
mov r8d, 4
mov rcx, rbx
mov word [r12], di
call fcn.140108e4c
test eax, eax
jne 0x14009b158
lea rdx, [rbx + 8]
lea r8d, [rax + 0xf]
lea rcx, [rbp + 0x38]
call fcn.14010a074
lea rcx, [rbp + 0x38]
mov dl, 1
mov word [rbp + 0x56], di
call fcn.1400e8990
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp + 0x38]
repne scasw ax, word [rdi]
not rcx
dec rcx
xor edi, edi
mov qword [rbp], rcx
jmp 0x14009b214
lea rcx, [0x140132aa0]
call fcn.1400dd2e0
mov r8d, 5
mov rcx, rbx
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x14009b188
cmp word [rbx + 0xa], 0x30
setne byte [rsp + 0x56]
jmp 0x14009b214
lea rcx, [0x140132ac0]
call fcn.1400dd2e0
mov r8d, 5
mov rcx, rbx
mov rdx, rax
call fcn.140108e4c
test eax, eax
jne 0x14009b1b5
cmp word [rbx + 0xa], 0x30
setne byte [rsp + 0x50]
jmp 0x14009b214
movzx eax, word [rbx]
test ax, ax
je 0x14009b214
nop dword [rax]
movzx eax, ax
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x14009b1e6.38
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x9dba4]
mov ecx, dword [rdx + rax*4 + 0x9db8c]
add rcx, rdx
jmp rcx
mov byte [rsp + 0x57], 1
jmp case.0x14009b1e6.38
mov byte [rsp + 0x54], 1
jmp case.0x14009b1e6.38
mov byte [rsp + 0x53], 0
jmp case.0x14009b1e6.38
mov r13d, 2
mov dword [rbp - 0x60], r13d
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x14009b1c0
mov word [r12], si
mov rbx, r12
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14009b22f
cmp ax, 9
jne 0x14009b235
add rbx, 2
jmp 0x14009b220
cmp word [rbx], 0
jne 0x14009b0a0
mov rsi, qword [rsp + 0x68]
mov r12, qword [rbp + 0x1c0f0]
mov byte [rsp + 0x51], 1
jmp 0x14009ae75
mov ebx, dword [rsp + 0x60]
xor ecx, ecx
mov r13d, ecx
mov dword [rbp - 0x60], ecx
cmp rdi, 0xffffffffffffffff
je 0x14009b3cc
test rdi, rdi
je 0x14009ae84
cmp word [r14 + rdi*2 - 2], 0x3a
jne 0x14009b288
cmp word [r14], 0x2c
jne 0x14009b3cc
movzx edi, word [r14]
test edi, 0xffffff80
jne 0x14009b2a7
mov edx, 2
mov ecx, edi
call fcn.140109968
test eax, eax
je 0x14009b2a7
and edi, 0xffffffdf
movzx eax, di
cmp eax, 0x41
je 0x14009b535
cmp eax, 0x4f
je 0x14009b4d7
movzx edx, word [r14]
cmp dx, 0x3a
je 0x14009b2d2
cmp dx, 0x2b
je 0x14009b2d2
cmp dx, 0x2d
jne 0x14009b2dd
cmp word [r14 + 2], dx
je 0x14009b3cc
lea rcx, str.____:.___
call fcn.140109434
test rax, rax
je 0x14009b3cc
lea rdx, [0x14014dd1c]
mov rcx, r14
call fcn.140109454
mov rbx, rax
test rax, rax
je 0x14009b59d
cmp word [r14], 0x3a
jne 0x14009b36c
movzx eax, word [r14 + 2]
lea rdi, [r14 + 2]
test ax, ax
je 0x14009b366
cmp ax, 0x3a
je 0x14009b3cc
movzx ecx, ax
test ecx, 0xffffff80
jne 0x14009b345
mov edx, 0x107
call fcn.140109968
test eax, eax
jne 0x14009b359
movzx edx, word [rdi]
lea rcx, str.____t
call fcn.140109434
test rax, rax
je 0x14009b36c
movzx eax, word [rdi + 2]
add rdi, 2
test ax, ax
jne 0x14009b322
cmp word [rdi], 0x3a
je 0x14009b3cc
cmp word [r14], 0x2c
jne 0x14009b47b
lea rdi, [r14 + 2]
nop dword [rax + rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14009b38f
cmp ax, 9
jne 0x14009b395
add rdi, 2
jmp 0x14009b380
lea rdx, [0x14014dd1c]
mov r8d, 2
mov rcx, rdi
call fcn.14010a798
test eax, eax
je 0x14009b3cc
lea rcx, [rdi - 2]
lea rdx, [0x14012ed80]
mov r8d, 3
call fcn.14010a798
test eax, eax
jne 0x14009b59d
xor edi, edi
nop
test rsi, rsi
je 0x14009c0f9
cmp word [rbp + 0x1e0], 0
je 0x14009c1ae
mov eax, dword [rbp - 0x40]
mov ebx, dword [r12 + 0x2cc]
mov dword [r12 + 0x2cc], eax
cmp word [r15], 0x7b
je 0x14009c00b
cmp byte [rsp + 0x41], 0
jne 0x14009c00b
cmp dword [rbp - 0x7c], 0
jne 0x14009d941
cmp dword [r12 + 0x80], 0
je 0x14009b43a
mov rax, qword [0x140169c00]
cmp qword [rax + 0xd8], 0
je 0x14009d90c
cmp dword [0x140173ee0], 0
je 0x14009b44c
lea eax, [rbx - 1]
mov dword [0x140174c90], eax
mov qword [rsp + 0x38], rdi
xor r9d, r9d
mov qword [rsp + 0x30], rdi
lea rdx, [rbp + 0x1e0]
lea r8d, [r9 + 3]
mov rcx, r12
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call fcn.14009ff50
jmp 0x14009c0a2
mov rax, r14
cmp r14, rbx
jae 0x14009b492
cmp word [rax], 0x22
je 0x14009b492
add rax, 2
cmp rax, rbx
jb 0x14009b483
cmp rax, rbx
je 0x14009b3cc
movzx eax, word [rbx + 4]
lea rcx, [rbx + 4]
test ax, ax
je 0x14009b3cc
nop dword [rax]
cmp ax, 0x22
je 0x14009b4c8
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14009b4b0
jmp 0x14009b3cc
cmp word [rcx], r13w
je 0x14009b3cc
jmp 0x14009b59d
movzx edi, word [r14 + 2]
test edi, 0xffffff80
jne 0x14009b4f7
mov edx, 2
mov ecx, edi
call fcn.140109968
test eax, eax
je 0x14009b4f7
and edi, 0xffffffdf
cmp di, 0x52
jne 0x14009b3cc
movzx eax, word [r14 + 4]
lea rcx, [r14 + 4]
cmp ax, 0x20
je 0x14009b520
cmp ax, 9
jne 0x14009b3cc
nop word [rax + rax]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14009b52f
cmp ax, 9
jne 0x14009b585
add rcx, 2
jmp 0x14009b520
lea rdx, [0x14014dcd8]
mov r8d, 3
mov rcx, r14
call fcn.140108e4c
test eax, eax
jne 0x14009b3cc
movzx eax, word [r14 + 6]
lea rcx, [r14 + 6]
cmp ax, 0x20
je 0x14009b570
cmp ax, 9
jne 0x14009b3cc
nop dword [rax + rax]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14009b57f
cmp ax, 9
jne 0x14009b585
add rcx, 2
jmp 0x14009b570
movzx edx, word [rcx]
lea rcx, str.____:
call fcn.140109434
test rax, rax
jne 0x14009b3cc
mov rdi, qword [rbp - 0x10]
lea rax, [rdi + rsi]
cmp rax, 0x4000
jae 0x14009d8ed
cmp word [r14], 0x2c
je 0x14009b5c6
mov eax, SafeArrayAllocDescriptor
inc rsi
mov word [r15 + rsi*2 - 2], ax
lea r8, [rdi + rdi + 2]
lea rcx, [r15 + rsi*2]
mov rdx, r14
call fcn.140109100
add rsi, rdi
jmp 0x14009ae70
cmp rdi, 0xffffffffffffffff
je 0x14009da82
mov ecx, 0
cmp rdi, 0xfffffffffffffffe
je 0x14009ae84
cmp word [r14], 0x29
jne 0x14009b66f
xor eax, eax
or rcx, 0xffffffffffffffff
xor edx, edx
mov rdi, r14
mov r13d, edx
mov dword [rbp - 0x60], edx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rbx, rcx
lea rax, [r14 + rcx*2 - 2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14009b630
cmp cx, 9
jne 0x14009b63e
cmp rax, r14
je 0x14009b64e
sub rax, 2
dec rbx
jmp 0x14009b621
mov word [rax + 2], dx
lea rdi, [r14 + 2]
dec rbx
jmp 0x14009bf85
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14009b65d
cmp cx, 9
jne 0x14009b663
mov word [rax], dx
mov rbx, rdx
lea rdi, [r14 + 2]
dec rbx
jmp 0x14009bf85
mov qword [rbp + 0x10], r14
cmp byte [rsp + 0x50], cl
je 0x14009b68b
mov rdx, rdi
mov rcx, r14
call fcn.140023010
mov rdi, rax
mov qword [rbp - 0x10], rax
cmp byte [rsp + 0x56], 0
je 0x14009b6a1
mov rdx, rdi
mov rcx, r14
call fcn.14003f510
mov qword [rbp - 0x10], rax
xor r9d, r9d
mov r13d, r9d
mov dword [rsp + 0x48], r9d
cmp byte [rsp + 0x57], r9b
je 0x14009b8b7
movzx edx, word [0x140169b24]
mov r8, qword [rsp + 0x70]
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r8
or r14d, 0xffffffff
repne scasw ax, word [rdi]
mov word [rsp + 0x4c], dx
mov word [rsp + 0x58], dx
not rcx
mov word [rsp + 0x5a], dx
mov esi, r9d
dec rcx
mov qword [rsp + 0x78], r9
mov rbx, rcx
mov qword [rbp - 0x70], rcx
cmp word [r8], ax
je 0x14009b8b2
test dx, dx
je 0x14009b8b2
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x4c]
repne scasw ax, word [rdi]
lea rdi, [rsp + 0x58]
not rcx
dec rcx
mov rdx, rcx
mov qword [rbp - 0x58], rcx
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
mov eax, 0x4000
not rcx
lea r12d, [rcx - 1]
lea r15, [rcx - 1]
sub r12d, edx
sub eax, ebx
mov dword [rbp - 0x68], r12d
jns 0x14009b74f
mov r14d, r9d
jmp 0x14009b75f
test r12d, r12d
jle 0x14009b762
cdq
idiv r12d
cmp eax, 0xffffffff
cmovb r14d, eax
test r12d, r12d
je 0x14009b9ab
cmp rbx, 0x1388
jb 0x14009b9ab
mov edi, r9d
mov dword [rsp + 0x48], r9d
mov rbx, r8
test r14d, r14d
je 0x14009b8af
nop dword [rax]
lea rdx, [rsp + 0x4c]
mov rcx, rbx
call fcn.140109454
mov r12, rax
test rax, rax
je 0x14009b85b
inc edi
dec r14d
mov dword [rsp + 0x48], edi
mov rdi, rax
sub rdi, rbx
sar rdi, 1
lea rcx, [rdi + r15]
add rcx, rsi
cmp rcx, qword [rsp + 0x78]
jb 0x14009b812
sub rax, qword [rsp + 0x70]
movsxd r9, dword [rbp - 0x70]
mov r8d, r14d
sar rax, 1
movsxd rdx, eax
movsxd rax, ecx
movsxd rcx, dword [rbp - 0x68]
mov qword [rsp + 0x28], rdx
mov edx, dword [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.1400e6de0
mov rcx, r13
lea rdx, [rax + rax]
mov qword [rsp + 0x78], rax
call fcn.1401099a4
test rax, rax
je 0x14009b89f
mov r13, rax
test rdi, rdi
je 0x14009b82b
lea r8, [rdi + rdi]
lea rcx, [r13 + rsi*2]
mov rdx, rbx
call fcn.140109100
add rsi, rdi
test r15, r15
je 0x14009b846
lea r8, [r15 + r15]
lea rcx, [r13 + rsi*2]
lea rdx, [rsp + 0x58]
call fcn.140109100
add rsi, r15
mov rax, qword [rbp - 0x58]
mov edi, dword [rsp + 0x48]
lea rbx, [r12 + rax*2]
test r14d, r14d
jne 0x14009b790
test edi, edi
je 0x14009b8ac
mov r14, qword [rsp + 0x70]
mov r12, qword [rbp - 0x70]
mov rax, rbx
sub rax, r14
sar rax, 1
sub r12, rax
je 0x14009b97e
lea rdi, [r12 + rsi]
cmp rdi, qword [rsp + 0x78]
jb 0x14009b96a
lea rdx, [rdi + rdi + 2]
mov rcx, r13
call fcn.1401099a4
test rax, rax
jne 0x14009b967
test r13, r13
je 0x14009b8ac
mov rcx, r13
call fcn.140108f48
xor r9d, r9d
mov r13d, r9d
mov dword [rsp + 0x48], r9d
cmp byte [rsp + 0x54], 0
je 0x14009bc61
movzx eax, word [0x140169b24]
mov r8, qword [rsp + 0x70]
movzx edx, word [0x140169b20]
or rcx, 0xffffffffffffffff
mov word [rsp + 0x58], ax
xor eax, eax
mov rdi, r8
or r14d, 0xffffffff
mov word [rsp + 0x4c], dx
repne scasw ax, word [rdi]
mov word [rsp + 0x5a], dx
mov r13, r9
not rcx
mov r12, r9
mov qword [rbp - 0x20], r9
dec rcx
mov rbx, rcx
mov qword [rsp + 0x78], rcx
cmp word [r8], ax
je 0x14009bc54
test dx, dx
je 0x14009bc54
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x4c]
repne scasw ax, word [rdi]
lea rdi, [rsp + 0x58]
not rcx
dec rcx
mov rdx, rcx
mov qword [rbp - 0x58], rcx
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
mov eax, 0x4000
not rcx
lea r15, [rcx - 1]
dec ecx
sub ecx, edx
sub eax, ebx
mov dword [rbp - 0x68], ecx
jns 0x14009ba3c
mov r14d, r9d
jmp 0x14009ba4a
mov r13, rax
lea r8, [r12 + r12]
lea rcx, [r13 + rsi*2]
mov rdx, rbx
call fcn.140109100
mov rsi, rdi
xor ecx, ecx
lea r8, [rsi + rsi + 2]
mov rdx, r13
mov word [r13 + rsi*2], cx
mov rcx, r14
call fcn.140109100
mov rcx, r13
call fcn.140108f48
mov r13d, dword [rsp + 0x48]
xor r9d, r9d
jmp 0x14009b8b7
mov dword [rsp + 0x48], r9d
mov rsi, r8
test r14d, r14d
je 0x14009b8b7
nop dword [rax]
lea rdx, [rsp + 0x4c]
mov rcx, rsi
call fcn.140109454
mov rdi, rax
test rax, rax
je 0x14009ba2f
lea rbx, [r15 + r15]
lea rsi, [rax + rbx]
test r12d, r12d
je 0x14009ba09
sub rax, qword [rsp + 0x70]
mov r8, qword [rbp - 0x70]
mov rcx, rsi
sar rax, 1
sub r8, rax
mov rax, qword [rbp - 0x58]
sub r8, rax
lea rdx, [rdi + rax*2]
lea r8, [r8 + r8 + 2]
call fcn.140109100
lea rdx, [rsp + 0x58]
mov r8, rbx
mov rcx, rdi
call fcn.140109100
mov rbx, qword [rbp - 0x70]
movsxd rdx, r12d
add rbx, rdx
inc r13d
dec r14d
mov qword [rbp - 0x70], rbx
jne 0x14009b9c0
mov dword [rsp + 0x48], r13d
xor r9d, r9d
jmp 0x14009b8b7
test ecx, ecx
jle 0x14009ba4c
cdq
idiv ecx
cmp eax, 0xffffffff
cmovb r14d, eax
test ecx, ecx
je 0x14009bbd7
cmp rbx, 0x1388
jb 0x14009bbd7
mov edi, r9d
mov dword [rbp - 0x70], r9d
mov rbx, r8
test r14d, r14d
je 0x14009bbcf
lea rdx, [rsp + 0x4c]
mov rcx, rbx
call fcn.140109454
mov rsi, rax
test rax, rax
je 0x14009bb39
inc edi
dec r14d
mov dword [rbp - 0x70], edi
mov rdi, rax
sub rdi, rbx
sar rdi, 1
lea rcx, [rdi + r15]
add rcx, r12
cmp rcx, qword [rbp - 0x20]
jb 0x14009baf1
sub rax, qword [rsp + 0x70]
movsxd r9, dword [rsp + 0x78]
mov r8d, r14d
sar rax, 1
movsxd rdx, eax
movsxd rax, ecx
movsxd rcx, dword [rbp - 0x68]
mov qword [rsp + 0x28], rdx
mov edx, dword [rbp - 0x70]
mov qword [rsp + 0x20], rax
call fcn.1400e6de0
mov rcx, r13
lea rdx, [rax + rax]
mov qword [rbp - 0x20], rax
call fcn.1401099a4
test rax, rax
je 0x14009bb75
mov r13, rax
test rdi, rdi
je 0x14009bb0a
lea r8, [rdi + rdi]
lea rcx, [r13 + r12*2]
mov rdx, rbx
call fcn.140109100
add r12, rdi
test r15, r15
je 0x14009bb25
lea r8, [r15 + r15]
lea rcx, [r13 + r12*2]
lea rdx, [rsp + 0x58]
call fcn.140109100
add r12, r15
mov rax, qword [rbp - 0x58]
mov edi, dword [rbp - 0x70]
lea rbx, [rsi + rax*2]
test r14d, r14d
jne 0x14009ba72
test edi, edi
je 0x14009bbcc
mov r14, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rax, rbx
sub rax, r14
sar rax, 1
sub rsi, rax
je 0x14009bba3
lea rdi, [rsi + r12]
cmp rdi, qword [rbp - 0x20]
jb 0x14009bb8f
lea rdx, [rdi + rdi + 2]
mov rcx, r13
call fcn.1401099a4
test rax, rax
jne 0x14009bb8c
test r13, r13
je 0x14009bb82
mov rcx, r13
call fcn.140108f48
xor ecx, ecx
mov r12d, ecx
jmp 0x14009bc54
mov r13, rax
lea r8, [rsi + rsi]
lea rcx, [r13 + r12*2]
mov rdx, rbx
call fcn.140109100
mov r12, rdi
xor ecx, ecx
lea r8, [r12 + r12 + 2]
mov rdx, r13
mov word [r13 + r12*2], cx
mov rcx, r14
call fcn.140109100
mov rcx, r13
call fcn.140108f48
mov r12d, dword [rbp - 0x70]
jmp 0x14009bc54
xor r9d, r9d
mov r12d, r9d
jmp 0x14009bc54
mov rsi, r8
test r14d, r14d
je 0x14009bc54
movsxd r13, ecx
lea rdx, [rsp + 0x4c]
mov rcx, rsi
call fcn.140109454
mov rdi, rax
test rax, rax
je 0x14009bc54
lea rbx, [r15 + r15]
lea rsi, [rax + rbx]
test r13d, r13d
je 0x14009bc2c
sub rax, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
mov rcx, rsi
sar rax, 1
sub r8, rax
mov rax, qword [rbp - 0x58]
sub r8, rax
lea rdx, [rdi + rax*2]
lea r8, [r8 + r8 + 2]
call fcn.140109100
lea rdx, [rsp + 0x58]
mov r8, rbx
mov rcx, rdi
call fcn.140109100
mov rbx, qword [rsp + 0x78]
inc r12d
add rbx, r13
dec r14d
mov rdx, r13
mov qword [rsp + 0x78], rbx
jne 0x14009bbe2
mov r13d, dword [rsp + 0x48]
add r13d, r12d
mov dword [rsp + 0x48], r13d
cmp byte [rsp + 0x53], 0
je 0x14009bebe
movzx eax, word [0x140169b24]
mov r8, qword [rsp + 0x70]
movzx edx, word [0x140169b1c]
or rcx, 0xffffffffffffffff
xor r9d, r9d
mov word [rsp + 0x58], ax
xor eax, eax
mov rdi, r8
or r14d, 0xffffffff
repne scasw ax, word [rdi]
mov word [rsp + 0x4c], dx
mov word [rsp + 0x5a], dx
not rcx
mov r13d, r9d
mov r15d, r9d
dec rcx
mov qword [rbp - 0x20], r9
mov rsi, rcx
mov qword [rsp + 0x78], rcx
cmp word [r8], ax
je 0x14009beb3
test dx, dx
je 0x14009beb3
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x4c]
repne scasw ax, word [rdi]
lea rdi, [rsp + 0x58]
not rcx
dec rcx
mov rdx, rcx
mov qword [rbp + 0x20], rcx
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
mov eax, 0x4000
not rcx
dec rcx
mov rbx, rcx
mov qword [rbp - 0x58], rcx
sub ecx, edx
sub eax, esi
mov dword [rbp - 0x68], ecx
jns 0x14009bd11
mov r14d, r9d
jmp 0x14009bd1f
test ecx, ecx
jle 0x14009bd21
cdq
idiv ecx
cmp eax, 0xffffffff
cmovb r14d, eax
test ecx, ecx
je 0x14009bef8
cmp rsi, 0x1388
jb 0x14009bef8
mov edi, r9d
mov dword [rbp - 0x70], r9d
mov rbx, r8
test r14d, r14d
je 0x14009beb3
nop word [rax + rax]
lea rdx, [rsp + 0x4c]
mov rcx, rbx
call fcn.140109454
mov r12, rax
test rax, rax
je 0x14009be23
inc edi
dec r14d
mov dword [rbp - 0x70], edi
mov rdi, rax
mov rax, qword [rbp - 0x58]
sub rdi, rbx
sar rdi, 1
lea rsi, [rdi + r15]
lea rcx, [rsi + rax]
cmp rcx, qword [rbp - 0x20]
jb 0x14009bdd7
movsxd r9, dword [rsp + 0x78]
mov rax, r12
mov r8d, r14d
sub rax, qword [rsp + 0x70]
sar rax, 1
movsxd rdx, eax
movsxd rax, ecx
movsxd rcx, dword [rbp - 0x68]
mov qword [rsp + 0x28], rdx
mov edx, dword [rbp - 0x70]
mov qword [rsp + 0x20], rax
call fcn.1400e6de0
mov rcx, r13
lea rdx, [rax + rax]
mov qword [rbp - 0x20], rax
call fcn.1401099a4
test rax, rax
je 0x14009be5f
mov r13, rax
test rdi, rdi
je 0x14009bdf0
lea r8, [rdi + rdi]
lea rcx, [r13 + r15*2]
mov rdx, rbx
call fcn.140109100
mov r15, rsi
mov rdi, qword [rbp - 0x58]
test rdi, rdi
je 0x14009be0f
lea r8, [rdi + rdi]
lea rcx, [r13 + r15*2]
lea rdx, [rsp + 0x58]
call fcn.140109100
add r15, rdi
mov rax, qword [rbp + 0x20]
mov edi, dword [rbp - 0x70]
lea rbx, [r12 + rax*2]
test r14d, r14d
jne 0x14009bd50
test edi, edi
je 0x14009beb0
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rax, rbx
sub rax, r12
sar rax, 1
sub rsi, rax
je 0x14009be8a
lea rdi, [rsi + r15]
cmp rdi, qword [rbp - 0x20]
jb 0x14009be76
lea rdx, [rdi + rdi + 2]
mov rcx, r13
call fcn.1401099a4
test rax, rax
jne 0x14009be73
test r13, r13
je 0x14009be6c
mov rcx, r13
call fcn.140108f48
xor ecx, ecx
mov r12d, ecx
jmp 0x14009beb6
mov r13, rax
lea r8, [rsi + rsi]
lea rcx, [r13 + r15*2]
mov rdx, rbx
call fcn.140109100
mov r15, rdi
xor ecx, ecx
lea r8, [r15 + r15 + 2]
mov rdx, r13
mov word [r13 + r15*2], cx
mov rcx, r12
call fcn.140109100
mov rcx, r13
call fcn.140108f48
mov r12d, dword [rbp - 0x70]
jmp 0x14009beb6
xor r9d, r9d
mov r12d, r9d
mov r13d, dword [rsp + 0x48]
add r13d, r12d
mov r14, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x68]
mov r15, qword [rbp - 0x30]
mov r12, qword [rbp + 0x1c0f0]
test r13d, r13d
mov r13d, dword [rbp - 0x60]
je 0x14009bf7d
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r14
repne scasw ax, word [rdi]
not rcx
lea rbx, [rcx - 1]
jmp 0x14009bf81
mov r12d, r9d
mov r15, r8
mov rsi, r8
test r14d, r14d
je 0x14009beb6
movsxd r13, ecx
nop dword [rax]
lea rdx, [rsp + 0x4c]
mov rcx, rsi
call fcn.140109454
mov rdi, rax
test rax, rax
je 0x14009beb6
add rbx, rbx
lea rsi, [rbx + rax]
test r13d, r13d
je 0x14009bf57
mov r8, qword [rsp + 0x78]
sub rax, r15
mov rcx, rsi
sar rax, 1
sub r8, rax
mov rax, qword [rbp + 0x20]
sub r8, rax
lea rdx, [rdi + rax*2]
lea r8, [r8 + r8 + 2]
call fcn.140109100
lea rdx, [rsp + 0x58]
mov r8, rbx
mov rcx, rdi
call fcn.140109100
add qword [rsp + 0x78], r13
mov rbx, qword [rbp - 0x58]
inc r12d
dec r14d
jne 0x14009bf10
jmp 0x14009beb6
mov rbx, qword [rbp - 0x10]
mov rdi, qword [rbp + 0x10]
mov rcx, qword [rbp]
lea rax, [rcx + rbx]
add rax, rsi
cmp rax, 0x4001
jae 0x14009da63
mov eax, dword [rbp - 8]
inc eax
mov dword [rbp - 8], eax
cmp eax, 1
jle 0x14009bfce
test rcx, rcx
je 0x14009bfce
cmp rdi, r14
jne 0x14009bfce
lea r8, [rcx + rcx + 2]
lea rdx, [rbp + 0x38]
lea rcx, [r15 + rsi*2]
call fcn.140109100
add rsi, qword [rbp]
mov qword [rsp + 0x68], rsi
mov ecx, 0
test rbx, rbx
je 0x14009ae80
lea r8, [rbx + rbx + 2]
lea rcx, [r15 + rsi*2]
mov rdx, rdi
call fcn.140109100
add rsi, rbx
jmp 0x14009ae70
mov word [r12], si
mov rsi, qword [rsp + 0x68]
mov r12, qword [rbp + 0x1c0f0]
jmp 0x14009b3d0
mov ecx, dword [rbp - 0x7c]
test ecx, ecx
je 0x14009c050
dec ecx
je 0x14009c037
dec ecx
jne 0x14009c0b2
lea rdx, [rbp + 0x1e0]
mov rcx, r12
call fcn.140029230
test eax, eax
je 0x14009da39
jmp 0x14009c0b2
lea rdx, [rbp + 0x1e0]
mov rcx, r12
call fcn.140028990
test eax, eax
je 0x14009da39
jmp 0x14009c0b2
mov rax, qword [0x140169c00]
cmp qword [rax + 0xd8], 0
jne 0x14009d964
lea r8, [rbp + 0x10200]
lea rdx, [rbp + 0x1e0]
mov rcx, r12
call fcn.140027ca0
test eax, eax
je 0x14009da39
cmp byte [rsp + 0x41], 0
je 0x14009c0b2
mov edx, 0x75
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rdi
call fcn.1400a3000
test eax, eax
je 0x14009da39
mov qword [r12 + 0x6a0], rdi
cmp dword [rbp - 0x7c], 0
mov word [rbp + 0x1e0], di
je 0x14009c1a6
cmp byte [rsp + 0x41], 0
jne 0x14009c1a6
lea rdx, [r15 + 2]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14009c0e1
cmp ax, 9
jne 0x14009c0e7
add rdx, 2
jmp 0x14009c0d2
cmp word [rdx], 0
jne 0x14009c180
mov dword [r12 + 0x2cc], ebx
xor esi, esi
movzx ebx, byte [rbp + 0x1c100]
test bl, bl
je 0x14009d89d
mov edi, dword [rbp - 0x38]
inc edi
mov ecx, edi
mov dword [rbp - 0x38], edi
dec ecx
je 0x14009c7a9
dec ecx
je 0x14009c687
dec ecx
je 0x14009d7ff
cmp ecx, 7
jne 0x14009d89d
lea rdi, [0x1401295d4]
cmp bl, 0x12
je 0x14009c153
cmp bl, 0xa3
jbe 0x14009c719
cmp bl, 0xa5
ja 0x14009c719
movzx ecx, byte [rbp - 0x80]
sub ecx, 0x11
je 0x14009c70a
sub ecx, 0x91
je 0x14009c70a
dec ecx
jne 0x14009c719
lea rcx, [0x14014e1c0]
jmp 0x14009c711
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov qword [rsp + 0x68], rcx
lea r8, [rcx + rcx + 2]
mov rcx, r15
call fcn.140109100
xor edi, edi
mov dword [r12 + 0x2cc], ebx
cmp word [r15], 0x7d
jne 0x14009c2b4
mov ecx, dword [r12 + 0x80]
test ecx, ecx
je 0x14009c2b4
mov rax, qword [0x140169c00]
cmp qword [rax + 0xd8], 0
jne 0x14009c2b4
cmp qword [r12 + 0x2b8], 0
je 0x14009c20d
mov rcx, qword [r12 + 0x2c0]
mov qword [r12 + 0x2b8], rdi
test rcx, rcx
je 0x14009c265
call fcn.140108f48
mov qword [r12 + 0x2c0], rdi
jmp 0x14009c265
lea eax, [rcx - 1]
movsxd rcx, eax
mov dword [r12 + 0x80], eax
mov rcx, qword [r12 + rcx*8 + 0x88]
call fcn.1400d74e0
movsxd rdx, dword [r12 + 0x80]
mov rcx, qword [r12 + rdx*8 + 0x88]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
lea rcx, [r12 + 0xb0]
mov edx, 0x2e
call fcn.14010a5e8
xor ecx, ecx
test rax, rax
je 0x14009c25c
mov word [rax], cx
jmp 0x14009c265
mov word [r12 + 0xb0], cx
movzx eax, word [r15 + 2]
add r15, 2
cmp ax, 0x20
je 0x14009c265
cmp ax, 9
je 0x14009c265
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x18], r15
test ax, ax
je 0x14009c0f9
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
dec rcx
xor edi, edi
mov qword [r12 + 0x6a0], rdi
mov rsi, rcx
mov qword [rsp + 0x68], rcx
jmp 0x14009b3d0
cmp qword [r12 + 0x2b8], 0
je 0x14009c3ab
mov rax, qword [0x140169c00]
cmp qword [rax + 0xd8], 0
jne 0x14009c3ab
lea rdx, [0x140133310]
mov r8d, 3
mov rcx, r15
call fcn.140108e4c
test eax, eax
je 0x14009c30e
lea rdx, [0x14014ddf8]
mov r8d, 3
mov rcx, r15
call fcn.140108e4c
test eax, eax
jne 0x14009d987
lea rdi, [r15 + 6]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14009c321
cmp ax, 9
jne 0x14009c327
add rdi, 2
jmp 0x14009c312
movzx eax, word [rdi]
test ax, ax
je 0x14009c344
cmp ax, 0x7b
jne 0x14009d987
cmp word [rdi + 2], 0
jne 0x14009d987
mov rcx, qword [r12 + 0x2c0]
lea rdx, [rbp + 0x1e0]
sub rdx, rcx
nop word [rax + rax]
movzx eax, word [rcx]
add rcx, 2
mov word [rcx + rdx - 2], ax
test ax, ax
jne 0x14009c360
lea rcx, [rbp + 0x1e0]
mov edx, 0x2e
call fcn.140109434
mov rdx, rax
movzx eax, word [r15]
mov word [rdx + 2], ax
cmp word [rdi], 0x7b
mov eax, dword [r12 + 0x2cc]
sete byte [rsp + 0x41]
xor ecx, ecx
mov dword [rbp - 0x40], eax
mov dword [rbp - 0x7c], ecx
jmp 0x14009c0f9
lea rdx, [rsp + 0x41]
mov rcx, r15
call fcn.140026f60
test al, al
je 0x14009c3f4
lea rdx, [rbp + 0x1e0]
mov rcx, r15
sub rdx, r15
nop dword [rax]
movzx eax, word [rcx]
add rcx, 2
mov word [rcx + rdx - 2], ax
test ax, ax
jne 0x14009c3d0
mov eax, dword [r12 + 0x2cc]
mov dword [rbp - 0x7c], edi
mov dword [rbp - 0x40], eax
jmp 0x14009c0f9
mov rax, qword [0x140169c00]
cmp qword [rax + 0xd8], 0
jne 0x14009c67b
lea rdx, str.Class
mov r8d, 5
mov rcx, r15
call fcn.140108e4c
test eax, eax
jne 0x14009c4d8
movzx eax, word [r15 + 0xa]
cmp ax, 0x20
je 0x14009c43b
cmp ax, 9
jne 0x14009c4d8
lea rbx, [r15 + 0xc]
nop
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14009c44f
cmp ax, 9
jne 0x14009c455
add rbx, 2
jmp 0x14009c440
movzx edx, word [rbx]
lea rcx, str.__t____:_______.___
call fcn.140109434
test rax, rax
jne 0x14009c4d8
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea rdx, [rbx + rcx*2 - 4]
cmp word [rdx], 0x7b
sete al
mov byte [rsp + 0x41], al
test al, al
je 0x14009c49d
xor ecx, ecx
mov word [rdx], cx
sub rdx, r15
mov rcx, r15
sar rdx, 1
call fcn.140023010
lea rcx, [rbp + 0x1e0]
sub rcx, rbx
nop word [rax + rax]
movzx eax, word [rbx]
add rbx, 2
mov word [rbx + rcx - 2], ax
test ax, ax
jne 0x14009c4b0
mov eax, dword [r12 + 0x2cc]
mov dword [rbp - 0x7c], 1
mov dword [rbp - 0x40], eax
jmp 0x14009c0f9
cmp dword [r12 + 0x80], 0
je 0x14009c67b
mov rdi, r15
nop word [rax + rax]
movzx ecx, word [rdi]
test ecx, 0xffffff80
jne 0x14009c509
mov edx, 0x107
call fcn.140109968
test eax, eax
jne 0x14009c51e
movzx eax, word [rdi]
cmp ax, 0x5f
je 0x14009c51e
cmp ax, 0x7f
ja 0x14009c51e
cmp ax, 0x2e
jne 0x14009c524
add rdi, 2
jmp 0x14009c4f0
cmp rdi, r15
jbe 0x14009c5f8
nop dword [rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14009c53f
cmp ax, 9
jne 0x14009c545
add rdi, 2
jmp 0x14009c530
movzx eax, word [rdi]
cmp ax, 0x3a
jne 0x14009c570
cmp word [rdi + 2], 0x3d
jne 0x14009c570
xor r8d, r8d
mov rdx, r15
mov rcx, r12
call fcn.140029470
test eax, eax
je 0x14009da39
jmp 0x14009c0f9
test ax, ax
je 0x14009c588
cmp ax, 0x5b
je 0x14009c588
cmp ax, 0x7b
jne 0x14009c5f8
cmp word [rdi + 2], 0
jne 0x14009c5f8
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
cmp word [r15 + rcx*2 - 4], 0x7b
sete al
mov byte [rsp + 0x41], al
test al, al
je 0x14009c5b5
lea rdx, [rcx - 2]
mov rcx, r15
call fcn.140023010
lea rdx, [rbp + 0x1e0]
mov rcx, r15
sub rdx, r15
nop word [rax + rax]
movzx eax, word [rcx]
add rcx, 2
mov word [rcx + rdx - 2], ax
test ax, ax
jne 0x14009c5d0
mov eax, dword [r12 + 0x2cc]
mov dword [rbp - 0x7c], 2
mov dword [rbp - 0x40], eax
jmp 0x14009c0f9
lea rdx, str.Static
mov r8d, 6
mov rcx, r15
call fcn.140108e4c
test eax, eax
jne 0x14009c62e
movzx eax, word [r15 + 0xc]
cmp ax, 0x20
je 0x14009c622
cmp ax, 9
jne 0x14009c62e
lea rdx, [r15 + 0xe]
mov r8b, 1
jmp 0x14009c55b
cmp word [r15], 0x23
jne 0x14009d993
mov edi, dword [r12 + 0x2cc]
mov rdx, r15
mov rcx, r12
call fcn.14009e070
test eax, eax
je 0x14009da39
cmp eax, 3
jne 0x14009d993
mov eax, dword [rbp - 0x28]
mov dword [r12 + 0x2cc], edi
mov dword [r12 + 0x2c8], eax
mov dword [0x140174c8c], eax
jmp 0x14009c0f9
mov r12, qword [rsp + 0x68]
xor esi, esi
jmp 0x14009c7c7
lea rax, [0x14012e7e8]
mov rdx, r15
mov rcx, rax
sub rdx, rax
nop word [rax + rax]
movzx eax, word [rcx]
add rcx, 2
mov word [rcx + rdx - 2], ax
test ax, ax
jne 0x14009c6a0
cmp byte [rsp + 0x43], 0
mov eax, esi
lea r8, [rbp - 0x18]
setne al
mov r9d, 1
mov rcx, r12
lea edx, [rax + 0xc3]
mov qword [rsp + 0x20], rsi
call fcn.1400a3000
cmp byte [rsp + 0x55], 0
je 0x14009c135
lea rcx, str.3_z45.z
call fcn.1400dd2e0
lea r8, [rbp + 0x60]
mov rcx, r15
mov rdx, rax
call fcn.140108924
mov dword [rbp - 0x38], 9
jmp 0x14009c7bf
lea rcx, [0x14014e198]
call fcn.1400dd2e0
mov rdi, rax
lea rcx, [0x14014e1e8]
mov qword [r12 + 0x6a0], rsi
call fcn.1400dd2e0
lea r9, [rbp + 0x28]
mov r8, rdi
mov rdx, rax
lea rax, [rbp + 0x60]
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.140108924
mov edx, 0x41
lea r8, [rbp - 0x18]
lea r9d, [rdx - 0x40]
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.1400a3000
test eax, eax
je 0x14009da39
mov edx, 0x67
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.1400a3000
lea r8, [rbp + 0xa0]
lea rdx, str._s_up::
mov rcx, r15
mov qword [r12 + 0x6a0], rsi
call fcn.140108924
mov dword [rbp - 0x38], 2
jmp 0x14009c7bf
lea r8, [rbp + 0xa0]
lea rdx, str._s::
mov rcx, r15
call fcn.140108924
movsxd r12, eax
mov qword [rsp + 0x68], r12
cmp word [r15], 0x3a
mov r14, rsi
mov qword [rbp - 0x68], rsi
mov r13, rsi
jne 0x14009c8f3
movzx ecx, word [r15 + 2]
lea rax, [r15 + 2]
test cx, cx
je 0x14009c8f3
mov r8, rax
mov qword [rbp + 0x18], rax
cmp cx, 0x3a
je 0x14009c81e
mov edx, 0x3a
mov rcx, rax
call fcn.140109434
mov r14, rax
test rax, rax
je 0x14009c8ec
mov r8, qword [rbp + 0x18]
add r14, 2
jmp 0x14009c831
cmp word [r15 + 4], 0
lea rax, [r15 + 4]
je 0x14009c8f3
mov r14, rax
mov qword [rbp - 0x68], r14
test r14, r14
je 0x14009c8f3
movzx edi, byte [0x1401703cb]
mov rbx, r8
mov byte [rsp + 0x44], dil
cmp r8, r14
jae 0x14009c88b
movzx edi, word [rbx]
test edi, 0xffffff80
jne 0x14009c870
mov edx, 2
mov ecx, edi
call fcn.140109968
test eax, eax
je 0x14009c870
and edi, 0xffffffdf
cmp di, 0x58
je 0x14009c881
add rbx, 2
cmp rbx, r14
jb 0x14009c852
jmp 0x14009c88b
cmp word [rbx + 2], 0x30
setne byte [rsp + 0x44]
movzx r15d, byte [rsp + 0x44]
mov rbx, r14
mov r12d, 9
lea r14, [0x140000000]
movzx eax, word [rbx]
test ax, ax
je 0x14009c8d4
nop dword [rax]
cmp ax, word [0x140169b24]
je 0x14009c960
cmp ax, 0x3a
je 0x14009c960
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x14009c8b0
mov r12, qword [rsp + 0x68]
mov r14, qword [rbp - 0x68]
mov r15, qword [rbp - 0x30]
test r13, r13
jne 0x14009cb28
xor esi, esi
mov qword [rbp - 0x68], rsi
mov r14, rsi
lea rdx, [0x14014dd1c]
mov rcx, r15
call fcn.140109454
mov r13, rax
test rax, rax
je 0x14009ca42
cmp rax, r15
jne 0x14009c91e
cmp word [rax + 4], 0x3a
jne 0x14009c91e
add r13, 2
mov rdi, r13
cmp r13, r15
jbe 0x14009c93e
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14009c935
cmp ax, 9
jne 0x14009c93e
sub rdi, 2
cmp rdi, r15
ja 0x14009c926
movzx ebx, word [rdi]
mov rcx, r15
mov word [rdi], si
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14009c95a
cmp ax, 9
jne 0x14009ca17
add rcx, 2
jmp 0x14009c947
movzx eax, word [rbx]
test ax, ax
je 0x14009c8d4
lea rsi, [rbx + 2]
cmp ax, 0x3a
jne 0x14009c997
cmp word [rsi], ax
jne 0x14009ca0e
mov r13, rbx
mov rbx, rsi
test r15b, r15b
jne 0x14009c8d4
add rbx, 2
jmp 0x14009c8a1
movzx eax, word [rsi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x14009c9af.99
cdqe
mov ecx, dword [r14 + rax*4 + 0x9dbe4]
add rcx, r14
jmp rcx
mov eax, 7
jmp 0x14009c9df
mov eax, 8
jmp 0x14009c9df
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
jmp 0x14009c9df
mov eax, 0xa
jmp 0x14009c9df
mov eax, SafeArrayGetElemsize
jmp 0x14009c9df
mov word [rsi], r12w
jmp case.0x14009c9af.99
mov eax, reloc.WSOCK32.dll_inet_ntoa
mov word [rsi], ax
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
repne scasw ax, word [rdi]
mov rdx, rsi
not rcx
lea r8, [rcx + rcx]
mov rcx, rbx
call fcn.140109100
cmp word [rbx], 0x3a
jne 0x14009ca0e
cmp word [rsi], 0x3a
cmove rbx, rsi
add rbx, 2
jmp 0x14009c8a1
xor r8d, r8d
xor edx, edx
call fcn.14000fde0
mov dword [rbp + 8], eax
test eax, eax
je 0x14009ca33
cmp eax, 4
je 0x14009da39
jmp 0x14009ca36
mov r13, rsi
mov word [rdi], bx
test r13, r13
jne 0x14009cb2a
cmp word [r15 + r12*2 - 2], 0x3a
jne 0x14009d6fb
cmp r12, 1
je 0x14009da40
movzx eax, word [r15]
mov rcx, r15
test ax, ax
je 0x14009caa7
movzx edx, word [0x140169b1c]
nop dword [rax]
cmp ax, 0x20
je 0x14009d6fb
cmp ax, 9
je 0x14009d6fb
cmp ax, dx
je 0x14009d6fb
cmp ax, word [0x140169b24]
je 0x14009d6fb
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14009ca70
cmp word [r15 + r12*2 - 4], 0x3a
jne 0x14009caba
cmp r12, 2
ja 0x14009d6fb
lea rdx, str.Default
mov rcx, r15
mov word [r15 + r12*2 - 2], si
call fcn.140108424
mov r12, qword [rbp + 0x1c0f0]
test eax, eax
jne 0x14009d36f
mov rax, qword [r12 + 0x70]
test rax, rax
je 0x14009d36f
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x14009d36f
cmp word [rcx], 0x73
jne 0x14009d36f
mov edx, reloc.WSOCK32.dll_WSACleanup
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.1400a3000
test eax, eax
je 0x14009da39
jmp 0x14009c0fb
xor esi, esi
cmp r13, r15
jbe 0x14009ca42
mov rax, qword [0x140169c00]
cmp qword [rax + 0xd8], 0
jne 0x14009da00
mov r12, qword [rbp + 0x1c0f0]
mov rax, qword [r12 + 8]
test rax, rax
je 0x14009cb63
cmp word [rax], 0x1a
je 0x14009d99f
mov word [r13], si
add r13, 4
test r14, r14
jne 0x14009d03f
cmp word [r13], r14w
je 0x14009cbbb
mov rdx, r13
nop
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14009cb8f
cmp ax, 9
jne 0x14009cb95
add rdx, 2
jmp 0x14009cb80
mov rax, rdx
sub rax, r13
sar rax, 1
je 0x14009cbbb
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx + rcx]
mov rcx, r13
call fcn.140109100
cmp word [r13], 0
mov r12, r13
mov qword [rbp - 0x58], r13
je 0x14009d048
cmp word [r13 + 2], 0
je 0x14009cd2f
movzx eax, word [r13 + 2]
xor dl, dl
xor dil, dil
mov qword [rbp - 0x58], r13
test ax, ax
je 0x14009cd04
movzx r15d, byte [rbp + 0x1c108]
mov r14d, dword [rbp - 0x3c]
lea r8, [0x140000000]
cmp ax, 0x20
je case.0x14009cc35.40
movzx eax, word [r12]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14009cc35.40
cdqe
movzx eax, byte [r8 + rax + 0x9dc5c]
mov ecx, dword [r8 + rax*4 + 0x9dc3c]
add rcx, r8
jmp rcx
mov dil, 1
jmp case.0x14009cc35.35
mov dl, 1
jmp case.0x14009cc35.35
test dil, dil
jne 0x14009cc58
test dl, dl
jne 0x14009cc5c
or r14d, 1
jmp case.0x14009cc35.35
test dl, dl
je 0x14009cc62
or r15b, 4
xor dl, dl
test dil, dil
je case.0x14009cc35.35
or r15b, 8
jmp 0x14009ccd7
test dil, dil
jne 0x14009cc7c
test dl, dl
jne 0x14009cc80
or r14d, 2
jmp case.0x14009cc35.35
test dl, dl
je 0x14009cc86
or r15b, 1
xor dl, dl
test dil, dil
je case.0x14009cc35.35
or r15b, 2
jmp 0x14009ccd7
test dil, dil
jne 0x14009cca0
test dl, dl
jne 0x14009cca4
or r14d, 4
jmp case.0x14009cc35.35
test dl, dl
je 0x14009ccaa
or r15b, 0x10
xor dl, dl
test dil, dil
je case.0x14009cc35.35
or r15b, 0x20
jmp 0x14009ccd7
test dil, dil
jne 0x14009ccc4
test dl, dl
jne 0x14009ccc8
or r14d, 8
jmp case.0x14009cc35.35
test dl, dl
je 0x14009ccce
or r15b, 0x40
xor dl, dl
test dil, dil
je case.0x14009cc35.35
or r15b, 0x80
xor dil, dil
movzx eax, word [r12 + 4]
add r12, 2
test ax, ax
jne 0x14009cc04
mov dword [rbp - 0x3c], r14d
mov r14, qword [rbp - 0x68]
mov byte [rbp + 0x1c108], r15b
mov r15, qword [rbp - 0x30]
mov qword [rbp - 0x58], r12
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
xor r8d, r8d
xor edx, edx
mov r9, rax
mov rcx, r12
call fcn.140019df0
movzx ebx, al
mov byte [rbp + 0x1c100], al
test al, al
je 0x14009d04f
jmp 0x14009cd37
mov al, 0xff
mov byte [rbp + 0x1c100], al
cmp word [r15], 0
mov rbx, r15
je 0x14009ce6a
movzx eax, word [r15 + 2]
lea r8, [r15 + 2]
xor dl, dl
xor dil, dil
test ax, ax
je 0x14009ce6a
movzx r15d, byte [rsp + 0x40]
mov r12d, dword [rbp - 0x50]
lea r9, [0x140000000]
nop dword [rax]
cmp ax, 0x20
je case.0x14009cd9f.40
movzx eax, word [rbx]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14009cd9f.40
cdqe
movzx eax, byte [r9 + rax + 0x9dcdc]
mov ecx, dword [r9 + rax*4 + 0x9dcbc]
add rcx, r9
jmp rcx
mov dil, 1
jmp case.0x14009cd9f.35
mov dl, 1
jmp case.0x14009cd9f.35
test dil, dil
jne 0x14009cdc2
test dl, dl
jne 0x14009cdc6
or r12d, 1
jmp case.0x14009cd9f.35
test dl, dl
je 0x14009cdcc
or r15b, 4
xor dl, dl
test dil, dil
je case.0x14009cd9f.35
or r15b, 8
jmp 0x14009ce41
test dil, dil
jne 0x14009cde6
test dl, dl
jne 0x14009cdea
or r12d, 2
jmp case.0x14009cd9f.35
test dl, dl
je 0x14009cdf0
or r15b, 1
xor dl, dl
test dil, dil
je case.0x14009cd9f.35
or r15b, 2
jmp 0x14009ce41
test dil, dil
jne 0x14009ce0a
test dl, dl
jne 0x14009ce0e
or r12d, 4
jmp case.0x14009cd9f.35
test dl, dl
je 0x14009ce14
or r15b, 0x10
xor dl, dl
test dil, dil
je case.0x14009cd9f.35
or r15b, 0x20
jmp 0x14009ce41
test dil, dil
jne 0x14009ce2e
test dl, dl
jne 0x14009ce32
or r12d, 8
jmp case.0x14009cd9f.35
test dl, dl
je 0x14009ce38
or r15b, 0x40
xor dl, dl
test dil, dil
je case.0x14009cd9f.35
or r15b, 0x80
xor dil, dil
movzx eax, word [r8 + 2]
mov rbx, r8
add r8, 2
test ax, ax
jne 0x14009cd70
mov dword [rbp - 0x50], r12d
mov r12, qword [rbp - 0x58]
mov byte [rsp + 0x40], r15b
mov r15, qword [rbp - 0x30]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
xor r8d, r8d
xor edx, edx
mov r9, rax
mov rcx, rbx
call fcn.140019df0
lea rdx, [0x14012ed80]
mov rcx, rbx
movzx edi, al
mov byte [rbp - 0x80], al
call fcn.140109454
test rax, rax
lea ecx, [rdi - 1]
setne sil
cmp cl, 5
ja 0x14009ceac
cmp dil, 3
jne 0x14009ceb3
lea eax, [rdi + 0x66]
cmp al, 5
ja 0x14009ceb7
mov cl, 1
jmp 0x14009ceb9
xor cl, cl
movzx edx, byte [rbp + 0x1c100]
lea eax, [rdx - 1]
cmp al, 5
ja 0x14009cecc
cmp dl, 3
jne 0x14009ced3
lea eax, [rdx + 0x66]
cmp al, 5
ja 0x14009ced7
mov al, 1
jmp 0x14009ced9
xor al, al
mov byte [rsp + 0x43], al
test cl, cl
jne 0x14009ceea
mov byte [rsp + 0x55], 1
test al, al
jne 0x14009ceef
mov byte [rsp + 0x55], 0
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp rcx, 1
jne 0x14009cf1b
movzx ecx, word [rbx]
call qword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
lea rax, [0x14014df30]
jne 0x14009cf22
lea rax, [0x1401295d4]
lea rcx, [0x1401295d4]
lea r9, [0x1401380ac]
test sil, sil
cmovne r9, rcx
lea r8, [0x140134270]
lea rcx, [rbp + 0xa0]
mov edx, SafeArrayAllocDescriptor
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.1400e6100
lea rcx, [rbp + 0x60]
mov r8d, SafeArrayAllocDescriptor
mov rdx, r12
call fcn.14010a074
xor esi, esi
lea rcx, [rbp + 0x28]
lea r8d, [rsi + 7]
mov rdx, r13
mov word [rbp + 0x9e], si
call fcn.14010a074
sub r12, r13
mov word [rbp + 0x36], si
sar r12, 1
cmp r12, 8
jae 0x14009cf9a
mov word [rbp + r12*2 + 0x28], si
mov edi, esi
mov dword [rbp - 0x38], esi
cmp word [rbp + 0x28], si
jne 0x14009d7f3
movzx ebx, byte [rbp + 0x1c100]
cmp bl, 0xd
je 0x14009d016
cmp bl, 0x13
jne 0x14009d7f3
movzx edi, word [rbp + 0x60]
test edi, 0xffffff80
jne 0x14009cfdd
mov edx, 2
mov ecx, edi
call fcn.140109968
test eax, eax
je 0x14009cfdd
and edi, 0xffffffdf
cmp di, 0x50
je 0x14009d035
movzx edi, word [rbp + 0x60]
test edi, 0xffffff80
jne 0x14009d002
mov edx, 2
mov ecx, edi
call fcn.140109968
test eax, eax
je 0x14009d002
and edi, 0xffffffdf
cmp di, 0x42
je 0x14009d035
mov r12, qword [rbp + 0x1c0f0]
mov edi, esi
jmp 0x14009c10d
lea rdx, str.Return
lea rcx, [rbp + 0x60]
call fcn.140108424
mov r12, qword [rbp + 0x1c0f0]
test eax, eax
jne 0x14009c10d
xor bl, bl
mov byte [rbp + 0x1c100], bl
jmp 0x14009d04f
movzx ebx, byte [rbp + 0x1c100]
jmp 0x14009d056
movzx ebx, byte [rbp + 0x1c100]
mov r12, qword [rbp + 0x1c0f0]
cmp byte [r12 + 0x2d0], 0
je 0x14009d095
mov edx, 0x67
mov r9d, 0xff
xor r8d, r8d
mov rcx, r12
mov byte [r12 + 0x2d0], 0
mov qword [rsp + 0x20], rsi
call fcn.1400a3000
test eax, eax
je 0x14009da39
mov qword [r12 + 0x6a0], rsi
mov r8b, 1
mov rdx, r15
mov rcx, r12
call fcn.140027600
test eax, eax
je 0x14009da39
test r14, r14
je 0x14009d1c6
cmp word [r14], 0
je 0x14009d9c9
mov rcx, qword [r12 + 0x28]
movzx edi, byte [rsp + 0x44]
mov r8, qword [rbp + 0x18]
lea rdx, [0x1401295d4]
mov byte [rsp + 0x30], 0
test dil, dil
mov rax, r13
mov r9, r14
cmovne rax, rdx
movzx edx, byte [rsp + 0x51]
mov byte [rsp + 0x28], dl
mov rdx, rcx
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x20], rax
call fcn.1400119b0
test eax, eax
je 0x14009da39
cmp word [r13], 0
je 0x14009c0f9
test dil, dil
je 0x14009d1a1
mov rdx, r13
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14009d12f
cmp ax, 9
jne 0x14009d135
add rdx, 2
jmp 0x14009d120
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call fcn.14009ff50
test eax, eax
je 0x14009da39
mov rax, qword [r12 + 8]
movzx ecx, word [rax]
cmp cx, 9
jb 0x14009d177
cmp cx, 0x20
jbe 0x14009d9b3
cmp cx, 0x21
je 0x14009d9b3
cmp cx, 0x69
jb 0x14009d191
cmp cx, 0x6b
jbe 0x14009d9b3
cmp cx, 0x6f
jb 0x14009d1a1
cmp cx, 0x71
jbe 0x14009d9b3
mov edx, 0x67
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.1400a3000
test eax, eax
jne 0x14009c102
jmp 0x14009db70
cmp word [r13], 0
movzx edi, si
je 0x14009d276
xor edx, edx
mov rcx, r13
call fcn.14000bc70
movzx edi, ax
test ax, ax
jne 0x14009d256
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call fcn.14009ff50
test eax, eax
je 0x14009da39
mov rax, qword [r12 + 8]
movzx ecx, word [rax]
cmp cx, 9
jb 0x14009d22c
cmp cx, 0x20
jbe 0x14009d9b3
cmp cx, 0x21
je 0x14009d9b3
cmp cx, 0x69
jb 0x14009d246
cmp cx, 0x6b
jbe 0x14009d9b3
cmp cx, 0x6f
jb 0x14009d256
cmp cx, 0x71
jbe 0x14009d9b3
mov edx, 0x67
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.1400a3000
test eax, eax
je 0x14009da39
lea r8, [rbp - 0x78]
lea rdx, [rsp + 0x52]
mov rcx, r15
call fcn.140010d20
mov rbx, rax
test rax, rax
je 0x14009d2fb
test di, di
je 0x14009d29d
mov word [rax + 6], di
jmp 0x14009c0fb
mov rax, qword [rax + 0x28]
test rax, rax
je 0x14009d2c3
mov rcx, qword [0x14016fa10]
nop dword [rax]
cmp qword [rax + 8], rcx
je 0x14009d9d5
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14009d2b0
movzx r8d, byte [rsp + 0x52]
mov rdx, qword [r12 + 0x28]
mov rcx, rbx
call fcn.14000fc70
test rax, rax
je 0x14009d9e9
cmp byte [rbp - 0x78], 0
jne 0x14009d2f2
cmp byte [0x1401703cd], 0
je 0x14009c0f9
mov byte [rbx + 0x14], 1
jmp 0x14009c0fb
mov rcx, qword [r12 + 0x28]
movzx r9d, byte [rsp + 0x52]
movzx edx, di
mov r8, qword [rcx + 8]
mov byte [rsp + 0x20], 0
call fcn.14000ef10
test rax, rax
jne 0x14009c0f9
cmp dword [rbp + 8], 3
jne 0x14009da39
lea rcx, [0x14014e060]
call fcn.1400dd2e0
lea rcx, [rbp + 0xe0]
mov r9, r15
mov r8, rax
mov edx, 0x80
call fcn.1400e6100
lea rcx, [rbp + 0xe0]
xor r8d, r8d
movapd xmm3, xmm6
mov edx, 0x10000
mov qword [rsp + 0x20], rsi
call fcn.1400ec710
jmp 0x14009c0fb
cmp word [r15], 0
je 0x14009da39
mov rdi, qword [r12 + 0x20]
test rdi, rdi
je 0x14009d3a1
mov rcx, qword [rdi + 8]
mov rdx, r15
call fcn.140108424
test eax, eax
je 0x14009d4f9
mov rdi, qword [rdi + 0x20]
test rdi, rdi
jne 0x14009d384
cmp word [r15], 0
je 0x14009d54c
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
lea r12, [rcx + rcx - 2]
lea r13, [rcx - 1]
lea rbx, [r12 + 2]
lea rax, [rbx - 1]
cmp rax, 0xffff
ja 0x14009da23
cmp qword [0x140171200], 0
mov r14d, SafeArrayAllocDescriptor
jne 0x14009d435
mov ecx, r14d
call fcn.140109b60
mov rdi, rax
test rax, rax
je 0x14009d422
mov ecx, 0x10000
mov qword [rax + 0x18], rsi
call fcn.1401084ac
mov qword [rdi + 8], rax
mov qword [rdi], rax
test rax, rax
jne 0x14009d518
mov rcx, rax
mov rcx, rdi
call fcn.140108f40
mov rdi, rsi
mov qword [0x140171200], rdi
test rdi, rdi
je 0x14009da23
mov rax, qword [0x140171208]
cmp rbx, qword [rax + 0x10]
jbe 0x14009d492
mov rcx, r14
call fcn.140109b60
mov rdi, rax
test rax, rax
je 0x14009d47b
mov ecx, 0x10000
mov qword [rax + 0x18], rsi
call fcn.1401084ac
mov qword [rdi + 8], rax
mov qword [rdi], rax
test rax, rax
jne 0x14009d532
mov rcx, rax
mov rcx, rdi
call fcn.140108f40
mov rdi, rsi
mov rax, qword [0x140171208]
mov qword [rax + 0x18], rdi
test rdi, rdi
je 0x14009da23
mov rcx, qword [0x140171208]
mov rax, rbx
and eax, 7
mov rsi, qword [rcx + 8]
mov qword [0x140171210], rsi
je 0x14009d4b3
sub rbx, rax
add rbx, 8
lea rax, [rsi + rbx]
mov qword [rcx + 8], rax
mov rax, qword [0x140171208]
sub qword [rax + 0x10], rbx
test rsi, rsi
je 0x14009da23
test r13, r13
je 0x14009d4e2
mov r8, r12
mov rdx, r15
mov rcx, rsi
call fcn.140109100
xor ebx, ebx
lea r13, [0x1401295d4]
mov word [r12 + rsi], bx
mov r12, qword [rbp + 0x1c0f0]
jmp 0x14009d558
lea rcx, [0x140131cd0]
call fcn.1400dd2e0
mov r8, r15
mov rcx, r12
mov rdx, rax
call fcn.1400a5580
jmp 0x14009d6ee
inc dword [0x1401711fc]
mov qword [rdi + 0x10], 0x10000
mov qword [0x140171208], rdi
jmp 0x14009d425
inc dword [0x1401711fc]
mov qword [rdi + 0x10], 0x10000
mov qword [0x140171208], rdi
jmp 0x14009d47e
lea r13, [0x1401295d4]
xor ebx, ebx
mov rsi, r13
cmp qword [0x140171200], 0
mov r14d, SafeArrayAllocDescriptor
jne 0x14009d5b4
mov ecx, r14d
call fcn.140109b60
mov rdi, rax
test rax, rax
je 0x14009d5a1
mov ecx, 0x10000
mov qword [rax + 0x18], rbx
call fcn.1401084ac
mov qword [rdi + 8], rax
mov qword [rdi], rax
test rax, rax
jne 0x14009d66c
mov rcx, rax
mov rcx, rdi
call fcn.140108f40
mov rdi, rbx
mov qword [0x140171200], rdi
test rdi, rdi
je 0x14009d6da
mov rax, qword [0x140171208]
cmp qword [rax + 0x10], 0x28
jae 0x14009d612
mov rcx, r14
call fcn.140109b60
mov rdi, rax
test rax, rax
je 0x14009d5fb
mov ecx, 0x10000
mov qword [rax + 0x18], rbx
call fcn.1401084ac
mov qword [rdi + 8], rax
mov qword [rdi], rax
test rax, rax
jne 0x14009d686
mov rcx, rax
mov rcx, rdi
call fcn.140108f40
mov rdi, rbx
mov rax, qword [0x140171208]
mov qword [rax + 0x18], rdi
test rdi, rdi
je 0x14009d6da
mov rcx, qword [0x140171208]
mov rdi, qword [rcx + 8]
add qword [rcx + 0x10], 0xffffffffffffffd8
lea rax, [rdi + 0x28]
mov qword [0x140171210], rdi
mov qword [rcx + 8], rax
test rdi, rdi
je 0x14009d6da
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], rbx
mov qword [rdi + 0x20], rbx
lea rax, vtable.Label.0
mov qword [rdi], rax
mov rax, qword [r12 + 0x28]
mov qword [rdi + 0x18], rax
cmp qword [r12 + 0x20], 0
jne 0x14009d6a0
mov qword [r12 + 0x20], rdi
jmp 0x14009d6a9
inc dword [0x1401711fc]
mov qword [rdi + 0x10], 0x10000
mov qword [0x140171208], rdi
jmp 0x14009d5a4
inc dword [0x1401711fc]
mov qword [rdi + 0x10], 0x10000
mov qword [0x140171208], rdi
jmp 0x14009d5fe
mov rax, qword [r12 + 0x28]
mov qword [rax + 0x20], rdi
lea rcx, [0x140131d08]
mov qword [r12 + 0x28], rdi
call fcn.1400dd2e0
mov rcx, rsi
mov rdx, rax
call fcn.140108424
test eax, eax
jne 0x14009c0f9
mov qword [r12 + 0xb28], rdi
jmp 0x14009c0f9
lea rdx, str.Out_of_memory.
mov r8, r13
mov rcx, r12
call fcn.1400a5580
xor esi, esi
test eax, eax
je 0x14009da39
jmp 0x14009c0fb
cmp word [r15], 0x23
mov r12, qword [rbp + 0x1c0f0]
jne 0x14009d747
mov edi, dword [r12 + 0x2cc]
mov rdx, r15
mov rcx, r12
call fcn.14009e070
test eax, eax
je 0x14009da39
cmp eax, 3
jne 0x14009d747
mov eax, dword [rbp - 0x28]
mov dword [r12 + 0x2cc], edi
mov dword [r12 + 0x2c8], eax
mov dword [0x140174c8c], eax
jmp 0x14009c0fb
movzx ecx, word [r15]
cmp cx, 0x7b
je 0x14009d7a1
cmp cx, 0x7d
je 0x14009d7a1
mov eax, dword [0x140174c90]
cmp dword [0x140173ee0], 0
mov qword [rsp + 0x38], rsi
cmovne eax, dword [rsp + 0x60]
mov qword [rsp + 0x30], rsi
mov rdx, r15
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x28], rsi
mov dword [0x140174c90], eax
mov qword [rsp + 0x20], rsi
call fcn.14009ff50
test eax, eax
je 0x14009da39
jmp 0x14009c0fb
cmp cx, 0x7b
mov eax, esi
mov rcx, r12
setne al
xor r9d, r9d
xor r8d, r8d
lea edx, [rax + 0x75]
mov qword [rsp + 0x20], rsi
call fcn.1400a3000
test eax, eax
je 0x14009da39
movzx eax, word [r15 + 2]
add r15, 2
cmp ax, 0x20
je 0x14009d7c8
cmp ax, 9
je 0x14009d7c8
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x18], r15
test ax, ax
jne 0x14009c28b
jmp 0x14009c0f9
mov r12, qword [rbp + 0x1c0f0]
jmp 0x14009c0f9
lea rax, [0x14012e7e8]
mov rdx, r15
mov rcx, rax
sub rdx, rax
nop
movzx eax, word [rcx]
add rcx, 2
mov word [rcx + rdx - 2], ax
test ax, ax
jne 0x14009d810
cmp byte [rsp + 0x43], 0
mov eax, esi
lea r8, [rbp - 0x18]
setne al
mov r9d, 1
mov rcx, r12
lea edx, [rax + 0xc3]
mov qword [rsp + 0x20], rsi
call fcn.1400a3000
lea rcx, [0x14014e238]
call fcn.1400dd2e0
lea r8, [rbp + 0x60]
mov rcx, r15
mov rdx, rax
call fcn.140108924
mov edx, 0x41
lea r8, [rbp - 0x18]
lea r9d, [rdx - 0x40]
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.1400a3000
mov edx, 0x67
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.1400a3000
xor al, al
mov byte [rbp + 0x1c100], al
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rbp - 0x10]
mov ebx, dword [rsp + 0x60]
mov rsi, rdi
mov qword [rsp + 0x68], rdi
lea rdi, [rbp + 0x81f0]
lea rdx, [rbp + 0x81f0]
lea rax, [rbp + 0x14080]
mov r15, rcx
cmp rcx, rdx
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x18], rcx
cmovne rax, rdi
mov rdi, qword [rbp - 0x48]
xor r13d, r13d
mov r14, rax
mov qword [rsp + 0x70], rax
jmp 0x14009ae10
lea rcx, [0x14014dd40]
call fcn.1400dd2e0
mov r8, r14
mov rcx, r12
mov rdx, rax
call fcn.1400a5580
jmp 0x14009db70
cmp qword [r12 + 0x2b8], 0
lea rcx, [0x1401338f0]
jne 0x14009d925
lea rcx, [0x1401324f0]
call fcn.1400dd2e0
lea r8, [rbp + 0x1e0]
mov rcx, r12
mov rdx, rax
call fcn.1400a5580
jmp 0x14009db70
lea rcx, [0x1401338f0]
call fcn.1400dd2e0
lea r8, [rbp + 0x1e0]
mov rcx, r12
mov rdx, rax
call fcn.1400a5580
jmp 0x14009db70
lea rcx, [0x14014dda0]
call fcn.1400dd2e0
lea r8, [rbp + 0x1e0]
mov rcx, r12
mov rdx, rax
call fcn.1400a5580
jmp 0x14009db70
lea rcx, [0x14014de00]
jmp 0x14009da89
lea rcx, [0x1401324f0]
jmp 0x14009da89
mov qword [r12 + 0x6a0], rax
lea rcx, [0x14014def0]
jmp 0x14009da89
mov eax, 0x3a
lea rcx, [0x14014dfc0]
mov word [r13 - 4], ax
jmp 0x14009da89
lea rcx, [0x14014df50]
jmp 0x14009da89
mov qword [r12 + 0x6a0], rsi
lea rcx, [0x14014e020]
jmp 0x14009da89
lea rdx, str.Out_of_memory.
mov r8, r15
mov rcx, r12
call fcn.1400a5580
jmp 0x14009db70
lea rcx, [0x14014de70]
call fcn.1400dd2e0
mov rcx, qword [rbp + 0x1c0f0]
mov r8, r15
mov rdx, rax
call fcn.1400a5580
jmp 0x14009db70
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
mov r8, r15
call fcn.1400a5580
xor eax, eax
jmp 0x14009db70
lea rcx, [0x14014d820]
call fcn.1400dd2e0
mov rcx, qword [rbp + 0x1c0f0]
mov r8, r15
mov rdx, rax
call fcn.1400a5580
jmp 0x14009db70
lea rcx, [0x14014dd40]
call fcn.1400dd2e0
mov r8, rdi
mov rcx, r12
mov rdx, rax
call fcn.1400a5580
jmp 0x14009db70
lea rcx, [0x140131fc0]
call fcn.1400dd2e0
mov r8, r15
mov rcx, r12
mov rdx, rax
call fcn.1400a5580
jmp 0x14009db70
cmp word [rbp + 0x1e0], 0
je 0x14009db30
cmp dword [rbp - 0x7c], 0
mov eax, dword [rbp - 0x40]
mov edi, dword [r12 + 0x2cc]
mov dword [r12 + 0x2cc], eax
je 0x14009daf6
cmp byte [rsp + 0x41], 0
lea rcx, [0x140133c50]
jne 0x14009dadd
lea rcx, [0x1401338f0]
call fcn.1400dd2e0
lea r8, [rbp + 0x1e0]
mov rcx, r12
mov rdx, rax
call fcn.1400a5580
jmp 0x14009db70
mov qword [rsp + 0x38], r13
xor r9d, r9d
mov qword [rsp + 0x30], r13
lea rdx, [rbp + 0x1e0]
lea r8d, [r9 + 3]
mov rcx, r12
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call fcn.14009ff50
test eax, eax
je 0x14009da39
mov dword [r12 + 0x2cc], edi
cmp dword [r12 + 0x80], 0
je 0x14009db63
mov ecx, dword [rbp - 0x28]
test ecx, ecx
jne 0x14009db63
lea rcx, [0x140133c50]
call fcn.1400dd2e0
lea r8, [r12 + 0xb0]
mov rcx, r12
mov rdx, rax
call fcn.1400a5580
jmp 0x14009db70
inc dword [r12 + 0x2cc]
mov eax, 1
movaps xmm6, xmmword [rsp + 0x1c190]
add rsp, 0x1c1a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret