Function at 0x14000e9a0
Capabilities:
Get geographical location

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x6c8]
sub rsp, 0x788
movaps xmmword [rax - 0x58], xmm6
xor esi, esi
movaps xmmword [rax - 0x68], xmm7
mov r11d, 1
movaps xmmword [rax - 0x78], xmm8
mov edi, 4
mov rax, rcx
mov r12, r8
xor cl, cl
mov r13d, esi
test r8, r8
movzx r9d, cl
cmove r9d, r11d
test byte [0x140033b18], r11b
mov dword [rbp + 0x6d8], r9d
jne 0x14000eb42
lock bts qword [0x140033b18], 0x1f
jae 0x14000ea3a
test byte [0x140033b18], r11b
jne 0x14000eb42
lea rcx, [0x140033b18]
call fcn.14000fa20
jmp 0x14000eb2e
mov r9d, edi
lea r8, [rsp + 0x68]
mov edx, 0xe
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x14000ea77
mov rax, qword [rsp + 0x68]
test ax, ax
je 0x14000ea77
movzx edx, word [0x140033b28]
cmp word [rsp + 0x6a], si
cmove dx, ax
mov word [0x140033b28], dx
mov r9d, edi
lea r8, [rsp + 0x68]
mov edx, 0xf
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x14000eab4
mov rax, qword [rsp + 0x68]
test ax, ax
je 0x14000eab4
movzx ecx, word [0x140033b14]
cmp word [rsp + 0x6a], si
cmove cx, ax
mov word [0x140033b14], cx
cmp word [0x140033b28], 0x2e
je 0x14000ead3
lea rdx, [0x14002ec80]
xor ecx, ecx
call fcn.140013c90
mov qword [0x140035100], rax
lock bts qword [0x140033b18], 0
jb 0x14000eb2e
mov rdi, qword [0x140033b20]
test rdi, rdi
je 0x14000eaf6
xor edx, edx
mov rcx, rdi
call qword [sym.imp.ntdll.dll_NtSetEvent]
mov rax, 0xfffffffffffffffe
lock xadd qword [0x140033b18], rax
shr rax, 1
and eax, 0x7fff
cmp rax, 1
jne 0x14000eb29
test rdi, rdi
je 0x14000eb29
mov rcx, rdi
call qword [sym.imp.ntdll.dll_NtClose]
mov qword [0x140033b20], rsi
mov edi, 4
mov r9d, dword [rbp + 0x6d8]
mov r11d, 1
mov rax, qword [rbp + 0x6d0]
movsd xmm8, qword [0x14002f098]
lea r10, [0x140000000]
movsd xmm6, qword [0x14002f090]
mov ebx, 0x30
movsd xmm7, qword [0x14002f088]
lea r8d, [rbx - 0x2e]
jmp 0x14000eb79
mov r9d, dword [rbp + 0x6d8]
xor esi, esi
mov rdx, rax
mov qword [rsp + 0x50], rax
add rax, 0x20
mov qword [rsp + 0x58], r13
dec edi
mov qword [rbp + 0x6d0], rax
mov dword [rsp + 0x74], edi
mov r14d, esi
mov r15d, dword [rdx]
mov rdi, r13
mov eax, r15d
and eax, 0x3f
cmp eax, 0xc
ja case.default.0x14000ebbc
cdqe
mov ecx, dword [r10 + rax*4 + 0xf974]
add rcx, r10
jmp rcx
test r9b, r9b
jne 0x14000ebec
lea rax, [r13 + 2]
cmp rax, 0x82
jbe 0x14000ebe3
add r12, 2
mov byte [rbp + 0x6d8], 1
add r13, 2
jmp case.default.0x14000ebbc
movzx eax, word [rdx + 0x10]
mov word [r12], ax
add r12, 2
add r13, 2
jmp case.default.0x14000ebbc
test r9b, r9b
jne 0x14000ec38
mov r8, qword [rdx + 0x10]
lea rax, [r8 + r13]
cmp rax, 0x82
jbe 0x14000ec27
mov rax, r8
mov byte [rbp + 0x6d8], 1
shr rax, 1
add r13, r8
lea r12, [r12 + rax*2]
jmp case.default.0x14000ebbc
mov rdx, qword [rdx + 0x18]
mov rcx, r12
call fcn.1400109c0
mov rdx, qword [rsp + 0x50]
mov rax, qword [rdx + 0x10]
shr rax, 1
add r13, qword [rdx + 0x10]
lea r12, [r12 + rax*2]
jmp case.default.0x14000ebbc
mov rcx, qword [rdx + 0x10]
call fcn.140006850
mov rdi, rax
test r9b, r9b
jne 0x14000ec98
lea r8, [rax + rax]
lea rcx, [r8 + r13]
cmp rcx, 0x82
jbe 0x14000ec87
lea rcx, [rax + rax]
mov byte [rbp + 0x6d8], 1
mov rax, rcx
shr rax, 1
add r13, rcx
jmp 0x14000f83a
mov rax, qword [rsp + 0x50]
mov rcx, r12
mov rdx, qword [rax + 0x10]
call fcn.1400109c0
lea rcx, [rdi + rdi]
mov rax, rcx
shr rax, 1
add r13, rcx
jmp 0x14000f83a
cmp r15d, 3
jne 0x14000ecba
mov rbx, qword [rdx + 0x18]
mov rdi, qword [rdx + 0x10]
jmp 0x14000eccb
mov rbx, qword [rdx + 0x10]
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [rbx + rdi], 0
jne 0x14000ecc2
mov r8d, edi
lea rcx, [rbp + 0x6e8]
mov rdx, rbx
call qword [sym.imp.ntdll.dll_RtlMultiByteToUnicodeSize]
test eax, eax
js 0x14000f83e
mov r15d, dword [rbp + 0x6d8]
test r15b, r15b
jne 0x14000ed35
mov ecx, dword [rbp + 0x6e8]
lea rax, [rcx + r13]
cmp rax, 0x82
jbe 0x14000ed18
mov eax, ecx
mov byte [rbp + 0x6d8], 1
shr rax, 1
add r13, rcx
jmp 0x14000f83a
mov edx, ecx
mov dword [rsp + 0x20], edi
mov rcx, r12
mov r9, rbx
xor r8d, r8d
call qword [sym.imp.ntdll.dll_RtlMultiByteToUnicodeN]
test eax, eax
js 0x14000f83e
mov ecx, dword [rbp + 0x6e8]
mov eax, ecx
shr rax, 1
add r13, rcx
jmp 0x14000f83a
mov edi, dword [rdx + 0x10]
test edi, edi
jns 0x14000ed59
neg edi
mov r14d, r11d
jmp 0x14000ed59
mov edi, dword [rdx + 0x10]
mov r11d, 0xa
bt r15d, 8
jae 0x14000ed75
movzx ecx, byte [rdx + 0xa]
lea eax, [rcx - 2]
cmp al, 0x43
ja 0x14000ed75
movzx r11d, cl
mov eax, r15d
lea r10, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_________._:_________
and eax, 0x20000000
lea r9, [rbp + 0x38e]
lea rax, str.0123456789abcdefghijklmnopqrstuvwxyz_________._:_________
mov ebx, esi
cmove r10, rax
test edi, edi
je 0x14000ee23
bt r15d, 0x10
jae 0x14000ee05
mov r8d, esi
nop word [rax + rax]
xor edx, edx
mov eax, edi
div r11d
inc ebx
inc r8d
mov edi, eax
movsx ecx, byte [rdx + r10]
mov word [r9], cx
sub r9, 2
cmp r8d, 3
jne 0x14000ede9
test eax, eax
je 0x14000eded
movzx eax, word [0x140033b14]
mov r8d, esi
mov word [r9], ax
sub r9, 2
inc ebx
test edi, edi
jne 0x14000edb0
mov rdx, qword [rsp + 0x50]
mov ecx, 1
lea r10d, [rcx + 0x2f]
test r14b, 1
je 0x14000ee41
mov esi, ecx
jmp 0x14000ee4c
xor edx, edx
mov eax, edi
div r11d
inc ebx
mov edi, eax
movsx ecx, byte [rdx + r10]
mov word [r9], cx
sub r9, 2
test eax, eax
jne 0x14000ee05
jmp 0x14000eded
mov r10d, 0x30
lea r9, [rbp + 0x38c]
mov ecx, 1
mov word [rbp + 0x38e], r10w
mov ebx, ecx
jmp 0x14000edfb
mov eax, r15d
and eax, 0x20000
cmovne esi, ecx
mov eax, r15d
and eax, 0x50000
cmp eax, 0x40000
jne 0x14000ee7a
movzx ecx, word [rdx + 6]
lea eax, [rsi + rbx]
cmp eax, ecx
jae 0x14000ee7a
mov edx, ecx
or r14d, 4
sub edx, esi
sub edx, ebx
mov dword [rbp + 0x6f0], edx
add esi, edx
jmp 0x14000ee80
mov edx, dword [rbp + 0x6f0]
cmp byte [rbp + 0x6d8], 0
jne 0x14000ef08
lea eax, [rsi + rbx]
lea rax, [rax*2]
add rax, r13
cmp rax, 0x82
jbe 0x14000eeb3
lea eax, [rsi + rbx]
mov byte [rbp + 0x6d8], 1
lea r13, [r13 + rax*2]
jmp 0x14000f83e
test r14b, 1
je 0x14000eec0
mov eax, 0x2d
jmp 0x14000eecc
bt r15d, 0x11
jae 0x14000eed5
mov eax, 0x2b
mov word [r12], ax
add r12, 2
test r14b, 4
je 0x14000eef1
test rdx, rdx
je 0x14000eeed
movzx eax, r10w
mov rdi, r12
mov rcx, rdx
rep stosw word [rdi], ax
lea r12, [r12 + rdx*2]
mov edi, ebx
lea rdx, [r9 + 2]
add rdi, rdi
mov rcx, r12
mov r8, rdi
call fcn.1400109c0
add r12, rdi
lea eax, [rsi + rbx]
lea r13, [r13 + rax*2]
jmp 0x14000f83e
mov rdi, qword [rdx + 0x10]
test rdi, rdi
jns 0x14000ef2a
neg rdi
mov r14d, r11d
jmp 0x14000ef2a
mov rdi, qword [rdx + 0x10]
mov edx, 0xa
bt r15d, 8
jae 0x14000ef49
mov rax, qword [rsp + 0x50]
movzx ecx, byte [rax + 0xa]
lea eax, [rcx - 2]
cmp al, 0x43
ja 0x14000ef49
movzx edx, cl
mov eax, r15d
lea r10, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_________._:_________
and eax, 0x20000000
lea r9, [rbp + 0x38e]
lea rax, str.0123456789abcdefghijklmnopqrstuvwxyz_________._:_________
mov ebx, esi
cmove r10, rax
test rdi, rdi
je 0x14000f003
bt r15d, 0x10
jae 0x14000efd8
mov r8d, esi
mov r11d, edx
xor edx, edx
mov rax, rdi
div r11
inc ebx
inc r8d
mov rdi, rax
mov eax, edx
movsx ecx, byte [rax + r10]
mov word [r9], cx
sub r9, 2
cmp r8d, 3
jne 0x14000efc0
test rdi, rdi
je 0x14000efc5
movzx eax, word [0x140033b14]
mov r8d, esi
mov word [r9], ax
sub r9, 2
inc ebx
test rdi, rdi
jne 0x14000ef82
mov r10d, 0x30
test r14b, 1
je 0x14000f01d
mov esi, 1
jmp 0x14000f02d
mov r8d, edx
nop dword [rax + rax]
xor edx, edx
mov rax, rdi
div r8
inc ebx
mov rdi, rax
mov eax, edx
movsx ecx, byte [rax + r10]
mov word [r9], cx
sub r9, 2
test rdi, rdi
jne 0x14000efe0
jmp 0x14000efc5
mov r10d, 0x30
lea r9, [rbp + 0x38c]
mov word [rbp + 0x38e], r10w
mov ebx, r11d
jmp 0x14000efcb
mov eax, r15d
mov edi, 1
and eax, 0x20000
cmovne esi, edi
mov eax, r15d
and eax, 0x50000
cmp eax, 0x40000
jne 0x14000f05e
mov rax, qword [rsp + 0x50]
movzx ecx, word [rax + 6]
lea eax, [rsi + rbx]
cmp eax, ecx
jae 0x14000f05e
mov edx, ecx
or r14d, 4
sub edx, esi
sub edx, ebx
mov dword [rsp + 0x60], edx
add esi, edx
jmp 0x14000f062
mov edx, dword [rsp + 0x60]
cmp byte [rbp + 0x6d8], 0
jne 0x14000ef08
lea eax, [rsi + rbx]
lea rax, [rax*2]
add rax, r13
cmp rax, 0x82
jbe 0x14000f099
lea eax, [rsi + rbx]
mov byte [rbp + 0x6d8], 1
lea r13, [r13 + rax*2]
jmp 0x14000f83e
test r14b, 1
je 0x14000f0a6
mov eax, 0x2d
jmp 0x14000f0b2
bt r15d, 0x11
jae 0x14000f0bb
mov eax, 0x2b
mov word [r12], ax
add r12, 2
test r14b, 4
je 0x14000f0d7
test rdx, rdx
je 0x14000f0d3
movzx eax, r10w
mov rdi, r12
mov rcx, rdx
rep stosw word [rdi], ax
lea r12, [r12 + rdx*2]
mov edi, ebx
lea rdx, [r9 + 2]
add rdi, rdi
mov rcx, r12
mov r8, rdi
call fcn.1400109c0
lea eax, [rsi + rbx]
add r12, rdi
lea r13, [r13 + rax*2]
jmp 0x14000f83e
test r15b, 0x40
je 0x14000f112
movzx edi, word [rdx + 4]
mov eax, 0xa2
cmp edi, eax
jbe 0x14000f117
mov edi, eax
jmp 0x14000f117
mov edi, 6
mov cl, 0x66
bt r15d, 0xc
jae 0x14000f124
mov cl, 0x65
jmp 0x14000f137
mov eax, r15d
movzx ecx, cl
and eax, 0x2000
mov eax, 0x61
cmovne ecx, eax
movsd xmm0, qword [rdx + 0x10]
lea rbx, [rbp - 0x6f]
movsd qword [rbp - 0x80], xmm0
movsx edx, cl
bt r15d, 0x1d
jae 0x14000f152
sub edx, 0x20
mov rax, qword [0x140035100]
lea r9, [rbp + 0x390]
mov qword [rsp + 0x40], rax
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x38], rsi
mov r8d, 0x3ff
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edx
lea rdx, [rbp - 0x6f]
mov qword [rsp + 0x20], 0x15e
call fcn.14001549c
mov rdi, qword [rsp + 0x50]
movzx edx, byte [rbp - 0x6f]
mov r9d, dword [rdi]
bt r9d, 0xf
jae 0x14000f229
movzx edi, word [0x140033b28]
lea rcx, [rbp - 0x6f]
test dl, dl
je 0x14000f1c7
movzx eax, dl
cmp al, dil
je 0x14000f1c7
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x14000f1b7
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000f224
movzx eax, byte [rcx]
test al, al
je 0x14000f1e9
sub al, 0x45
test al, 0xdf
je 0x14000f1e9
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x14000f1d8
mov rdx, rcx
dec rcx
cmp byte [rcx], 0x30
jne 0x14000f1fc
dec rcx
cmp byte [rcx], 0x30
je 0x14000f1f4
cmp byte [rcx], dil
jne 0x14000f210
dec rcx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx]
lea rcx, [rcx + 1]
inc rdx
mov byte [rcx], al
test al, al
jne 0x14000f210
movzx edx, byte [rbp - 0x6f]
mov rdi, qword [rsp + 0x50]
lea rax, [rbp - 0x6f]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14000f231
mov ecx, 1
cmp dl, 0x2d
jne 0x14000f251
mov r10d, ecx
lea rbx, [rbp - 0x6e]
dec r8d
jmp 0x14000f265
mov eax, r9d
mov r10d, esi
and eax, 0x20000
mov eax, 2
cmovne r10d, eax
mov eax, r9d
and eax, 0x13000
cmp eax, 0x10000
jne 0x14000f3ba
movzx eax, byte [rbx]
mov r9, rbx
sub al, 0x30
cmp al, 0xa
jae 0x14000f29e
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r9 + 1]
inc r9
sub al, 0x30
cmp al, 0xa
jb 0x14000f290
mov r11d, r9d
sub r11d, ebx
je 0x14000f2b7
lea ecx, [r11 + 2]
mov eax, 0xaaaaaaab
mul ecx
mov esi, edx
shr esi, 1
dec esi
lea eax, [rsi + r8]
mov r14d, r10d
add eax, eax
and r14d, 3
je 0x14000f2c9
add eax, 2
mov r15d, dword [rbp + 0x6d8]
test r15b, r15b
jne 0x14000f2f2
add rax, r13
movzx r15d, r15b
cmp rax, 0x82
mov edi, 1
cmova r15d, edi
mov dword [rbp + 0x6d8], r15d
lea edi, [r11 + 2]
mov eax, 0xaaaaaaab
mul edi
mov ecx, r11d
shr edx, 1
lea eax, [rdx + rdx*2]
sub edi, eax
test r15b, r15b
jne 0x14000f37a
test r10b, 1
je 0x14000f319
mov eax, 0x2d
jmp 0x14000f324
test r10b, 2
je 0x14000f32d
mov eax, 0x2b
mov word [r12], ax
add r12, 2
test r11d, r11d
je 0x14000f37a
mov r15d, 2
nop dword [rax + rax]
movsx eax, byte [rbx]
lea rbx, [rbx + 1]
mov word [r12], ax
dec ecx
mov eax, edi
add r12, r15
dec edi
test eax, eax
jne 0x14000f36f
test ecx, ecx
je 0x14000f373
movzx eax, word [0x140033b14]
mov edi, r15d
mov word [r12], ax
add r12, r15
test ecx, ecx
jne 0x14000f340
mov r15d, dword [rbp + 0x6d8]
test r14d, r14d
je 0x14000f383
add r13, 2
sub r8d, r11d
lea eax, [rsi + r11]
lea r13, [r13 + rax*2]
test r15b, r15b
jne 0x14000f83e
mov edi, r8d
mov rcx, r9
mov edx, edi
mov r8, r12
call fcn.1400071b0
lea rcx, [rdi + rdi]
mov rax, rcx
shr rax, 1
add r13, rcx
jmp 0x14000f83a
movzx eax, r10b
mov rdx, rsi
and al, 3
cmovne rdx, rcx
bt r9d, 0x12
jae 0x14000f3f5
movzx edi, word [rdi + 6]
mov ecx, r8d
lea rax, [rcx + rdx]
cmp rax, rdi
jae 0x14000f3f5
mov r9d, edi
or r10d, 4
sub r9, rcx
sub r9, rdx
mov qword [rsp + 0x78], r9
add rdx, r9
jmp 0x14000f3fa
mov r9, qword [rsp + 0x78]
mov r15d, dword [rbp + 0x6d8]
test r15b, r15b
jne 0x14000f46e
mov eax, r8d
add rax, rdx
lea rax, [rax*2]
add rax, r13
cmp rax, 0x82
jbe 0x14000f42b
mov r15b, 1
mov dword [rbp + 0x6d8], r15d
jmp 0x14000f46e
test r10b, 1
je 0x14000f438
mov eax, 0x2d
jmp 0x14000f443
test r10b, 2
je 0x14000f44c
mov eax, 0x2b
mov word [r12], ax
add r12, 2
test r10b, 4
je 0x14000f46e
test r9, r9
je 0x14000f46a
mov r10d, 0x30
mov rdi, r12
movzx eax, r10w
mov rcx, r9
rep stosw word [rdi], ax
lea r12, [r12 + r9*2]
lea r13, [r13 + rdx*2]
test r15b, r15b
jne 0x14000f83e
mov edx, r8d
mov rcx, r12
mov edi, r8d
and rdx, 0xfffffffffffffffc
je 0x14000f4bc
nop dword [rax + rax]
movzx eax, byte [rbx]
mov word [rcx], ax
movzx eax, byte [rbx + 1]
mov word [rcx + 2], ax
movzx eax, byte [rbx + 2]
mov word [rcx + 4], ax
movzx eax, byte [rbx + 3]
add rbx, 4
mov word [rcx + 6], ax
add rcx, 8
sub rdx, 4
jne 0x14000f490
mov rax, rdi
and eax, 3
sub rax, 1
je 0x14000f4f2
sub rax, 1
je 0x14000f4e5
cmp rax, 1
jne 0x14000ec98
movzx eax, byte [rbx]
mov word [rcx], ax
add rcx, 2
inc rbx
movzx eax, byte [rbx]
mov word [rcx], ax
add rcx, 2
inc rbx
movzx eax, byte [rbx]
mov word [rcx], ax
lea rcx, [rdi + rdi]
mov rax, rcx
shr rax, 1
add r13, rcx
jmp 0x14000f83a
mov rax, qword [rdx + 0x10]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
test rax, rax
jns 0x14000f520
addsd xmm0, xmm8
jne 0x14000f559
test r9b, r9b
jne 0x14000f54c
lea rax, [r13 + 2]
cmp rax, 0x82
jbe 0x14000f547
add r12, 2
mov byte [rbp + 0x6d8], 1
add r13, 2
jmp case.default.0x14000ebbc
mov word [r12], bx
add r12, 2
add r13, 2
jmp case.default.0x14000ebbc
bt r15d, 8
jae 0x14000f566
movzx eax, byte [rdx + 0xa]
jmp 0x14000f569
or eax, 0xffffffff
comisd xmm0, xmm6
jb 0x14000f585
nop
cmp esi, 7
jae 0x14000f585
cmp esi, eax
jae 0x14000f585
mulsd xmm0, xmm7
inc esi
comisd xmm0, xmm6
jae 0x14000f570
test r15b, 0x40
je 0x14000f591
movzx eax, word [rdx + 4]
jmp 0x14000f594
mov eax, r8d
movzx ecx, ax
lea r9, [rbp + 0x4f0]
mov eax, 0xa2
movsd qword [rbp - 0x78], xmm0
xor ebx, ebx
lea rdx, [rbp - 0x6f]
cmp ecx, eax
lea r14, [rbp - 0x6f]
mov r8d, 0x3ff
mov r15d, ebx
cmova ecx, eax
mov rax, qword [0x140035100]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], ecx
lea rcx, [rbp - 0x78]
mov dword [rsp + 0x28], 0x66
mov qword [rsp + 0x20], 0x15e
call fcn.14001549c
movzx edx, byte [rbp - 0x6f]
lea rcx, [rbp - 0x6f]
movzx edi, word [0x140033b28]
test dl, dl
je 0x14000f615
movzx eax, dl
cmp al, dil
je 0x14000f615
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x14000f605
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000f666
movzx eax, byte [rcx]
test al, al
je 0x14000f637
sub al, 0x45
test al, 0xdf
je 0x14000f637
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x14000f626
mov rdx, rcx
dec rcx
cmp byte [rcx], 0x30
jne 0x14000f64a
dec rcx
cmp byte [rcx], 0x30
je 0x14000f642
cmp byte [rcx], dil
jne 0x14000f652
dec rcx
movzx eax, byte [rdx]
lea rcx, [rcx + 1]
inc rdx
mov byte [rcx], al
test al, al
jne 0x14000f652
movzx edx, byte [rbp - 0x6f]
lea rax, [rbp - 0x6f]
or r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], bl
jne 0x14000f670
mov edi, 1
cmp dl, 0x2d
jne 0x14000f68d
mov r15d, edi
lea r14, [rbp - 0x6e]
dec r8d
movzx eax, byte [r14]
mov r9, r14
sub al, 0x30
cmp al, 0xa
jae 0x14000f6ae
nop word [rax + rax]
movzx eax, byte [r9 + 1]
inc r9
sub al, 0x30
cmp al, 0xa
jb 0x14000f6a0
mov r10d, r9d
sub r10d, r14d
je 0x14000f6cc
lea ecx, [r10 + 2]
mov eax, 0xaaaaaaab
mul ecx
mov r11d, edx
shr r11d, 1
dec r11d
jmp 0x14000f6cf
mov r11d, ebx
lea eax, [r11 + r8]
mov ebx, r15d
add eax, eax
and ebx, 3
mov dword [rsp + 0x70], ebx
je 0x14000f6e4
add eax, 2
mov ecx, dword [rbp + 0x6d8]
test cl, cl
jne 0x14000f703
add rax, r13
movzx ecx, cl
cmp rax, 0x82
cmova ecx, edi
mov byte [rbp + 0x6d8], cl
lea edi, [r10 + 2]
mov eax, 0xaaaaaaab
mul edi
mov ecx, r10d
shr edx, 1
lea eax, [rdx + rdx*2]
sub edi, eax
cmp byte [rbp + 0x6d8], 0
jne 0x14000f786
test r15b, 1
je 0x14000f72e
mov eax, 0x2d
jmp 0x14000f739
test r15b, 2
je 0x14000f742
mov eax, 0x2b
mov word [r12], ax
add r12, 2
test r10d, r10d
je 0x14000f786
mov ebx, 2
nop dword [rax]
movsx eax, byte [r14]
dec ecx
mov word [r12], ax
inc r14
mov eax, edi
add r12, rbx
dec edi
test eax, eax
jne 0x14000f77e
test ecx, ecx
je 0x14000f782
movzx eax, word [0x140033b14]
mov edi, ebx
mov word [r12], ax
add r12, rbx
test ecx, ecx
jne 0x14000f750
mov ebx, dword [rsp + 0x70]
test ebx, ebx
je 0x14000f78e
add r13, 2
lea eax, [r11 + r10]
sub r8d, r10d
lea rbx, [rax*2]
add rbx, r13
cmp byte [rbp + 0x6d8], 0
jne 0x14000f818
mov edi, r8d
mov rcx, r9
mov edx, edi
mov r8, r12
call fcn.1400071b0
lea rcx, [rdi + rdi]
mov edx, esi
add rbx, rcx
lea r10, [0x140000000]
mov rax, rcx
add rdx, rdx
shr rax, 1
lea rcx, [rbx + 2]
add rcx, qword [r10 + rdx*8 + 0x33b30]
lea r12, [r12 + rax*2]
cmp rcx, 0x82
jbe 0x14000f7f4
mov byte [rbp + 0x6d8], 1
jmp 0x14000f81f
mov eax, 0x20
lea rcx, [r12 + 2]
mov word [r12], ax
mov r8, qword [r10 + rdx*8 + 0x33b30]
mov rdx, qword [r10 + rdx*8 + 0x33b38]
call fcn.1400109c0
lea r10, [0x140000000]
mov eax, esi
add rax, rax
mov rcx, qword [r10 + rax*8 + 0x33b30]
lea rax, [rcx + 2]
shr rax, 1
lea r13, [rcx + 2]
add r13, rbx
lea r12, [r12 + rax*2]
mov rdx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov ecx, dword [rdx]
mov r8, r13
sub r8, rdi
test ecx, 0xc0000000
je 0x14000f8ec
movzx ebx, word [rdx + 6]
add rbx, rbx
cmp r8, rbx
jae 0x14000f8ec
sub rbx, r8
cmp byte [rbp + 0x6d8], 0
jne 0x14000f8df
lea rax, [rbx + r13]
cmp rax, 0x82
jbe 0x14000f88d
mov byte [rbp + 0x6d8], 1
jmp 0x14000f8df
test cl, cl
jns 0x14000f898
movzx r14d, word [rdx + 8]
jmp 0x14000f89e
mov r14d, 0x20
test ecx, ecx
jns 0x14000f8af
mov rcx, rbx
shr rcx, 1
je 0x14000f8df
mov rdi, r12
jmp 0x14000f8d8
mov rax, r8
mov rdi, r12
shr rax, 1
mov rsi, rbx
add rax, rax
shr rsi, 1
sub rdi, rax
mov rdx, rdi
lea rcx, [rdi + rsi*2]
call fcn.1400109c0
test rsi, rsi
je 0x14000f8df
mov rcx, rsi
movzx eax, r14w
rep stosw word [rdi], ax
mov rax, rbx
shr rax, 1
add r13, rbx
lea r12, [r12 + rax*2]
mov edi, dword [rsp + 0x74]
lea r10, [0x140000000]
mov rax, qword [rbp + 0x6d0]
mov r8d, 2
lea r11d, [r8 - 1]
lea ebx, [r8 + 0x2e]
test edi, edi
jne 0x14000eb70
mov ecx, dword [rbp + 0x6d8]
test cl, cl
jne 0x14000f92e
lea rax, [r13 + 2]
cmp rax, 0x82
jbe 0x14000f96b
movzx ecx, r11b
mov rdx, qword [rbp + 0x6e0]
test rdx, rdx
je 0x14000f93f
xor eax, eax
mov word [rdx], ax
lea r11, [rsp + 0x788]
test cl, cl
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
sete al
movaps xmm8, xmmword [r11 - 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor eax, eax
mov word [r12], ax
jmp 0x14000f93f