Function at 0x14001bce0
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.1400c0680
sub rsp, rax
mov ebx, dword [0x140108140]
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.14001e850
lea r8d, [r13 + 2]
mov qword [rsp + 0x70], rax
lea rdx, [0x1400e5eb8]
mov rsi, rax
lea rcx, [rbp + 0xc050]
call fcn.1400b3640
test eax, eax
sete bl
mov byte [rsp + 0x40], bl
test bl, bl
je 0x14001bdaf
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 0x14001e5d8
lea eax, [r14 + 1]
mov qword [rdi + 0x6a0], r13
mov r8d, edx
mov dword [rdi + 0x2cc], eax
lea rdx, [0x1400e5ec0]
mov rcx, r12
call fcn.1400ad9d8
test eax, eax
jne 0x14001be24
mov rdx, r12
mov rcx, rdi
call fcn.14001eb00
test eax, eax
je 0x14001d4bd
xor edi, edi
mov byte [rsp + 0x63], 0
mov r14d, edi
mov dword [rbp - 0x68], edi
jmp 0x14001be50
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.14001e850
mov r13, rax
mov qword [rbp - 0x40], rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x14001bf6d
test r14d, r14d
jne 0x14001bf6d
lea r8d, [r14 + 2]
mov rcx, r15
lea rdx, [0x1400e5edc]
call fcn.1400b3640
test eax, eax
jne 0x14001bf41
test bl, bl
jne 0x14001beba
cmp word [r15 + 4], 0x3a
jne 0x14001beba
cmp word [r15 + 6], 0x3a
je 0x14001bf49
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.1400a9530
cmp word [r15], 0
jne 0x14001bee4
mov r13, rdi
jmp 0x14001bf30
mov rdx, r15
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14001bef6
cmp ax, 9
jne 0x14001befc
add rdx, 2
jmp 0x14001bee7
mov rax, rdx
sub rax, r15
sar rax, 1
je 0x14001bf30
cmp r13, 0xffffffffffffffff
jne 0x14001bf1d
or r13, r13
inc r13
cmp word [rdx + r13*2], 0
jne 0x14001bf10
jmp 0x14001bf20
sub r13, rax
lea r8, [r13*2 + 2]
mov rcx, r15
call fcn.1400a9530
cmp word [r15], 0
mov qword [rbp - 0x40], r13
je 0x14001be50
jmp 0x14001bf49
test bl, bl
jne 0x14001be50
mov r8d, 2
lea rdx, [0x1400e5eb8]
mov rcx, r15
call fcn.1400b3640
test eax, eax
jne 0x14001bf6d
mov bl, 1
mov byte [rsp + 0x40], bl
jmp 0x14001be50
test bl, bl
je 0x14001bf80
cmp r13, 0xffffffffffffffff
jne 0x14001be50
jmp 0x14001cf6b
test r14d, r14d
jne 0x14001c4a5
cmp r13, 0xffffffffffffffff
je 0x14001c1c3
cmp word [r15], 0x28
jne 0x14001c1c3
cmp word [r15 + 2], 0x3a
lea rbx, [r15 + 2]
je 0x14001c1be
cmp word [r15 + r13*2 - 2], 0x3a
je 0x14001c1be
movzx eax, byte [0x140105dea]
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 0x14001c006
cmp ax, 9
jne 0x14001c00c
add rbx, 2
jmp 0x14001bff7
cmp word [rbx], r13w
je 0x14001c1b4
nop word [rax + rax]
movzx edx, word [rbx]
mov rsi, rbx
test dx, dx
je 0x14001c05f
nop dword [rax + rax]
lea rcx, [0x1400e3a50]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x14001c073
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14001c040
movzx edx, word [rsi + 2]
add rsi, 2
test dx, dx
jne 0x14001c030
or rax, 0xffffffffffffffff
cmp word [rbx + rax*2 + 2], r13w
lea rax, [rax + 1]
jne 0x14001c063
lea rsi, [rbx + rax*2]
movzx edi, word [rsi]
lea rdx, [0x1400e5f88]
mov r8d, 4
mov word [rsi], r13w
mov rcx, rbx
call fcn.1400ad9d8
test eax, eax
jne 0x14001c0d3
lea rdx, [rbx + 8]
lea r8d, [rax + 0xf]
lea rcx, [rbp + 0x20]
call fcn.1400b44b4
mov r8b, 1
mov word [rbp + 0x3e], r13w
lea rcx, [rbp + 0x20]
call fcn.14008dd60
lea rax, [rbp + 0x20]
or rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp word [rax + rcx*2], r13w
jne 0x14001c0c0
mov qword [rbp], rcx
jmp 0x14001c184
mov r8d, 5
lea rdx, [0x1400e5f98]
mov rcx, rbx
call fcn.1400ad9d8
test eax, eax
jne 0x14001c0fb
cmp word [rbx + 0xa], 0x30
setne byte [rsp + 0x5d]
jmp 0x14001c184
mov r8d, 5
lea rdx, [0x1400e5fa8]
mov rcx, rbx
call fcn.1400ad9d8
test eax, eax
jne 0x14001c120
cmp word [rbx + 0xa], 0x30
setne byte [rsp + 0x5c]
jmp 0x14001c184
movzx eax, word [rbx]
test ax, ax
je 0x14001c184
nop dword [rax + rax]
movzx eax, ax
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x14001c156.38
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x1e6b4]
mov ecx, dword [rdx + rax*4 + 0x1e69c]
add rcx, rdx
jmp rcx
mov byte [rsp + 0x5e], 1
jmp case.0x14001c156.38
mov byte [rsp + 0x5f], 1
jmp case.0x14001c156.38
mov byte [rsp + 0x60], r13b
jmp case.0x14001c156.38
mov r14d, 2
mov dword [rbp - 0x68], r14d
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x14001c130
mov word [rsi], di
mov rbx, rsi
nop word [rax + rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14001c19f
cmp ax, 9
jne 0x14001c1a5
add rbx, 2
jmp 0x14001c190
cmp word [rbx], r13w
jne 0x14001c020
mov rsi, qword [rsp + 0x70]
mov byte [rsp + 0x63], 1
jmp 0x14001be40
movzx ebx, byte [rsp + 0x40]
mov dword [rbp - 0x68], edi
mov r14d, edi
cmp r13, 0xffffffffffffffff
je 0x14001cf6b
test r13, r13
je 0x14001be50
cmp word [r15 + r13*2 - 2], 0x3a
jne 0x14001c1f0
cmp word [r15], 0x2c
jne 0x14001cf6b
movzx ebx, word [r15]
test ebx, 0xffffff80
jne 0x14001c20f
mov edx, 2
mov ecx, ebx
call fcn.1400adfa4
test eax, eax
je 0x14001c20f
and ebx, 0xffffffdf
movzx eax, bx
cmp eax, 0x41
je 0x14001c456
cmp eax, 0x4f
je 0x14001c3e1
movzx edx, word [r15]
cmp dx, 0x3a
ja 0x14001c249
movabs rcx, 0x400280000000000
bt rcx, rdx
jae 0x14001c249
cmp word [r15 + 2], dx
je 0x14001cf6b
lea rcx, [0x1400e5f08]
call fcn.1400a9968
test rax, rax
je 0x14001cf6b
lea rdx, [0x1400e5f2c]
mov rcx, r15
call fcn.1400a99fc
mov rdi, rax
test rax, rax
je 0x14001c340
cmp word [r15], 0x3a
jne 0x14001c2de
movzx eax, word [r15 + 2]
lea rbx, [r15 + 2]
test ax, ax
je 0x14001c2d4
nop
cmp ax, 0x3a
je 0x14001cf6b
movzx ecx, ax
test ecx, 0xffffff80
jne 0x14001c2b3
mov edx, 0x107
call fcn.1400adfa4
test eax, eax
jne 0x14001c2c7
movzx edx, word [rbx]
lea rcx, [0x1400e5f38]
call fcn.1400a9968
test rax, rax
je 0x14001c2de
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x14001c290
cmp word [rbx], 0x3a
je 0x14001cf6b
cmp word [r15], 0x2c
jne 0x14001c387
lea rbx, [r15 + 2]
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14001c2ff
cmp ax, 9
jne 0x14001c305
add rbx, 2
jmp 0x14001c2f0
mov r8d, 2
lea rdx, [0x1400e5f2c]
mov rcx, rbx
call fcn.1400b3640
test eax, eax
je 0x14001cf6b
lea rcx, [rbx - 2]
mov r8d, 3
lea rdx, [0x1400e3a40]
call fcn.1400b3640
test eax, eax
je 0x14001cf6b
xor edi, edi
lea rax, [rsi + r13]
cmp rax, 0x4000
jae 0x14001e440
cmp word [r15], 0x2c
je 0x14001c366
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.1400a9530
add rsi, r13
mov qword [rsp + 0x70], rsi
jmp 0x14001be42
mov rax, r15
cmp r15, rdi
jae 0x14001c39f
nop
cmp word [rax], 0x22
je 0x14001c39f
add rax, 2
cmp rax, rdi
jb 0x14001c390
cmp rax, rdi
je 0x14001cf6b
movzx eax, word [rdi + 4]
lea rcx, [rdi + 4]
test ax, ax
je 0x14001cf6b
nop dword [rax]
cmp ax, 0x22
je 0x14001c3d8
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14001c3c0
jmp 0x14001cf6b
cmp word [rcx], 0
jmp 0x14001c33a
movzx ebx, word [r15 + 2]
test ebx, 0xffffff80
jne 0x14001c401
mov edx, 2
mov ecx, ebx
call fcn.1400adfa4
test eax, eax
je 0x14001c401
and ebx, 0xffffffdf
cmp bx, 0x52
jne 0x14001cf6b
movzx ecx, word [r15 + 4]
lea rax, [r15 + 4]
cmp cx, 0x20
je 0x14001c424
cmp cx, 9
jne 0x14001cf6b
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14001c433
cmp cx, 9
jne 0x14001c439
add rax, 2
jmp 0x14001c424
movzx edx, word [rax]
lea rcx, [0x1400e5ef0]
call fcn.1400a9968
test rax, rax
jne 0x14001cf6b
jmp 0x14001c342
mov r8d, 3
lea rdx, [0x1400e5ee8]
mov rcx, r15
call fcn.1400ad9d8
test eax, eax
jne 0x14001cf6b
movzx ecx, word [r15 + 6]
lea rax, [r15 + 6]
cmp cx, 0x20
je 0x14001c490
cmp cx, 9
jne 0x14001cf6b
nop dword [rax]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14001c49f
cmp cx, 9
jne 0x14001c439
add rax, 2
jmp 0x14001c490
cmp r13, 0xffffffffffffffff
je 0x14001e5bd
cmp r13, 0xfffffffffffffffe
je 0x14001be50
movzx eax, word [r15]
cmp ax, 0x29
jne 0x14001c530
xor edx, edx
mov r14d, edx
mov dword [rbp - 0x68], edx
or rdi, 0xffffffffffffffff
nop
inc rdi
cmp word [r15 + rdi*2], dx
jne 0x14001c4d0
lea rax, [rdi - 1]
lea rax, [r15 + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14001c4f1
cmp cx, 9
jne 0x14001c4ff
cmp rax, r15
je 0x14001c50f
sub rax, 2
dec rdi
jmp 0x14001c4e2
mov word [rax + 2], dx
lea rbx, [r15 + 2]
dec rdi
jmp 0x14001ceee
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14001c51e
cmp cx, 9
jne 0x14001c524
mov word [rax], dx
mov rdi, rdx
lea rbx, [r15 + 2]
dec rdi
jmp 0x14001ceee
cmp byte [rsp + 0x5c], 0
mov qword [rbp - 0x20], r15
je 0x14001c597
test ax, ax
jne 0x14001c54b
xor esi, esi
mov r13d, esi
mov qword [rbp - 0x40], rsi
jmp 0x14001c599
lea rax, [r13 - 1]
lea rax, [r15 + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14001c562
cmp cx, 9
jne 0x14001c570
cmp rax, r15
je 0x14001c57c
sub rax, 2
dec r13
jmp 0x14001c553
xor esi, esi
mov qword [rbp - 0x40], r13
mov word [rax + 2], si
jmp 0x14001c599
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14001c662
cmp cx, 9
je 0x14001c662
mov qword [rbp - 0x40], r13
xor esi, esi
cmp byte [rsp + 0x5d], 0
je 0x14001c5af
mov rdx, r13
mov rcx, r15
call fcn.1400176b0
mov qword [rbp - 0x40], rax
cmp byte [rsp + 0x5e], 0
mov eax, esi
mov dword [rsp + 0x4c], eax
je 0x14001c8ba
movzx eax, word [0x1401033f0]
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 0x14001c5f0
cmp word [rdx], 0
mov r12, rsi
mov qword [rbp - 0x48], r15
mov r13, rsi
mov qword [rbp - 0x70], rsi
je 0x14001c8b1
test ax, ax
je 0x14001c8b1
lea rcx, [rsp + 0x58]
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x14001c625
mov qword [rbp - 0x78], rax
lea rcx, [rsp + 0x68]
or r14, 0xffffffffffffffff
nop dword [rax]
inc r14
cmp word [rcx + r14*2], 0
jne 0x14001c640
mov ecx, r14d
sub ecx, eax
mov eax, 0x4000
sub eax, r15d
mov dword [rsp + 0x78], ecx
jns 0x14001c673
mov ebx, esi
jmp 0x14001c685
xor esi, esi
mov word [rax], si
mov r13d, esi
mov qword [rbp - 0x40], rsi
jmp 0x14001c599
test ecx, ecx
jle 0x14001c68b
cdq
idiv ecx
mov rdx, qword [rsp + 0x50]
cmp eax, 0xffffffff
cmovb ebx, eax
mov dword [rsp + 0x44], ebx
test ecx, ecx
je 0x14001c81b
cmp r15, 0x1388
jb 0x14001c81b
mov dword [rsp + 0x4c], esi
mov r15d, esi
mov rdi, rdx
test ebx, ebx
je 0x14001c7cb
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.1400a99fc
mov rsi, rax
test rax, rax
je 0x14001c784
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 0x14001c739
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.14008c210
mov rcx, r12
mov qword [rbp - 0x70], rax
lea rdx, [rax + rax]
call fcn.1400af2d4
test rax, rax
je 0x14001c7bc
mov r12, rax
test rbx, rbx
je 0x14001c751
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + r13*2]
call fcn.1400a9530
mov r13, r15
test r14, r14
je 0x14001c76b
lea r8, [r14 + r14]
lea rcx, [r12 + r13*2]
lea rdx, [rsp + 0x68]
call fcn.1400a9530
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 0x14001c6b0
test r15d, r15d
je 0x14001c7c9
mov r15, qword [rbp - 0x48]
mov rax, rdi
sub rax, qword [rsp + 0x50]
sar rax, 1
sub r15, rax
je 0x14001c7eb
lea rbx, [r15 + r13]
cmp rbx, qword [rbp - 0x70]
jb 0x14001c7d8
lea rdx, [rbx*2 + 2]
mov rcx, r12
call fcn.1400af2d4
test rax, rax
jne 0x14001c7d5
test r12, r12
je 0x14001c7c9
mov rcx, r12
call fcn.1400adb8c
xor esi, esi
mov r15, qword [rsp + 0x50]
jmp 0x14001c8b4
mov r12, rax
lea r8, [r15 + r15]
mov rdx, rdi
lea rcx, [r12 + r13*2]
call fcn.1400a9530
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.1400a9530
mov rcx, r12
call fcn.1400adb8c
mov eax, dword [rsp + 0x4c]
jmp 0x14001c8ba
mov dword [rsp + 0x4c], r13d
mov rsi, rdx
test ebx, ebx
je 0x14001c8a4
movsxd r12, ecx
nop
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.1400a99fc
mov rbx, rax
test rax, rax
je 0x14001c89f
lea rdi, [r14 + r14]
lea rsi, [rax + rdi]
test r12d, r12d
je 0x14001c87b
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.1400a9530
mov r8, rdi
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.1400a9530
mov eax, dword [rsp + 0x44]
add r15, r12
dec eax
inc r13d
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14001c830
mov dword [rsp + 0x4c], r13d
mov eax, dword [rsp + 0x4c]
xor esi, esi
mov r15, qword [rsp + 0x50]
jmp 0x14001c8ba
mov r15, rdx
mov eax, esi
mov dword [rsp + 0x4c], eax
cmp byte [rsp + 0x5f], 0
je 0x14001cb22
movzx ecx, word [0x1401033f4]
or ebx, 0xffffffff
movzx eax, word [0x1401033f0]
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 0x14001c8f0
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 0x14001cb14
test cx, cx
je 0x14001cb14
lea rcx, [rsp + 0x58]
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14001c930
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 0x14001c950
mov ecx, r15d
sub ecx, eax
mov eax, 0x4000
sub eax, edi
mov dword [rsp + 0x78], ecx
jns 0x14001c971
mov ebx, esi
jmp 0x14001c97e
test ecx, ecx
jle 0x14001c984
cdq
idiv ecx
cmp eax, 0xffffffff
cmovb ebx, eax
mov dword [rsp + 0x44], ebx
test ecx, ecx
je 0x14001cbe4
cmp rdi, 0x1388
jb 0x14001cbe4
mov rdi, qword [rsp + 0x50]
mov r13d, esi
test ebx, ebx
je 0x14001cbda
nop word [rax + rax]
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.1400a99fc
mov rsi, rax
test rax, rax
je 0x14001ca87
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 0x14001ca32
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.14008c210
mov rcx, r12
mov qword [rbp - 0x48], rax
lea rdx, [rax + rax]
call fcn.1400af2d4
test rax, rax
je 0x14001cb00
mov r12, rax
test rbx, rbx
je 0x14001ca51
mov rax, qword [rbp - 0x70]
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call fcn.1400a9530
mov qword [rbp - 0x70], r14
jmp 0x14001ca55
mov r14, qword [rbp - 0x70]
test r15, r15
je 0x14001ca73
lea r8, [r15 + r15]
lea rcx, [r12 + r14*2]
lea rdx, [rsp + 0x68]
call fcn.1400a9530
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 0x14001c9b0
test r13d, r13d
je 0x14001cbd8
mov r15, qword [rsp + 0x50]
mov rax, rdi
mov rsi, qword [rbp - 0x78]
sub rax, r15
sar rax, 1
sub rsi, rax
je 0x14001cadc
lea rbx, [rsi + r14]
cmp rbx, qword [rbp - 0x48]
jb 0x14001cac9
lea rdx, [rbx*2 + 2]
mov rcx, r12
call fcn.1400af2d4
test rax, rax
je 0x14001cb05
mov r12, rax
lea r8, [rsi + rsi]
mov rdx, rdi
lea rcx, [r12 + r14*2]
call fcn.1400a9530
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.1400a9530
mov rcx, r12
call fcn.1400adb8c
jmp 0x14001cb17
mov r15, qword [rsp + 0x50]
test r12, r12
je 0x14001cb12
mov rcx, r12
call fcn.1400adb8c
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 0x14001ce2a
movzx ecx, word [0x1401033f8]
or ebx, 0xffffffff
movzx eax, word [0x1401033f0]
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 0x14001cb55
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 0x14001ce20
test cx, cx
je 0x14001ce20
lea rcx, [rsp + 0x58]
or rax, 0xffffffffffffffff
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x14001cb90
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 0x14001cbb0
mov ecx, r15d
sub ecx, eax
mov eax, 0x4000
sub eax, edi
mov dword [rsp + 0x78], ecx
jns 0x14001cc79
mov ebx, esi
jmp 0x14001cc86
xor esi, esi
mov r15, qword [rsp + 0x50]
jmp 0x14001cb14
mov r12, qword [rsp + 0x50]
mov r13d, esi
mov rsi, r12
test ebx, ebx
je 0x14001cc6f
movsxd r14, ecx
nop word [rax + rax]
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.1400a99fc
mov rbx, rax
test rax, rax
je 0x14001cc6f
lea rdi, [r15 + r15]
lea rsi, [rax + rdi]
test r14d, r14d
je 0x14001cc4a
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.1400a9530
mov r8, rdi
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.1400a9530
mov eax, dword [rsp + 0x44]
inc r13d
add qword [rbp - 0x78], r14
dec eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14001cc00
mov r15, r12
xor esi, esi
jmp 0x14001cb17
test ecx, ecx
jle 0x14001cc8c
cdq
idiv ecx
cmp eax, 0xffffffff
cmovb ebx, eax
mov dword [rsp + 0x44], ebx
test ecx, ecx
je 0x14001ce50
cmp rdi, 0x1388
jb 0x14001ce50
mov rdi, qword [rsp + 0x50]
mov r13d, esi
test ebx, ebx
je 0x14001ce1b
nop
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.1400a99fc
mov rsi, rax
test rax, rax
je 0x14001cd87
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 0x14001cd32
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.14008c210
mov rcx, r12
mov qword [rbp - 0x48], rax
lea rdx, [rax + rax]
call fcn.1400af2d4
test rax, rax
je 0x14001ce00
mov r12, rax
test rbx, rbx
je 0x14001cd51
mov rax, qword [rbp - 0x70]
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call fcn.1400a9530
mov qword [rbp - 0x70], r14
jmp 0x14001cd55
mov r14, qword [rbp - 0x70]
test r15, r15
je 0x14001cd73
lea r8, [r15 + r15]
lea rcx, [r12 + r14*2]
lea rdx, [rsp + 0x68]
call fcn.1400a9530
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 0x14001ccb0
test r13d, r13d
je 0x14001ce19
mov r15, qword [rsp + 0x50]
mov rax, rdi
mov rsi, qword [rbp - 0x78]
sub rax, r15
sar rax, 1
sub rsi, rax
je 0x14001cddc
lea rbx, [r14 + rsi]
cmp rbx, qword [rbp - 0x48]
jb 0x14001cdc9
lea rdx, [rbx*2 + 2]
mov rcx, r12
call fcn.1400af2d4
test rax, rax
je 0x14001ce05
mov r12, rax
lea r8, [rsi + rsi]
mov rdx, rdi
lea rcx, [r12 + r14*2]
call fcn.1400a9530
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.1400a9530
mov rcx, r12
call fcn.1400adb8c
jmp 0x14001ce23
mov r15, qword [rsp + 0x50]
test r12, r12
je 0x14001ce12
mov rcx, r12
call fcn.1400adb8c
xor eax, eax
mov r13d, eax
jmp 0x14001ce23
xor esi, esi
mov r15, qword [rsp + 0x50]
mov r13d, esi
mov eax, dword [rsp + 0x4c]
add eax, r13d
test eax, eax
je 0x14001ced9
or rdi, 0xffffffffffffffff
nop word [rax + rax]
inc rdi
cmp word [r15 + rdi*2], 0
jne 0x14001ce40
jmp 0x14001cedd
mov r12, qword [rsp + 0x50]
mov r13d, esi
mov rsi, r12
test ebx, ebx
je 0x14001ced1
movsxd r14, ecx
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.1400a99fc
mov rbx, rax
test rax, rax
je 0x14001ced1
lea rdi, [r15 + r15]
lea rsi, [rdi + rax]
test r14d, r14d
je 0x14001ceac
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.1400a9530
mov r8, rdi
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.1400a9530
mov eax, dword [rsp + 0x44]
inc r13d
add qword [rbp - 0x78], r14
dec eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14001ce62
mov r15, r12
jmp 0x14001ce23
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 0x14001e5b5
mov eax, dword [rbp - 0x18]
inc eax
mov dword [rbp - 0x18], eax
cmp eax, 1
jle 0x14001cf39
test r13, r13
je 0x14001cf39
cmp rbx, r15
jne 0x14001cf39
lea r8, [r13*2 + 2]
lea rcx, [r12 + rsi*2]
lea rdx, [rbp + 0x20]
call fcn.1400a9530
add rsi, r13
mov qword [rsp + 0x70], rsi
test rdi, rdi
je 0x14001be40
lea r8, [rdi*2 + 2]
mov rdx, rbx
lea rcx, [r12 + rsi*2]
call fcn.1400a9530
add rsi, rdi
mov qword [rsp + 0x70], rsi
jmp 0x14001be40
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 0x14001d5b7
cmp word [rbp + 0x4040], 0
je 0x14001d129
mov ebx, dword [rdi + 0x2cc]
mov eax, dword [rbp - 0x60]
mov dword [rdi + 0x2cc], eax
cmp word [r12], 0x7b
je 0x14001d00b
cmp byte [rsp + 0x42], 0
jne 0x14001d00b
cmp dword [rbp - 0x80], 0
jne 0x14001e48c
cmp dword [rdi + 0x80], 0
je 0x14001cfdd
mov rax, qword [0x140101a58]
cmp qword [rax + 0xd8], 0
je 0x14001e45b
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.140020000
jmp 0x14001d0b4
mov ecx, dword [rbp - 0x80]
test ecx, ecx
je 0x14001d065
sub ecx, 1
je 0x14001d044
cmp ecx, 1
jne 0x14001d0c3
lea rdx, [rbp + 0x4040]
mov rcx, rdi
call fcn.1400263b0
test eax, eax
je 0x14001d4bd
mov word [rbp + 0x4040], r14w
jmp 0x14001d0d1
lea rdx, [rbp + 0x4040]
mov rcx, rdi
call fcn.140025d10
test eax, eax
je 0x14001d4bd
mov word [rbp + 0x4040], r14w
jmp 0x14001d0d1
mov rax, qword [0x140101a58]
mov rcx, rdi
cmp qword [rax + 0xd8], 0
jne 0x14001e4a7
lea r8, [rbp + 0x1c0]
lea rdx, [rbp + 0x4040]
call fcn.1400250b0
test eax, eax
je 0x14001d4bd
cmp byte [rsp + 0x42], 0
je 0x14001d0c3
xor r9d, r9d
mov qword [rsp + 0x20], r14
xor r8d, r8d
mov dl, 0x75
mov rcx, rdi
call fcn.140022f70
test eax, eax
je 0x14001d4bd
mov qword [rdi + 0x6a0], r14
cmp dword [rbp - 0x80], 0
mov word [rbp + 0x4040], r14w
je 0x14001d123
cmp byte [rsp + 0x42], 0
jne 0x14001d123
lea rdx, [r12 + 2]
nop dword [rax]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14001d0ef
cmp ax, 9
jne 0x14001d0f5
add rdx, 2
jmp 0x14001d0e0
cmp word [rdx], 0
je 0x14001d5b1
or r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x14001d103
mov qword [rsp + 0x70], r8
mov rcx, r12
lea r8, [r8*2 + 2]
call fcn.1400a9530
mov dword [rdi + 0x2cc], ebx
cmp word [r12], 0x7d
jne 0x14001d28c
mov ecx, dword [rdi + 0x80]
test ecx, ecx
je 0x14001d28c
mov rax, qword [0x140101a58]
cmp qword [rax + 0xd8], 0
jne 0x14001d28c
cmp qword [rdi + 0x2b8], 0
je 0x14001d18a
mov rcx, qword [rdi + 0x2c0]
mov qword [rdi + 0x2b8], r14
test rcx, rcx
je 0x14001d238
call fcn.1400adb8c
mov qword [rdi + 0x2c0], r14
jmp 0x14001d238
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 0x14001d1f9
mov rsi, rbx
shl rsi, 5
nop
mov rcx, qword [rdi + 0x18]
cmp dword [rsi + rcx + 0x18], 1
jne 0x14001d1ef
cmp rbx, qword [rdi + 0x38]
jl 0x14001d1cb
mov rcx, qword [rsi + rcx + 0x10]
call fcn.1400adb8c
dec qword [rdi + 0x20]
mov r8, qword [rdi + 0x20]
cmp rbx, r8
jge 0x14001d1ef
mov rcx, qword [rdi + 0x18]
sub r8, rbx
add rcx, rsi
shl r8, 5
lea rdx, [rcx + 0x20]
call fcn.1400a9530
sub rsi, 0x20
sub rbx, 1
jns 0x14001d1b0
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.1400a9bfc
test rax, rax
je 0x14001d234
mov word [rax], r14w
jmp 0x14001d238
mov word [rbx], r14w
add r12, 2
mov qword [rbp - 0x50], r12
movzx eax, word [r12]
cmp ax, 0x20
je 0x14001d251
cmp ax, 9
jne 0x14001d257
add r12, 2
jmp 0x14001d240
cmp word [r12], 0
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x30], r12
je 0x14001d5b7
or rsi, 0xffffffffffffffff
nop
inc rsi
cmp word [r12 + rsi*2], 0
jne 0x14001d270
mov qword [rsp + 0x70], rsi
mov qword [rdi + 0x6a0], r14
jmp 0x14001cf80
cmp qword [rdi + 0x2b8], 0
je 0x14001d389
mov rax, qword [0x140101a58]
cmp qword [rax + 0xd8], 0
jne 0x14001d389
mov r8d, 3
lea rdx, [0x1400e6098]
mov rcx, r12
call fcn.1400ad9d8
test eax, eax
je 0x14001d2e5
mov r8d, 3
lea rdx, [0x1400e60a0]
mov rcx, r12
call fcn.1400ad9d8
test eax, eax
jne 0x14001e4bf
lea rbx, [r12 + 6]
nop word [rax + rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14001d2ff
cmp ax, 9
jne 0x14001d305
add rbx, 2
jmp 0x14001d2f0
movzx eax, word [rbx]
test ax, ax
je 0x14001d322
cmp ax, 0x7b
jne 0x14001e4bf
cmp word [rbx + 2], 0
jne 0x14001e4bf
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 [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x14001d340
mov edx, 0x2e
lea rcx, [rbp + 0x4040]
call fcn.1400a9968
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 0x14001d5b9
lea rdx, [rsp + 0x42]
mov rcx, r12
call fcn.14001b870
test al, al
je 0x14001d3d3
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 0x14001d3b0
mov eax, dword [rdi + 0x2cc]
xor esi, esi
mov dword [rbp - 0x80], esi
mov dword [rbp - 0x60], eax
jmp 0x14001d5b9
mov rax, qword [0x140101a58]
cmp qword [rax + 0xd8], 0
jne 0x14001d629
lea rdx, [rsp + 0x42]
mov rcx, r12
call fcn.14001b9b0
mov rcx, rax
test rax, rax
je 0x14001d435
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 0x14001d410
mov eax, dword [rdi + 0x2cc]
mov dword [rbp - 0x60], eax
mov dword [rbp - 0x80], 1
jmp 0x14001d5b7
cmp dword [rdi + 0x80], 0
je 0x14001d629
mov rbx, r12
movzx ecx, word [rbx]
test ecx, 0xffffff80
jne 0x14001d45e
mov edx, 0x107
call fcn.1400adfa4
test eax, eax
jne 0x14001d473
movzx eax, word [rbx]
cmp ax, 0x5f
je 0x14001d473
cmp ax, 0x7f
ja 0x14001d473
cmp ax, 0x2e
jne 0x14001d479
add rbx, 2
jmp 0x14001d445
cmp rbx, r12
jbe 0x14001d542
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14001d491
cmp ax, 9
jne 0x14001d497
add rbx, 2
jmp 0x14001d482
movzx eax, word [rbx]
cmp ax, 0x3a
jne 0x14001d4c4
cmp word [rbx + 2], 0x3d
jne 0x14001d4c4
xor r8d, r8d
mov rdx, r12
mov rcx, rdi
call fcn.140026610
test eax, eax
jne 0x14001d5b7
xor eax, eax
jmp 0x14001e685
test ax, ax
je 0x14001d4dc
cmp ax, 0x5b
je 0x14001d4dc
cmp ax, 0x7b
jne 0x14001d542
cmp word [rbx + 2], 0
jne 0x14001d542
or rdx, 0xffffffffffffffff
inc rdx
cmp word [r12 + rdx*2], 0
jne 0x14001d4e0
cmp word [r12 + rdx*2 - 2], 0x7b
sete al
mov byte [rsp + 0x42], al
test al, al
je 0x14001d508
dec rdx
mov rcx, r12
call fcn.140017730
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 0x14001d520
mov eax, dword [rdi + 0x2cc]
mov dword [rbp - 0x60], eax
mov dword [rbp - 0x80], 2
jmp 0x14001d5b7
mov r8d, 6
lea rdx, [0x1400d0610]
mov rcx, r12
call fcn.1400ad9d8
test eax, eax
jne 0x14001d57a
movzx eax, word [r12 + 0xc]
cmp ax, 0x20
je 0x14001d56d
cmp ax, 9
jne 0x14001d57a
lea rdx, [r12 + 0xe]
mov r8b, 1
jmp 0x14001d4ad
cmp word [r12], 0x23
jne 0x14001e4d6
mov ebx, dword [rdi + 0x2cc]
mov rdx, r12
mov rcx, rdi
call fcn.14001eb00
test eax, eax
je 0x14001d4bd
cmp eax, 3
jne 0x14001e4d6
mov eax, dword [rbp - 0x38]
mov dword [rdi + 0x2c8], eax
mov dword [rdi + 0x2cc], ebx
xor esi, esi
test r13b, r13b
je 0x14001e3ef
mov ebx, dword [rbp - 0x5c]
inc ebx
mov ecx, ebx
mov dword [rbp - 0x5c], ebx
sub ecx, 1
je 0x14001d71c
sub ecx, 1
je 0x14001d633
sub ecx, 1
je 0x14001e36f
cmp ecx, 7
jne 0x14001e3ef
lea r8, [0x1400cffcc]
cmp r13b, 0x12
je 0x14001d605
lea eax, [r13 + 0x5c]
cmp al, 1
ja 0x14001d69d
movzx ecx, byte [rsp + 0x61]
sub ecx, 0x11
je 0x14001d696
sub ecx, 0x91
je 0x14001d696
cmp ecx, 1
jne 0x14001d69d
lea r8, [0x1400e6430]
jmp 0x14001d69d
mov rsi, qword [rsp + 0x70]
jmp 0x14001d73a
mov eax, dword [0x1400e3548]
lea r8, [rbp - 0x30]
cmp byte [rsp + 0x49], 0
mov r9d, 1
mov dword [r12], eax
mov rcx, rdi
movzx eax, word [0x1400e354c]
setne dl
add dl, 0xc3
mov word [r12 + 4], ax
mov qword [rsp + 0x20], rsi
call fcn.140022f70
cmp byte [rsp + 0x62], 0
je 0x14001d5ec
lea r8, [rbp + 0x40]
mov rcx, r12
lea rdx, [0x1400e63e0]
call fcn.140004f40
mov dword [rbp - 0x5c], 9
jmp 0x14001d732
lea r8, [0x1400e6418]
lea rax, [rbp + 0x40]
mov qword [rdi + 0x6a0], rsi
lea r9, [rbp + 0x10]
mov qword [rsp + 0x20], rax
lea rdx, [0x1400e6448]
mov rcx, r12
call fcn.140004f40
mov r9d, 1
mov qword [rsp + 0x20], rsi
lea r8, [rbp - 0x30]
mov dl, 0x41
mov rcx, rdi
call fcn.140022f70
test eax, eax
je 0x14001d4bd
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov dl, 0x67
mov rcx, rdi
call fcn.140022f70
lea r8, [rbp + 0x80]
mov qword [rdi + 0x6a0], rsi
lea rdx, [0x1400e6478]
mov rcx, r12
call fcn.140004f40
mov dword [rbp - 0x5c], 2
jmp 0x14001d732
lea r8, [rbp + 0x80]
mov rcx, r12
lea rdx, [0x1400e63d0]
call fcn.140004f40
movsxd rsi, eax
mov qword [rsp + 0x70], rsi
xor ebx, ebx
cmp word [r12], 0x3a
mov r15d, ebx
mov r14d, ebx
jne 0x14001d875
movzx ecx, word [r12 + 2]
lea rax, [r12 + 2]
test cx, cx
je 0x14001d875
mov qword [rbp + 8], rax
mov r8, rax
cmp cx, 0x3a
je 0x14001d794
lea edx, [rbx + 0x3a]
mov rcx, rax
call fcn.1400a9968
mov r15, rax
test rax, rax
jne 0x14001d78a
mov r15d, ebx
jmp 0x14001d875
mov r8, qword [rbp + 8]
add r15, 2
jmp 0x14001d7a8
cmp word [r12 + 4], bx
lea rax, [r12 + 4]
je 0x14001d875
mov r15, rax
mov qword [rbp - 0x20], r15
test r15, r15
je 0x14001d875
movzx ebx, byte [0x140105d80]
mov rdi, r8
mov byte [rsp + 0x48], bl
cmp r8, r15
jae 0x14001d809
nop dword [rax + rax]
movzx ebx, word [rdi]
test ebx, 0xffffff80
jne 0x14001d7ee
mov edx, 2
mov ecx, ebx
call fcn.1400adfa4
test eax, eax
je 0x14001d7ee
and ebx, 0xffffffdf
cmp bx, 0x58
je 0x14001d7ff
add rdi, 2
cmp rdi, r15
jb 0x14001d7d0
jmp 0x14001d809
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 0x14001d854
nop word [rax + rax]
cmp ax, word [0x1401033f0]
je 0x14001d8ec
cmp ax, 0x3a
je 0x14001d8ec
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x14001d830
mov rsi, qword [rsp + 0x70]
mov r15, qword [rbp - 0x20]
mov r12, qword [rbp - 0x50]
movzx r13d, byte [rsp + 0x41]
test r14, r14
jne 0x14001d9d4
xor eax, eax
mov r15d, eax
lea rdx, [0x1400e5f2c]
mov rcx, r12
call fcn.1400a99fc
mov r14, rax
test rax, rax
je 0x14001e1bb
cmp rax, r12
jne 0x14001d8a0
cmp word [rax + 4], 0x3a
jne 0x14001d8a0
add r14, 2
mov rbx, r14
cmp r14, r12
jbe 0x14001d8c8
nop dword [rax + rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14001d8bf
cmp ax, 9
jne 0x14001d8c8
sub rbx, 2
cmp rbx, r12
ja 0x14001d8b0
movzx edi, word [rbx]
xor eax, eax
mov word [rbx], ax
mov rcx, r12
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14001d8e6
cmp ax, 9
jne 0x14001d9a7
add rcx, 2
jmp 0x14001d8d3
movzx eax, word [rbx]
test ax, ax
je 0x14001d854
lea rdi, [rbx + 2]
cmp ax, 0x3a
jne 0x14001d923
cmp word [rdi], ax
jne 0x14001d99e
mov r14, rbx
mov rbx, rdi
test r13b, r13b
jne 0x14001d854
add rbx, 2
jmp 0x14001d822
movzx eax, word [rdi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x14001d93b.99
cdqe
mov ecx, dword [r12 + rax*4 + 0x1e6f4]
add rcx, r12
jmp rcx
mov word [rdi], r15w
jmp case.0x14001d93b.99
mov eax, 8
jmp 0x14001d969
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
jmp 0x14001d969
mov eax, 0xa
jmp 0x14001d969
mov eax, SafeArrayGetElemsize
jmp 0x14001d969
mov word [rdi], si
jmp case.0x14001d93b.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 0x14001d970
lea r8, [r8*2 + 2]
mov rdx, rdi
mov rcx, rbx
call fcn.1400a9530
cmp word [rbx], 0x3a
jne 0x14001d99e
cmp word [rdi], 0x3a
cmove rbx, rdi
add rbx, 2
jmp 0x14001d822
xor r8d, r8d
xor edx, edx
call fcn.14000d590
mov dword [rbp - 8], eax
test eax, eax
je 0x14001d9c3
cmp eax, 4
je 0x14001d4bd
jmp 0x14001d9c8
xor eax, eax
mov r14d, eax
mov word [rbx], di
test r14, r14
je 0x14001e1bb
cmp r14, r12
jbe 0x14001e1bb
mov rax, qword [0x140101a58]
cmp qword [rax + 0xd8], 0
jne 0x14001e57f
mov rdi, qword [rbp + 0x1c0c0]
mov rax, qword [rdi + 8]
test rax, rax
je 0x14001da0b
cmp byte [rax], 0x1a
je 0x14001e4ed
xor esi, esi
mov word [r14], si
add r14, 4
test r15, r15
jne 0x14001dbc1
cmp word [r14], si
je 0x14001da6c
mov rdx, r14
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14001da36
cmp ax, 9
jne 0x14001da3c
add rdx, 2
jmp 0x14001da27
mov rax, rdx
sub rax, r14
sar rax, 1
je 0x14001da6c
or r8, 0xffffffffffffffff
nop dword [rax + rax]
cmp word [rdx + r8*2 + 2], si
lea r8, [r8 + 1]
jne 0x14001da50
lea r8, [r8*2 + 2]
mov rcx, r14
call fcn.1400a9530
cmp word [r14], 0
mov rsi, r14
je 0x14001dbbf
cmp word [r14 + 2], 0
je 0x14001dc99
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.0x14001dad1.40
movzx eax, word [rsi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14001dad1.40
cdqe
movzx eax, byte [r9 + rax + 0x1e76c]
mov ecx, dword [r9 + rax*4 + 0x1e74c]
add rcx, r9
jmp rcx
mov r8b, 1
jmp case.0x14001dad1.35
mov dl, 1
jmp case.0x14001dad1.35
test r8b, r8b
jne 0x14001daf0
test dl, dl
jne 0x14001daf4
or edi, 1
jmp case.0x14001dad1.35
test dl, dl
je 0x14001dafa
or r12b, 4
xor dl, dl
test r8b, r8b
je case.0x14001dad1.35
or r12b, 8
jmp 0x14001db6c
test r8b, r8b
jne 0x14001db13
test dl, dl
jne 0x14001db17
or edi, 2
jmp case.0x14001dad1.35
test dl, dl
je 0x14001db1d
or r12b, 1
xor dl, dl
test r8b, r8b
je case.0x14001dad1.35
or r12b, 2
jmp 0x14001db6c
test r8b, r8b
jne 0x14001db36
test dl, dl
jne 0x14001db3a
or edi, 4
jmp case.0x14001dad1.35
test dl, dl
je 0x14001db40
or r12b, 0x10
xor dl, dl
test r8b, r8b
je case.0x14001dad1.35
or r12b, 0x20
jmp 0x14001db6c
test r8b, r8b
jne 0x14001db59
test dl, dl
jne 0x14001db5d
or edi, 8
jmp case.0x14001dad1.35
test dl, dl
je 0x14001db63
or r12b, 0x40
xor dl, dl
test r8b, r8b
je case.0x14001dad1.35
or r12b, 0x80
xor r8b, r8b
movzx eax, word [rsi + 4]
add rsi, 2
test ax, ax
jne 0x14001daa2
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.140016510
mov r12, qword [rbp - 0x50]
movzx r13d, al
mov rdi, qword [rbp + 0x1c0c0]
mov byte [rsp + 0x41], al
test al, al
jne 0x14001dca1
xor esi, esi
cmp byte [rdi + 0x2d0], 0
je 0x14001dbf8
mov r9d, 0xff
mov byte [rdi + 0x2d0], 0
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov dl, 0x67
mov rcx, rdi
call fcn.140022f70
test eax, eax
je 0x14001d4bd
mov qword [rdi + 0x6a0], rsi
mov r8b, 1
mov rdx, r12
mov rcx, rdi
call fcn.14001fee0
test eax, eax
je 0x14001d4bd
test r15, r15
je 0x14001e020
cmp word [r15], 0
je 0x14001e52c
mov rcx, qword [rdi + 0x28]
lea rdx, [0x1400cffcc]
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.14000e800
test eax, eax
je 0x14001d4bd
cmp word [r14], 0
je 0x14001d5b9
test bl, bl
je 0x14001dffe
mov rdx, r14
nop
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14001dc93
cmp ax, 9
jne 0x14001dfac
add rdx, 2
jmp 0x14001dc80
mov r13b, 0xff
mov byte [rsp + 0x41], r13b
cmp word [r12], 0
mov rbx, r12
je 0x14001ddde
movzx eax, word [r12 + 2]
lea r9, [r12 + 2]
xor dl, dl
xor r8b, r8b
test ax, ax
je 0x14001ddde
movzx r13d, byte [rbp + 0x1c0d8]
lea r10, [0x140000000]
mov r12d, dword [rbp - 0x58]
nop dword [rax]
cmp ax, 0x20
je case.0x14001dd0f.40
movzx eax, word [rbx]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14001dd0f.40
cdqe
movzx eax, byte [r10 + rax + 0x1e7ec]
mov ecx, dword [r10 + rax*4 + 0x1e7cc]
add rcx, r10
jmp rcx
mov r8b, 1
jmp case.0x14001dd0f.35
mov dl, 1
jmp case.0x14001dd0f.35
test r8b, r8b
jne 0x14001dd32
test dl, dl
jne 0x14001dd36
or r12d, 1
jmp case.0x14001dd0f.35
test dl, dl
je 0x14001dd3c
or r13b, 4
xor dl, dl
test r8b, r8b
je case.0x14001dd0f.35
or r13b, 8
jmp 0x14001ddb1
test r8b, r8b
jne 0x14001dd56
test dl, dl
jne 0x14001dd5a
or r12d, 2
jmp case.0x14001dd0f.35
test dl, dl
je 0x14001dd60
or r13b, 1
xor dl, dl
test r8b, r8b
je case.0x14001dd0f.35
or r13b, 2
jmp 0x14001ddb1
test r8b, r8b
jne 0x14001dd7a
test dl, dl
jne 0x14001dd7e
or r12d, 4
jmp case.0x14001dd0f.35
test dl, dl
je 0x14001dd84
or r13b, 0x10
xor dl, dl
test r8b, r8b
je case.0x14001dd0f.35
or r13b, 0x20
jmp 0x14001ddb1
test r8b, r8b
jne 0x14001dd9e
test dl, dl
jne 0x14001dda2
or r12d, 8
jmp case.0x14001dd0f.35
test dl, dl
je 0x14001dda8
or r13b, 0x40
xor dl, dl
test r8b, r8b
je case.0x14001dd0f.35
or r13b, 0x80
xor r8b, r8b
movzx eax, word [r9 + 2]
mov rbx, r9
add r9, 2
test ax, ax
jne 0x14001dce0
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.140016510
lea rdx, [0x1400e3a40]
mov byte [rsp + 0x61], al
mov rcx, rbx
call fcn.1400a99fc
test rax, rax
movzx eax, byte [rsp + 0x61]
setne dil
lea ecx, [rax - 1]
cmp cl, 5
ja 0x14001de23
cmp al, 3
jne 0x14001de29
add al, 0x66
cmp al, 5
ja 0x14001de2d
mov cl, 1
jmp 0x14001de2f
xor cl, cl
lea eax, [r13 - 1]
cmp al, 5
ja 0x14001de3d
cmp r13b, 3
jne 0x14001de45
lea eax, [r13 + 0x66]
cmp al, 5
ja 0x14001de49
mov al, 1
jmp 0x14001de4b
xor al, al
mov byte [rsp + 0x49], al
test cl, cl
jne 0x14001de5c
mov byte [rsp + 0x62], 1
test al, al
jne 0x14001de61
mov byte [rsp + 0x62], 0
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], 0
jne 0x14001de65
cmp rax, 1
jne 0x14001de89
movzx ecx, word [rbx]
call qword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
lea rax, [0x1400e61a0]
jne 0x14001de90
lea rax, [0x1400cffcc]
lea rcx, [0x1400cffcc]
mov qword [rsp + 0x28], r12
test dil, dil
mov qword [rsp + 0x20], rax
lea r9, [0x1400e5d98]
mov edx, SafeArrayAllocDescriptor
cmovne r9, rcx
lea r8, [0x1400e61a8]
lea rcx, [rbp + 0x80]
call fcn.14008b520
mov r8d, SafeArrayAllocDescriptor
lea rcx, [rbp + 0x40]
mov rdx, rsi
call fcn.1400b44b4
xor ebx, ebx
lea rcx, [rbp + 0x10]
mov rdx, r14
mov word [rbp + 0x7e], bx
lea r8d, [rbx + 7]
call fcn.1400b44b4
sub rsi, r14
mov word [rbp + 0x1e], bx
sar rsi, 1
cmp rsi, 8
jae 0x14001df04
mov word [rbp + rsi*2 + 0x10], bx
xor esi, esi
mov dword [rbp - 0x5c], ebx
cmp word [rbp + 0x10], bx
jne 0x14001e13e
cmp r13b, 0xd
je 0x14001df79
cmp r13b, 0x13
jne 0x14001e13e
movzx ebx, word [rbp + 0x40]
test ebx, 0xffffff80
jne 0x14001df40
lea edx, [rsi + 2]
mov ecx, ebx
call fcn.1400adfa4
test eax, eax
je 0x14001df40
and ebx, 0xffffffdf
cmp bx, 0x50
je 0x14001df98
movzx ebx, word [rbp + 0x40]
test ebx, 0xffffff80
jne 0x14001df65
mov edx, 2
mov ecx, ebx
call fcn.1400adfa4
test eax, eax
je 0x14001df65
and ebx, 0xffffffdf
cmp bx, 0x42
je 0x14001df98
mov rdi, qword [rbp + 0x1c0c0]
mov ebx, esi
jmp 0x14001d5c5
lea rdx, [0x1400d0db8]
lea rcx, [rbp + 0x40]
call fcn.1400ab3f0
mov rdi, qword [rbp + 0x1c0c0]
test eax, eax
jne 0x14001d5c5
mov rdi, qword [rbp + 0x1c0c0]
xor r13b, r13b
mov byte [rsp + 0x41], r13b
jmp 0x14001dbc1
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.140020000
test eax, eax
je 0x14001d4bd
mov rax, qword [rdi + 8]
movzx ecx, byte [rax]
lea eax, [rcx - 9]
cmp al, 0x18
jbe 0x14001e50b
sub cl, 0x69
cmp cl, 8
ja 0x14001dffe
mov eax, 0x1c7
bt eax, ecx
jb 0x14001e50b
mov dl, 0x67
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rcx, rdi
call fcn.140022f70
test eax, eax
jne 0x14001d5b9
jmp 0x14001e685
cmp word [r14], 0
movzx ebx, si
je 0x14001e0b2
xor edx, edx
mov rcx, r14
call fcn.14000b110
movzx ebx, ax
test ax, ax
jne 0x14001e095
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.140020000
test eax, eax
je 0x14001d4bd
mov rax, qword [rdi + 8]
movzx ecx, byte [rax]
lea eax, [rcx - 9]
cmp al, 0x18
jbe 0x14001e50b
sub cl, 0x69
cmp cl, 8
ja 0x14001e095
mov eax, 0x1c7
bt eax, ecx
jb 0x14001e50b
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov dl, 0x67
mov rcx, rdi
call fcn.140022f70
test eax, eax
je 0x14001d4bd
lea r8, [rsp + 0x7c]
mov rcx, r12
lea rdx, [rsp + 0x64]
call fcn.14000df90
mov rdi, rax
test rax, rax
je 0x14001e14a
test bx, bx
je 0x14001e0e5
mov rdi, qword [rbp + 0x1c0c0]
mov word [rax + 6], bx
jmp 0x14001d5b9
mov rax, qword [rax + 0x28]
test rax, rax
je 0x14001e108
mov rcx, qword [0x140106b20]
cmp qword [rax + 8], rcx
je 0x14001e543
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14001e0f5
mov rbx, qword [rbp + 0x1c0c0]
mov rcx, rdi
movzx r8d, byte [rsp + 0x64]
mov rdx, qword [rbx + 0x28]
call fcn.14000d420
test rax, rax
je 0x14001e568
cmp byte [rsp + 0x7c], 0
jne 0x14001e13a
cmp byte [0x140105de9], 0
je 0x14001e13e
mov byte [rdi + 0x14], 1
mov rdi, qword [rbp + 0x1c0c0]
jmp 0x14001d5b9
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.14000cd20
test rax, rax
jne 0x14001d5b9
cmp dword [rbp - 8], 3
jne 0x14001d4bd
mov r9, r12
lea r8, [0x1400e62a0]
mov edx, 0x80
lea rcx, [rbp + 0xc0]
call fcn.14008b520
xorps xmm3, xmm3
mov qword [rsp + 0x20], rsi
xor r8d, r8d
lea rcx, [rbp + 0xc0]
mov edx, 0x10000
call fcn.140090ee0
jmp 0x14001d5b9
cmp word [r12 + rsi*2 - 2], 0x3a
jne 0x14001e27d
cmp rsi, 1
je 0x14001e59a
movzx eax, word [r12]
mov rcx, r12
test ax, ax
je 0x14001e219
movzx edx, word [0x1401033f8]
cmp ax, 0x20
je 0x14001e27d
cmp ax, 9
je 0x14001e27d
cmp ax, dx
je 0x14001e27d
cmp ax, word [0x1401033f0]
je 0x14001e27d
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14001e1e6
cmp word [r12 + rsi*2 - 4], 0x3a
jne 0x14001e228
cmp rsi, 2
ja 0x14001e27d
xor eax, eax
lea rdx, [0x1400e4860]
mov rcx, r12
mov word [r12 + rsi*2 - 2], ax
call fcn.1400ab3f0
mov rdi, qword [rbp + 0x1c0c0]
test eax, eax
jne 0x14001e26a
mov rax, qword [rdi + 0x70]
test rax, rax
je 0x14001e26a
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14001e26a
cmp byte [rcx], 0x73
jne 0x14001e26a
xor esi, esi
mov dl, reloc.WSOCK32.dll_WSACleanup
jmp 0x14001e000
xor r8d, r8d
mov rdx, r12
mov rcx, rdi
call fcn.14001fee0
jmp 0x14001d4b5
cmp word [r12], 0x23
mov rdi, qword [rbp + 0x1c0c0]
jne 0x14001e2ae
mov ebx, dword [rdi + 0x2cc]
mov rdx, r12
mov rcx, rdi
call fcn.14001eb00
test eax, eax
je 0x14001d4bd
cmp eax, 3
je 0x14001d5a8
movzx ecx, word [r12]
mov edx, 0xfffd
lea eax, [rcx - 0x7b]
test dx, ax
je 0x14001e2ec
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.140020000
jmp 0x14001e013
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.140022f70
test eax, eax
je 0x14001d4bd
add r12, 2
mov qword [rbp - 0x50], r12
nop dword [rax + rax]
movzx eax, word [r12]
cmp ax, 0x20
je 0x14001e331
cmp ax, 9
jne 0x14001e337
add r12, 2
jmp 0x14001e320
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x30], r12
cmp word [r12], si
je 0x14001d5b9
or rsi, 0xffffffffffffffff
nop
inc rsi
cmp word [r12 + rsi*2], 0
jne 0x14001e350
xor r14d, r14d
mov qword [rsp + 0x70], rsi
mov qword [rdi + 0x6a0], r14
jmp 0x14001cf80
mov eax, dword [0x1400e3548]
lea r8, [rbp - 0x30]
cmp byte [rsp + 0x49], 0
mov r9d, 1
mov dword [r12], eax
mov rcx, rdi
movzx eax, word [0x1400e354c]
setne dl
add dl, 0xc3
mov word [r12 + 4], ax
mov qword [rsp + 0x20], rsi
call fcn.140022f70
lea r8, [rbp + 0x40]
mov rcx, r12
lea rdx, [0x1400e6488]
call fcn.140004f40
mov r9d, 1
mov qword [rsp + 0x20], rsi
lea r8, [rbp - 0x30]
mov dl, 0x41
mov rcx, rdi
call fcn.140022f70
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov dl, 0x67
mov rcx, rdi
call fcn.140022f70
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 0x14001bddb
mov r8, r15
mov rcx, qword [rbp + 0x1c0c0]
lea rdx, [0x1400e5f48]
call fcn.140039240
jmp 0x14001e685
cmp qword [rdi + 0x2b8], 0
lea rdx, [0x1400e6018]
lea rax, [0x1400e6030]
mov rcx, rdi
cmovne rax, rdx
lea r8, [rbp + 0x4040]
mov rdx, rax
call fcn.140039240
jmp 0x14001e685
lea r8, [rbp + 0x4040]
mov rcx, rdi
lea rdx, [0x1400e6018]
call fcn.140039240
jmp 0x14001e685
lea r8, [rbp + 0x4040]
lea rdx, [0x1400e5fd0]
call fcn.140039240
jmp 0x14001e685
mov r8, r12
lea rdx, [0x1400e60b0]
mov rcx, rdi
call fcn.140039240
jmp 0x14001e685
mov r8, r12
lea rdx, [0x1400e6030]
mov rcx, rdi
call fcn.140039240
jmp 0x14001e685
mov r8, r12
mov qword [rdi + 0x6a0], rax
lea rdx, [0x1400e6170]
mov rcx, rdi
call fcn.140039240
jmp 0x14001e685
mov eax, 0x3a
lea rdx, [0x1400e6220]
mov r8, r12
mov word [r14 - 4], ax
mov rcx, rdi
call fcn.140039240
jmp 0x14001e685
mov r8, r12
lea rdx, [0x1400e61c0]
mov rcx, rdi
call fcn.140039240
jmp 0x14001e685
mov rbx, qword [rbp + 0x1c0c0]
lea rdx, [0x1400e6270]
mov r8, r12
mov rcx, rbx
mov qword [rbx + 0x6a0], rsi
call fcn.140039240
jmp 0x14001e685
mov r8, r12
lea rdx, [0x1400e3900]
mov rcx, rbx
call fcn.140039240
jmp 0x14001e685
mov rcx, qword [rbp + 0x1c0c0]
lea rdx, [0x1400e6100]
mov r8, r12
call fcn.140039240
jmp 0x14001e685
mov rcx, qword [rbp + 0x1c0c0]
lea rdx, [0x1400e6370]
mov r8, r12
call fcn.140039240
jmp 0x14001e685
mov r8, rbx
jmp 0x14001e443
mov rcx, qword [rbp + 0x1c0c0]
lea rdx, [0x1400e5fb8]
mov r8, r12
call fcn.140039240
jmp 0x14001e685
cmp word [rbp + 0x4040], 0
je 0x14001e653
cmp dword [rbp - 0x80], 0
mov rcx, rdi
mov ebx, dword [rdi + 0x2cc]
mov eax, dword [rbp - 0x60]
mov dword [rdi + 0x2cc], eax
je 0x14001e61f
cmp byte [rsp + 0x42], 0
lea rax, [0x1400e64a8]
lea rdx, [0x1400e6018]
cmovne rdx, rax
lea r8, [rbp + 0x4040]
call fcn.140039240
jmp 0x14001e685
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.140020000
test eax, eax
je 0x14001d4bd
mov dword [rdi + 0x2cc], ebx
cmp dword [rdi + 0x80], 0
je 0x14001e67a
cmp dword [rbp - 0x38], 0
jne 0x14001e67a
lea r8, [rdi + 0xb0]
mov rcx, rdi
lea rdx, [0x1400e64a8]
call fcn.140039240
jmp 0x14001e685
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