Function at 0x1400f88d0
Capabilities:
Get geographical location

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rbx
lea rbp, [rax - 0x6d8]
sub rsp, 0x7c8
mov qword [rax - 0x18], rsi
mov rsi, r8
mov qword [rax - 0x20], rdi
mov rdi, r8
xor r8d, r8d
mov qword [rax - 0x28], r12
mov qword [rax - 0x38], r14
test rsi, rsi
mov qword [rax - 0x40], r15
mov r14, r9
sete bl
mov qword [rsp + 0x58], r8
test byte [0x14018b0f8], 1
mov r15d, edx
mov rax, rcx
mov r12d, r8d
jne 0x1400f89fd
lock bts qword [0x14018b0f8], 0x1f
setb al
test al, al
jne 0x1400f89dc
mov r9d, 4
lea r8, [rbp - 0x80]
mov edx, 0xe
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x1400f897a
mov rax, qword [rbp - 0x80]
test ax, ax
je 0x1400f897a
cmp word [rbp - 0x7e], r12w
jne 0x1400f897a
mov word [0x140188178], ax
mov r9d, 4
lea r8, [rbp - 0x80]
mov edx, 0xf
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x1400f89af
mov rax, qword [rbp - 0x80]
test ax, ax
je 0x1400f89af
cmp word [rbp - 0x7e], r12w
jne 0x1400f89af
mov word [0x140188b28], ax
cmp word [0x140188178], 0x2e
je 0x1400f89ce
lea rdx, [0x140161226]
xor ecx, ecx
call fcn.14011d4f8
mov qword [0x140190da8], rax
lea rcx, [0x14018b0f8]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhfSetEvent
jmp 0x1400f89f3
test byte [0x14018b0f8], 1
jne 0x1400f89f6
xor edx, edx
lea rcx, [0x14018b0f8]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhfWaitForEvent
xor r8d, r8d
mov rax, qword [rbp + 0x6e0]
test r15d, r15d
je 0x1400f98d2
mov qword [rsp + 0x7a8], r13
lea r9, [0x140000000]
movzx r13d, word [0x140188b28]
mov r11d, 0x30
movaps xmmword [rsp + 0x780], xmm6
movsd xmm6, qword [0x14016ae88]
movaps xmmword [rsp + 0x770], xmm7
movsd xmm7, qword [0x14016ae38]
mov byte [rsp + 0x50], bl
jmp 0x1400f8a53
xor r8d, r8d
mov rdx, rax
mov qword [rsp + 0x60], rax
mov rdi, rax
mov qword [rbp - 0x60], r12
mov r10, rax
dec r15d
add rax, 0x20
mov dword [rbp + 0x6e8], r15d
mov r12d, dword [rdx]
mov r15d, r8d
mov qword [rbp + 0x6e0], rax
mov eax, r12d
and eax, 0x3f
cmp eax, 0xc
ja case.default.0x1400f8a9c
cdqe
mov ecx, dword [r9 + rax*4 + 0xf9944]
add rcx, r9
jmp rcx
mov r12, qword [rsp + 0x58]
test bl, bl
jne 0x1400f8ad0
lea rax, [r12 + 2]
cmp r14, rax
jae 0x1400f8ac8
add rsi, 2
mov byte [rsp + 0x50], 1
add r12, 2
mov qword [rsp + 0x58], r12
jmp 0x1400f97dd
movzx eax, word [r10 + 0x10]
mov word [rsi], ax
add rsi, 2
add r12, 2
mov qword [rsp + 0x58], r12
jmp 0x1400f97dd
mov r12, qword [rsp + 0x58]
test bl, bl
jne 0x1400f8b0e
mov r8, qword [r10 + 0x10]
lea rax, [r8 + r12]
cmp r14, rax
jae 0x1400f8aff
mov byte [rsp + 0x50], 1
jmp 0x1400f8b0e
mov rdx, qword [r10 + 0x18]
mov rcx, rsi
call fcn.1401317c0
mov r10, rdi
mov rax, qword [r10 + 0x10]
shr rax, 1
add r12, qword [r10 + 0x10]
mov qword [rsp + 0x58], r12
lea rsi, [rsi + rax*2]
jmp 0x1400f97dd
cmp byte [0x14018dbaa], 1
mov rdx, qword [r10 + 0x10]
jb 0x1400f8ba5
mov rdi, rdx
mov ecx, edx
and rdi, 0xfffffffffffffff1
xorps xmm1, xmm1
and ecx, 0xf
je 0x1400f8b62
xorps xmm0, xmm0
pcmpeqw xmm0, xmmword [rdi]
pmovmskb eax, xmm0
sar eax, cl
bsf ecx, eax
je 0x1400f8b5e
mov edi, ecx
shr rdi, 1
jmp 0x1400f8bba
add rdi, 0x10
xorps xmm0, xmm0
pcmpeqw xmm0, xmmword [rdi]
pmovmskb eax, xmm0
bsf ecx, eax
jne 0x1400f8b95
nop dword [rax]
nop word [rax + rax]
add rdi, 0x10
movdqa xmm0, xmm1
pcmpeqw xmm0, xmmword [rdi]
pmovmskb eax, xmm0
bsf ecx, eax
je 0x1400f8b80
sub rdi, rdx
mov eax, ecx
sar rdi, 1
shr rax, 1
add rdi, rax
jmp 0x1400f8bba
mov rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp word [rdx + rdi*2], 0
jne 0x1400f8bb0
mov r12, qword [rsp + 0x58]
test bl, bl
jne 0x1400f8bf4
lea r8, [rdi + rdi]
lea rax, [r8 + r12]
cmp r14, rax
jae 0x1400f8be7
lea r12, [r12 + rdi*2]
mov byte [rsp + 0x50], 1
mov qword [rsp + 0x58], r12
lea rsi, [rsi + rdi*2]
jmp 0x1400f97dd
mov rcx, rsi
call fcn.1401317c0
mov r10, qword [rsp + 0x60]
lea r12, [r12 + rdi*2]
mov qword [rsp + 0x58], r12
lea rsi, [rsi + rdi*2]
jmp 0x1400f97dd
cmp r12d, 3
jne 0x1400f8c16
mov rbx, qword [r10 + 0x18]
mov rdi, qword [rdx + 0x10]
jmp 0x1400f8c2a
mov rbx, qword [rdx + 0x10]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rbx + rdi], 0
jne 0x1400f8c21
mov r8d, edi
lea rcx, [rsp + 0x70]
mov rdx, rbx
call qword [sym.imp.ntdll.dll_RtlMultiByteToUnicodeSize]
mov r12, qword [rsp + 0x58]
test eax, eax
js 0x1400f8c8e
cmp byte [rsp + 0x50], 0
jne 0x1400f8c78
mov ecx, dword [rsp + 0x70]
lea rax, [r12 + rcx]
cmp r14, rax
jae 0x1400f8c5f
mov byte [rsp + 0x50], 1
jmp 0x1400f8c7c
mov edx, ecx
mov dword [rsp + 0x20], edi
mov rcx, rsi
mov r9, rbx
xor r8d, r8d
call qword [sym.imp.ntdll.dll_RtlMultiByteToUnicodeN]
test eax, eax
js 0x1400f8c8e
mov ecx, dword [rsp + 0x70]
mov rax, rcx
shr rax, 1
add r12, rcx
mov qword [rsp + 0x58], r12
lea rsi, [rsi + rax*2]
movzx r13d, word [0x140188b28]
mov r10, qword [rsp + 0x60]
jmp 0x1400f97dd
mov eax, dword [r10 + 0x10]
mov r15d, eax
mov r8d, eax
shr r15d, 0x1f
neg r8d
test eax, eax
cmovns r8d, eax
jmp 0x1400f8cbd
mov r8d, dword [r10 + 0x10]
mov r11d, 0xa
bt r12d, 8
jae 0x1400f8cd9
movzx ecx, byte [r10 + 0xa]
lea eax, [rcx - 2]
cmp al, 0x43
ja 0x1400f8cd9
mov r11d, ecx
bt r12d, 0x1d
lea r10, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_________._:_________
lea rax, str.0123456789abcdefghijklmnopqrstuvwxyz_________._:_________
cmovae r10, rax
lea r9, [rbp + 0x3ae]
xor r14d, r14d
mov ebx, r14d
test r8d, r8d
je 0x1400f8d80
bt r12d, 0x10
jae 0x1400f8d60
mov edi, r14d
xor edx, edx
mov eax, r8d
div r11d
inc ebx
inc edi
mov r8d, eax
movsx ecx, byte [rdx + r10]
mov word [r9], cx
sub r9, 2
cmp edi, 3
jne 0x1400f8d41
test eax, eax
je 0x1400f8d45
mov word [r9], r13w
sub r9, 2
inc ebx
jmp 0x1400f8d0d
test eax, eax
jne 0x1400f8d10
mov eax, 1
mov edi, 0x30
test r15d, r15d
je 0x1400f8d9c
mov r14d, eax
jmp 0x1400f8da5
xor edx, edx
mov eax, r8d
div r11d
inc ebx
mov r8d, eax
movsx ecx, byte [rdx + r10]
mov word [r9], cx
sub r9, 2
test eax, eax
jne 0x1400f8d60
jmp 0x1400f8d45
mov edi, 0x30
lea r9, [rbp + 0x3ac]
mov eax, 1
mov word [rbp + 0x3ae], di
mov ebx, eax
jmp 0x1400f8d4f
bt r12d, 0x11
cmovb r14d, eax
mov eax, r12d
and eax, 0x50000
cmp eax, 0x40000
jne 0x1400f8dd9
mov rcx, qword [rsp + 0x60]
lea eax, [r14 + rbx]
movzx ecx, word [rcx + 6]
cmp eax, ecx
jae 0x1400f8dd9
mov edx, ecx
or r15d, 4
sub edx, r14d
sub edx, ebx
mov dword [rsp + 0x74], edx
add r14d, edx
jmp 0x1400f8ddd
mov edx, dword [rsp + 0x74]
cmp byte [rsp + 0x50], 0
jne 0x1400f8e50
mov rax, qword [rsp + 0x58]
lea ecx, [r14 + rbx]
lea rax, [rax + rcx*2]
cmp qword [rbp + 0x6f8], rax
jae 0x1400f8e01
mov byte [rsp + 0x50], 1
jmp 0x1400f8e50
test r15b, 1
je 0x1400f8e0e
mov word [rsi], 0x2d
jmp 0x1400f8e1a
bt r12d, 0x11
jae 0x1400f8e1e
mov word [rsi], 0x2b
add rsi, 2
test r15b, 4
je 0x1400f8e39
test rdx, rdx
je 0x1400f8e35
movzx eax, di
mov rcx, rdx
mov rdi, rsi
rep stosw word [rdi], ax
lea rsi, [rsi + rdx*2]
mov edi, ebx
lea rdx, [r9 + 2]
add rdi, rdi
mov rcx, rsi
mov r8, rdi
call fcn.1401317c0
add rsi, rdi
mov r12, qword [rsp + 0x58]
lea eax, [r14 + rbx]
mov r10, qword [rsp + 0x60]
lea r12, [r12 + rax*2]
mov qword [rsp + 0x58], r12
jmp 0x1400f97dd
mov rax, qword [rdi + 0x10]
mov r15, rax
mov r8, rax
shr r15, 0x3f
neg r8
cmovs r8, rax
jmp 0x1400f8e87
mov r8, qword [r10 + 0x10]
mov r10d, 0xa
bt r12d, 8
jae 0x1400f8ea5
mov rcx, rdx
movzx ecx, byte [rdx + 0xa]
lea eax, [rcx - 2]
cmp al, 0x43
ja 0x1400f8ea5
mov r10d, ecx
bt r12d, 0x1d
lea r11, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_________._:_________
lea rax, str.0123456789abcdefghijklmnopqrstuvwxyz_________._:_________
cmovae r11, rax
lea r9, [rbp + 0x3ae]
xor r14d, r14d
mov ebx, r14d
test r8, r8
je 0x1400f8f6e
bt r12d, 0x10
jae 0x1400f8f40
mov edi, r14d
nop dword [rax]
xor edx, edx
mov rax, r8
div r10
mov rax, r8
inc ebx
mov rcx, rdx
inc edi
xor edx, edx
div r10
mov r8, rax
mov eax, ecx
movsx ecx, byte [rax + r11]
mov word [r9], cx
sub r9, 2
cmp edi, 3
jne 0x1400f8f1f
test r8, r8
je 0x1400f8f24
mov word [r9], r13w
sub r9, 2
inc ebx
jmp 0x1400f8ed9
test r8, r8
jne 0x1400f8ee0
mov eax, 1
mov edi, 0x30
test r15d, r15d
je 0x1400f8f8a
mov r14d, eax
jmp 0x1400f8f93
xor edx, edx
mov rax, r8
div r10
mov rax, r8
inc ebx
mov rcx, rdx
xor edx, edx
div r10
mov r8, rax
mov eax, ecx
movsx ecx, byte [rax + r11]
mov word [r9], cx
sub r9, 2
test r8, r8
jne 0x1400f8f40
jmp 0x1400f8f24
mov edi, 0x30
lea r9, [rbp + 0x3ac]
mov eax, 1
mov word [rbp + 0x3ae], di
mov ebx, eax
jmp 0x1400f8f2e
bt r12d, 0x11
cmovb r14d, eax
mov eax, r12d
and eax, 0x50000
cmp eax, 0x40000
jne 0x1400f8fc7
mov rax, qword [rsp + 0x60]
movzx ecx, word [rax + 6]
lea eax, [r14 + rbx]
cmp eax, ecx
jae 0x1400f8fc7
mov edx, ecx
or r15d, 4
sub edx, r14d
sub edx, ebx
mov dword [rsp + 0x78], edx
add r14d, edx
jmp 0x1400f8fcb
mov edx, dword [rsp + 0x78]
cmp byte [rsp + 0x50], 0
jne 0x1400f8e50
mov rax, qword [rsp + 0x58]
lea ecx, [r14 + rbx]
lea rax, [rax + rcx*2]
cmp qword [rbp + 0x6f8], rax
jae 0x1400f8ff6
mov byte [rsp + 0x50], 1
jmp 0x1400f8e50
test r15b, 1
je 0x1400f9003
mov word [rsi], 0x2d
jmp 0x1400f900f
bt r12d, 0x11
jae 0x1400f9013
mov word [rsi], 0x2b
add rsi, 2
test r15b, 4
je 0x1400f902e
test rdx, rdx
je 0x1400f902a
movzx eax, di
mov rcx, rdx
mov rdi, rsi
rep stosw word [rdi], ax
lea rsi, [rsi + rdx*2]
mov edi, ebx
lea rdx, [r9 + 2]
add rdi, rdi
mov rcx, rsi
mov r8, rdi
call fcn.1401317c0
mov r12, qword [rsp + 0x58]
lea eax, [r14 + rbx]
mov r10, qword [rsp + 0x60]
add rsi, rdi
lea r12, [r12 + rax*2]
mov qword [rsp + 0x58], r12
jmp 0x1400f97dd
test r12b, 0x40
je 0x1400f9079
movzx edx, word [r10 + 4]
mov eax, 0xa2
cmp edx, eax
jbe 0x1400f907e
mov edx, eax
jmp 0x1400f907e
mov edx, 6
bt r12d, 0xc
jae 0x1400f908c
mov eax, 0x65
jmp 0x1400f909e
bt r12d, 0xd
mov eax, 0x66
mov ecx, 0x61
cmovb eax, ecx
movsd xmm0, qword [r10 + 0x10]
lea ecx, [rax - 0x20]
bt r12d, 0x1d
movsd qword [rbp - 0x70], xmm0
lea r9, [rbp + 0x3b0]
cmovae ecx, eax
lea rbx, [rbp - 0x4f]
mov rax, qword [0x140190da8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r8
mov r8d, 0x3ff
mov dword [rsp + 0x30], edx
lea rdx, [rbp - 0x4f]
mov dword [rsp + 0x28], ecx
lea rcx, [rbp - 0x70]
mov qword [rsp + 0x20], 0x15e
call fcn.14011f258
mov r10, rdi
mov edi, dword [rdi]
bt edi, 0xf
jae 0x1400f910b
lea rcx, [rbp - 0x4f]
call fcn.1400f7340
mov edi, dword [r10]
lea rax, [rbp - 0x4f]
mov r9, 0xffffffffffffffff
inc r9
cmp byte [rax + r9], 0
jne 0x1400f9116
cmp byte [rbp - 0x4f], 0x2d
jne 0x1400f9137
dec r9d
lea rbx, [rbp - 0x4e]
xor ecx, ecx
mov r14d, 1
jmp 0x1400f914c
mov ecx, 0
bt edi, 0x11
mov r14d, ecx
mov eax, 2
cmovb r14d, eax
mov eax, edi
and eax, 0x13000
cmp eax, 0x10000
jne 0x1400f931d
movzx eax, byte [rbx]
mov rdi, rbx
sub al, 0x30
cmp al, 0xa
jae 0x1400f917d
nop word [rax + rax]
movzx eax, byte [rdi + 1]
inc rdi
sub al, 0x30
cmp al, 0xa
jb 0x1400f9170
mov r10d, edi
sub r10d, ebx
mov dword [rsp + 0x68], r10d
lea r8d, [r10 + 2]
je 0x1400f91a1
mov eax, 0xaaaaaaab
mul r8d
mov r11d, edx
shr r11d, 1
dec r11d
jmp 0x1400f91a4
mov r11d, ecx
movzx r15d, byte [rsp + 0x50]
lea ecx, [r11 + r9]
movzx r13d, word [0x140188b28]
add ecx, ecx
mov r12, qword [rsp + 0x58]
test r15b, r15b
jne 0x1400f91e4
test r14d, r14d
lea eax, [rcx + 2]
cmove eax, ecx
add rax, r12
cmp qword [rbp + 0x6f8], rax
jae 0x1400f91e4
mov r8b, 1
mov byte [rsp + 0x50], r8b
jmp 0x1400f9271
mov eax, 0xaaaaaaab
mov ecx, r10d
mul r8d
shr edx, 1
lea eax, [rdx + rdx*2]
sub r8d, eax
test r15b, r15b
jne 0x1400f926d
test r14b, 1
je 0x1400f9209
mov word [rsi], 0x2d
jmp 0x1400f9214
test r14b, 2
je 0x1400f9218
mov word [rsi], 0x2b
add rsi, 2
test r10d, r10d
je 0x1400f926d
mov r10d, 1
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rbx]
dec ecx
mov word [rsi], ax
inc rbx
mov eax, r8d
add rsi, 2
dec r8d
test eax, eax
jne 0x1400f9264
test ecx, ecx
je 0x1400f9268
mov word [rsi], r13w
dec ecx
movsx eax, byte [rbx]
mov r8d, r10d
mov word [rsi + 2], ax
add rsi, 4
inc rbx
test ecx, ecx
jne 0x1400f9230
mov r10d, dword [rsp + 0x68]
movzx r8d, r15b
test r14d, r14d
je 0x1400f927a
add r12, 2
lea eax, [r11 + r10]
sub r9d, r10d
lea r12, [r12 + rax*2]
mov qword [rsp + 0x58], r12
test r8b, r8b
jne 0x1400f8c96
mov edx, r9d
mov rcx, rsi
mov r8d, r9d
and rdx, 0xfffffffffffffffc
je 0x1400f92ce
movzx eax, byte [rdi]
mov word [rcx], ax
movzx eax, byte [rdi + 1]
mov word [rcx + 2], ax
movzx eax, byte [rdi + 2]
mov word [rcx + 4], ax
movzx eax, byte [rdi + 3]
add rdi, 4
mov word [rcx + 6], ax
add rcx, 8
sub rdx, 4
jne 0x1400f92a2
mov rax, r8
and eax, 3
sub rax, 1
je 0x1400f9300
sub rax, 1
je 0x1400f92f3
cmp rax, 1
jne 0x1400f9306
movzx eax, byte [rdi]
mov word [rcx], ax
add rcx, 2
inc rdi
movzx eax, byte [rdi]
mov word [rcx], ax
add rcx, 2
inc rdi
movzx eax, byte [rdi]
mov word [rcx], ax
mov r10, qword [rsp + 0x60]
lea r12, [r12 + r9*2]
mov qword [rsp + 0x58], r12
lea rsi, [rsi + r9*2]
jmp 0x1400f97dd
test r14d, r14d
setne cl
mov rdx, rcx
bt edi, 0x12
jae 0x1400f9353
movzx r8d, word [r10 + 6]
mov edi, r9d
lea rax, [rcx + rdi]
cmp rax, r8
jae 0x1400f9353
mov edx, r8d
or r14d, 4
sub rdx, rdi
mov r11, rdx
sub r11, rcx
mov qword [rbp - 0x78], r11
jmp 0x1400f9357
mov r11, qword [rbp - 0x78]
movzx r8d, byte [rsp + 0x50]
mov r12, qword [rsp + 0x58]
test r8b, r8b
jne 0x1400f93d7
mov eax, r9d
add rax, rdx
lea rax, [r12 + rax*2]
cmp qword [rbp + 0x6f8], rax
jae 0x1400f9395
movzx r13d, word [0x140188b28]
lea r12, [r12 + rdx*2]
mov qword [rsp + 0x58], r12
mov byte [rsp + 0x50], 1
jmp 0x1400f97dd
test r14b, 1
je 0x1400f93a2
mov word [rsi], 0x2d
jmp 0x1400f93ad
test r14b, 2
je 0x1400f93b1
mov word [rsi], 0x2b
add rsi, 2
test r14b, 4
je 0x1400f93d7
test r11, r11
je 0x1400f93cd
mov edi, 0x30
mov rcx, r11
movzx eax, di
mov rdi, rsi
rep stosw word [rdi], ax
lea rsi, [rsi + r11*2]
lea r12, [r12 + rdx*2]
jmp 0x1400f93e9
lea r12, [r12 + rdx*2]
mov qword [rsp + 0x58], r12
test r8b, r8b
jne 0x1400f9471
mov edx, r9d
mov rcx, rsi
mov edi, r9d
and rdx, 0xfffffffffffffffc
je 0x1400f942c
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 0x1400f9400
mov rax, rdi
and eax, 3
sub rax, 1
je 0x1400f945e
sub rax, 1
je 0x1400f9451
cmp rax, 1
jne 0x1400f9464
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 r12, [r12 + rdi*2]
mov qword [rsp + 0x58], r12
lea rsi, [rsi + rdi*2]
movzx r13d, word [0x140188b28]
jmp 0x1400f97dd
mov rdx, qword [r10 + 0x10]
mov r14d, r8d
xorps xmm0, xmm0
test rdx, rdx
js 0x1400f9494
cvtsi2sd xmm0, rdx
jmp 0x1400f94ac
mov rax, rdx
mov rcx, rdx
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2sd xmm0, rcx
addsd xmm0, xmm0
test rdx, rdx
jne 0x1400f94f5
mov r12, qword [rsp + 0x58]
test bl, bl
jne 0x1400f94e3
lea rax, [r12 + 2]
cmp qword [rbp + 0x6f8], rax
jae 0x1400f94df
add rsi, 2
mov byte [rsp + 0x50], 1
add r12, 2
mov qword [rsp + 0x58], r12
jmp 0x1400f97dd
mov word [rsi], r11w
add rsi, 2
add r12, 2
mov qword [rsp + 0x58], r12
jmp 0x1400f97dd
bt r12d, 8
jae 0x1400f9503
movzx eax, byte [r10 + 0xa]
jmp 0x1400f9509
mov eax, dword [0x14018b710]
comisd xmm0, xmm6
jb 0x1400f9528
nop
cmp r14d, 7
jae 0x1400f9528
cmp r14d, eax
jae 0x1400f9528
mulsd xmm0, xmm7
inc r14d
comisd xmm0, xmm6
jae 0x1400f9510
test r12b, 0x40
je 0x1400f9535
movzx eax, word [r10 + 4]
jmp 0x1400f953a
mov eax, 2
movzx ecx, ax
lea r9, [rbp + 0x510]
mov eax, 0xa2
movsd qword [rbp - 0x68], xmm0
cmp ecx, eax
lea rdx, [rbp - 0x4f]
lea rbx, [rbp - 0x4f]
cmova ecx, eax
mov rax, qword [0x140190da8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r8
mov r8d, 0x3ff
mov dword [rsp + 0x30], ecx
lea rcx, [rbp - 0x68]
mov dword [rsp + 0x28], 0x66
mov qword [rsp + 0x20], 0x15e
call fcn.14011f258
lea rcx, [rbp - 0x4f]
call fcn.1400f7340
lea rax, [rbp - 0x4f]
mov r9, 0xffffffffffffffff
inc r9
cmp byte [rax + r9], 0
jne 0x1400f95a4
cmp byte [rbp - 0x4f], 0x2d
jne 0x1400f95c1
mov r15d, 1
lea rbx, [rbp - 0x4e]
dec r9d
movzx eax, byte [rbx]
mov rdi, rbx
sub al, 0x30
cmp al, 0xa
jae 0x1400f95dd
nop dword [rax]
movzx eax, byte [rdi + 1]
inc rdi
sub al, 0x30
cmp al, 0xa
jb 0x1400f95d0
mov r10d, edi
sub r10d, ebx
mov dword [rsp + 0x68], r10d
lea r8d, [r10 + 2]
je 0x1400f9601
mov eax, 0xaaaaaaab
mul r8d
mov r11d, edx
shr r11d, 1
dec r11d
jmp 0x1400f9606
xor eax, eax
mov r11d, eax
movzx r12d, byte [rsp + 0x50]
lea ecx, [r11 + r9]
movzx r13d, word [0x140188b28]
add ecx, ecx
test r12b, r12b
jne 0x1400f9646
mov rdx, qword [rsp + 0x58]
lea eax, [rcx + 2]
test r15d, r15d
cmove eax, ecx
add rax, rdx
cmp qword [rbp + 0x6f8], rax
jae 0x1400f9646
mov r8b, 1
mov byte [rsp + 0x50], r8b
jmp 0x1400f96c6
mov eax, 0xaaaaaaab
mov ecx, r10d
mul r8d
shr edx, 1
lea eax, [rdx + rdx*2]
sub r8d, eax
test r12b, r12b
jne 0x1400f96bd
test r15d, r15d
je 0x1400f966c
mov word [rsi], 0x2d
add rsi, 2
test r10d, r10d
je 0x1400f96bd
mov r10d, 1
nop word [rax + rax]
movsx eax, byte [rbx]
dec ecx
mov word [rsi], ax
inc rbx
mov eax, r8d
add rsi, 2
dec r8d
test eax, eax
jne 0x1400f96b4
test ecx, ecx
je 0x1400f96b8
mov word [rsi], r13w
dec ecx
movsx eax, byte [rbx]
mov r8d, r10d
mov word [rsi + 2], ax
add rsi, 4
inc rbx
test ecx, ecx
jne 0x1400f9680
mov r10d, dword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
movzx r8d, r12b
test r15d, r15d
je 0x1400f96cf
add rdx, 2
sub r9d, r10d
lea eax, [r11 + r10]
lea rbx, [rdx + rax*2]
test r8b, r8b
jne 0x1400f97a5
mov edx, r9d
mov rcx, rsi
mov r8d, r9d
and rdx, 0xfffffffffffffffc
je 0x1400f971e
movzx eax, byte [rdi]
mov word [rcx], ax
movzx eax, byte [rdi + 1]
mov word [rcx + 2], ax
movzx eax, byte [rdi + 2]
mov word [rcx + 4], ax
movzx eax, byte [rdi + 3]
add rdi, 4
mov word [rcx + 6], ax
add rcx, 8
sub rdx, 4
jne 0x1400f96f2
mov rax, r8
and eax, 3
sub rax, 1
je 0x1400f9750
sub rax, 1
je 0x1400f9743
cmp rax, 1
jne 0x1400f9756
movzx eax, byte [rdi]
mov word [rcx], ax
add rcx, 2
inc rdi
movzx eax, byte [rdi]
mov word [rcx], ax
add rcx, 2
inc rdi
movzx eax, byte [rdi]
mov word [rcx], ax
lea rbx, [rbx + r9*2]
mov edx, r14d
add rdx, rdx
lea rsi, [rsi + r9*2]
lea r9, [0x140000000]
lea rcx, [rbx + 2]
add rcx, qword [r9 + rdx*8 + 0x18b110]
cmp qword [rbp + 0x6f8], rcx
jae 0x1400f9787
mov byte [rsp + 0x50], 1
jmp 0x1400f97ac
mov word [rsi], 0x20
lea rcx, [rsi + 2]
mov r8, qword [r9 + rdx*8 + 0x18b110]
mov rdx, qword [r9 + rdx*8 + 0x18b118]
call fcn.1401317c0
lea r9, [0x140000000]
mov r10, qword [rsp + 0x60]
mov eax, r14d
add rax, rax
mov rcx, qword [r9 + rax*8 + 0x18b110]
lea rax, [rcx + 2]
shr rax, 1
lea r12, [rcx + 2]
add r12, rbx
mov qword [rsp + 0x58], r12
lea rsi, [rsi + rax*2]
jmp 0x1400f97dd
mov r12, qword [rsp + 0x58]
mov ecx, dword [r10]
mov r8, r12
sub r8, qword [rbp - 0x60]
test ecx, 0xc0000000
je 0x1400f9883
movzx ebx, word [r10 + 6]
add rbx, rbx
cmp r8, rbx
jae 0x1400f9883
sub rbx, r8
cmp byte [rsp + 0x50], 0
jne 0x1400f9871
lea rax, [rbx + r12]
cmp qword [rbp + 0x6f8], rax
jae 0x1400f9822
mov byte [rsp + 0x50], 1
jmp 0x1400f9871
test cl, cl
jns 0x1400f982d
movzx r15d, word [r10 + 8]
jmp 0x1400f9833
mov r15d, 0x20
mov r14, rbx
shr r14, 1
test ecx, ecx
jns 0x1400f9847
test r14, r14
je 0x1400f9871
mov rdi, rsi
jmp 0x1400f9867
mov rax, r8
mov rdi, rsi
shr rax, 1
add rax, rax
sub rdi, rax
mov rdx, rdi
lea rcx, [rdi + r14*2]
call fcn.1401317c0
test r14, r14
je 0x1400f9871
mov rcx, r14
movzx eax, r15w
rep stosw word [rdi], ax
mov rax, rbx
shr rax, 1
add r12, rbx
mov qword [rsp + 0x58], r12
lea rsi, [rsi + rax*2]
mov r15d, dword [rbp + 0x6e8]
lea r9, [0x140000000]
movzx ebx, byte [rsp + 0x50]
mov r11d, 0x30
mov r14, qword [rbp + 0x6f8]
mov rax, qword [rbp + 0x6e0]
test r15d, r15d
jne 0x1400f8a50
movaps xmm7, xmmword [rsp + 0x770]
movaps xmm6, xmmword [rsp + 0x780]
mov r13, qword [rsp + 0x7a8]
mov rdi, qword [rbp + 0x6f0]
mov r15, qword [rsp + 0x798]
lea rax, [r12 + 2]
mov r12, qword [rsp + 0x7b0]
test bl, bl
jne 0x1400f98f2
cmp r14, rax
jae 0x1400f993d
mov bl, 1
mov rcx, rax
test rdi, rdi
je 0x1400f9907
test r14, r14
je 0x1400f9907
xor eax, eax
mov word [rdi], ax
mov rax, rcx
mov rcx, qword [rbp + 0x700]
mov r14, qword [rsp + 0x7a0]
mov rdi, qword [rsp + 0x7b8]
mov rsi, qword [rsp + 0x7c0]
test rcx, rcx
je 0x1400f992e
mov qword [rcx], rax
test bl, bl
sete al
add rsp, 0x7c8
pop rbx
pop rbp
ret
xor ecx, ecx
mov word [rsi], cx
jmp 0x1400f9907