Function at 0x1400f73e0
Capabilities:
Get geographical location

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x6a8]
sub rsp, 0x7a8
mov r15d, 0x1e
mov edi, edx
mov rdx, qword [0x140191180]
cmp r8, r15
mov rsi, rcx
cmovae r15, r8
mov qword [rsp + 0x60], r15
lea rcx, [r15 + 0x12]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObject
xor r9d, r9d
mov qword [rsp + 0x50], rax
mov r8, rax
mov qword [rsp + 0x58], r9
mov r14d, r9d
mov qword [rax], r15
add rax, 0x10
mov qword [r8 + 8], rax
mov word [r15 + rax], r9w
test byte [0x14018b0f8], 1
mov rbx, qword [r8 + 8]
jne 0x1400f7524
lock bts qword [0x14018b0f8], 0x1f
setb al
test al, al
jne 0x1400f7505
mov r9d, 4
lea r8, [rsp + 0x78]
mov edx, 0xe
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x1400f74a0
mov rax, qword [rsp + 0x78]
test ax, ax
je 0x1400f74a0
cmp word [rsp + 0x7a], r14w
jne 0x1400f74a0
mov word [0x140188178], ax
mov r9d, 4
lea r8, [rsp + 0x78]
mov edx, 0xf
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x1400f74d8
mov rax, qword [rsp + 0x78]
test ax, ax
je 0x1400f74d8
cmp word [rsp + 0x7a], r14w
jne 0x1400f74d8
mov word [0x140188b28], ax
cmp word [0x140188178], 0x2e
je 0x1400f74f7
lea rdx, [0x140161226]
xor ecx, ecx
call fcn.14011d4f8
mov qword [0x140190da8], rax
lea rcx, [0x14018b0f8]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhfSetEvent
jmp 0x1400f751c
test byte [0x14018b0f8], 1
jne 0x1400f7524
xor edx, edx
lea rcx, [0x14018b0f8]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhfWaitForEvent
mov r8, qword [rsp + 0x50]
xor r9d, r9d
test edi, edi
je 0x1400f8878
mov qword [rsp + 0x7a0], r12
lea r8, [0x140000000]
mov qword [rsp + 0x798], r13
mov edx, 1
movaps xmmword [rsp + 0x780], xmm6
mov r10d, 0xa2
movsd xmm6, qword [0x14016ae88]
movaps xmmword [rsp + 0x770], xmm7
movsd xmm7, qword [0x14016ae38]
jmp 0x1400f7573
xor r9d, r9d
mov r13, rsi
mov qword [rsp + 0x70], rsi
dec edi
mov qword [rbp - 0x60], r14
add rsi, 0x20
mov dword [rbp + 0x6e8], edi
mov qword [rbp + 0x6e0], rsi
mov r12d, r9d
mov r11d, dword [r13]
mov eax, r11d
and eax, 0x3f
cmp eax, 0xc
ja case.default.0x1400f75b5
cdqe
mov ecx, dword [r8 + rax*4 + 0xf889c]
add rcx, r8
jmp rcx
lea rsi, [r14 + 2]
cmp r15, rsi
jae 0x1400f7638
mov rdx, qword [0x140191180]
lea rax, [r15 + r15]
cmp rax, rsi
mov rbx, rsi
cmovae rbx, rax
mov qword [rsp + 0x60], rbx
lea rcx, [rbx + 0x12]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObject
xor edx, edx
mov r8, r14
mov rdi, rax
mov qword [rax], rbx
lea rcx, [rax + 0x10]
mov qword [rax + 8], rcx
mov word [rbx + rcx], dx
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rax + 8]
mov rdx, qword [rbx + 8]
call fcn.1401317c0
lea rcx, [rbx - 0x10]
mov edx, 0xffffffff
lock xadd dword [rcx + 8], edx
cmp edx, 1
jne 0x1400f7628
call fcn.1400d9400
mov rax, qword [rdi + 8]
shr r14, 1
mov qword [rsp + 0x50], rdi
lea rbx, [rax + r14*2]
movzx eax, word [r13 + 0x10]
mov r14, rsi
mov word [rbx], ax
add rbx, 2
mov qword [rsp + 0x58], rsi
jmp case.default.0x1400f75b5
mov rcx, qword [r13 + 0x10]
add rcx, r14
cmp r15, rcx
jae 0x1400f76d8
mov rdx, qword [0x140191180]
lea rax, [r15 + r15]
cmp rax, rcx
mov rbx, rcx
cmovae rbx, rax
mov qword [rsp + 0x60], rbx
lea rcx, [rbx + 0x12]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObject
xor edx, edx
mov r8, r14
mov rdi, rax
mov qword [rax], rbx
lea rcx, [rax + 0x10]
mov qword [rax + 8], rcx
mov word [rbx + rcx], dx
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rax + 8]
mov rdx, qword [rbx + 8]
call fcn.1401317c0
lea rcx, [rbx - 0x10]
mov edx, 0xffffffff
lock xadd dword [rcx + 8], edx
cmp edx, 1
jne 0x1400f76c5
call fcn.1400d9400
mov rax, qword [rdi + 8]
mov rcx, r14
shr rcx, 1
mov qword [rsp + 0x50], rdi
lea rbx, [rax + rcx*2]
mov r8, qword [r13 + 0x10]
mov rcx, rbx
mov rdx, qword [r13 + 0x18]
call fcn.1401317c0
mov rax, qword [r13 + 0x10]
shr rax, 1
add r14, qword [r13 + 0x10]
jmp 0x1400f86fa
cmp byte [0x14018dbaa], 1
mov rdi, qword [r13 + 0x10]
jb 0x1400f778b
mov rdx, rdi
mov ecx, edi
and rdx, 0xfffffffffffffff1
xorps xmm1, xmm1
and ecx, 0xf
je 0x1400f773d
xorps xmm0, xmm0
pcmpeqw xmm0, xmmword [rdx]
pmovmskb eax, xmm0
sar eax, cl
bsf ecx, eax
mov dword [rbp + 0x6f0], ecx
je 0x1400f7739
mov edx, ecx
shr rdx, 1
jmp 0x1400f779c
add rdx, 0x10
xorps xmm0, xmm0
pcmpeqw xmm0, xmmword [rdx]
pmovmskb eax, xmm0
bsf ecx, eax
mov dword [rbp + 0x6f0], ecx
jne 0x1400f777b
nop dword [rax]
nop word [rax + rax]
add rdx, 0x10
movdqa xmm0, xmm1
pcmpeqw xmm0, xmmword [rdx]
pmovmskb eax, xmm0
bsf ecx, eax
mov dword [rbp + 0x6f0], ecx
je 0x1400f7760
sub rdx, rdi
mov eax, ecx
sar rdx, 1
shr rax, 1
add rdx, rax
jmp 0x1400f779c
mov rdx, 0xffffffffffffffff
inc rdx
cmp word [rdi + rdx*2], 0
jne 0x1400f7792
lea rdi, [rdx + rdx]
lea rsi, [rdi + r14]
cmp r15, rsi
jae 0x1400f781e
mov rdx, qword [0x140191180]
lea rax, [r15 + r15]
cmp rax, rsi
mov r15, rsi
cmovae r15, rax
mov qword [rsp + 0x60], r15
lea rcx, [r15 + 0x12]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObject
xor edx, edx
mov r8, r14
mov rbx, rax
mov qword [rax], r15
lea rcx, [rax + 0x10]
mov qword [rax + 8], rcx
mov word [r15 + rcx], dx
mov r15, qword [rsp + 0x50]
mov rcx, qword [rax + 8]
mov rdx, qword [r15 + 8]
call fcn.1401317c0
lea rcx, [r15 - 0x10]
mov edx, 0xffffffff
lock xadd dword [rcx + 8], edx
cmp edx, 1
jne 0x1400f780e
call fcn.1400d9400
mov rax, qword [rbx + 8]
shr r14, 1
mov qword [rsp + 0x50], rbx
lea rbx, [rax + r14*2]
mov rdx, qword [r13 + 0x10]
mov r8, rdi
mov rcx, rbx
call fcn.1401317c0
shr rdi, 1
mov r14, rsi
mov qword [rsp + 0x58], rsi
lea rbx, [rbx + rdi*2]
jmp case.default.0x1400f75b5
cmp r11d, 3
jne 0x1400f7851
mov rsi, qword [r13 + 0x18]
mov rdi, qword [r13 + 0x10]
jmp 0x1400f7869
mov rsi, qword [r13 + 0x10]
mov rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp byte [rsi + rdi], 0
jne 0x1400f7860
mov r8d, edi
lea rcx, [rbp + 0x6f8]
mov rdx, rsi
call qword [sym.imp.ntdll.dll_RtlMultiByteToUnicodeSize]
test eax, eax
js case.default.0x1400f75b5
mov edx, dword [rbp + 0x6f8]
lea rcx, [r14 + rdx]
cmp r15, rcx
jae 0x1400f7911
mov rdx, qword [0x140191180]
lea rax, [r15 + r15]
cmp rax, rcx
mov r15, rcx
cmovae r15, rax
mov qword [rsp + 0x60], r15
lea rcx, [r15 + 0x12]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObject
xor edx, edx
mov r8, r14
mov rbx, rax
mov qword [rax], r15
lea rcx, [rax + 0x10]
mov qword [rax + 8], rcx
mov word [rcx + r15], dx
mov r15, qword [rsp + 0x50]
mov rcx, qword [rax + 8]
mov rdx, qword [r15 + 8]
call fcn.1401317c0
lea rcx, [r15 - 0x10]
mov edx, 0xffffffff
lock xadd dword [rcx + 8], edx
cmp edx, 1
jne 0x1400f78f8
call fcn.1400d9400
mov rax, qword [rbx + 8]
mov rcx, r14
mov edx, dword [rbp + 0x6f8]
shr rcx, 1
mov qword [rsp + 0x50], rbx
lea rbx, [rax + rcx*2]
mov r9, rsi
mov dword [rsp + 0x20], edi
xor r8d, r8d
mov rcx, rbx
call qword [sym.imp.ntdll.dll_RtlMultiByteToUnicodeN]
test eax, eax
js case.default.0x1400f75b5
mov ecx, dword [rbp + 0x6f8]
mov eax, ecx
shr rax, 1
add r14, rcx
jmp 0x1400f86fa
mov eax, dword [r13 + 0x10]
mov r12d, eax
mov r8d, eax
shr r12d, 0x1f
neg r8d
test eax, eax
cmovns r8d, eax
jmp 0x1400f795c
mov r8d, dword [r13 + 0x10]
mov r10d, 0xa
bt r11d, 8
jae 0x1400f7979
movzx eax, byte [r13 + 0xa]
cmp al, 2
jb 0x1400f7979
cmp al, 0x45
ja 0x1400f7979
mov r10d, eax
bt r11d, 0x1d
lea r9, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_________._:_________
lea rax, str.0123456789abcdefghijklmnopqrstuvwxyz_________._:_________
cmovae r9, rax
lea rsi, [rbp + 0x3ae]
xor r15d, r15d
mov r14d, r15d
test r8d, r8d
je 0x1400f7a20
bt r11d, 0x10
jae 0x1400f7a00
mov edi, r15d
nop dword [rax]
xor edx, edx
mov eax, r8d
div r10d
inc r14d
inc edi
mov r8d, eax
movsx ecx, byte [rdx + r9]
mov word [rsi], cx
sub rsi, 2
cmp edi, 3
jne 0x1400f79e8
test eax, eax
je 0x1400f79ec
movzx eax, word [0x140188b28]
mov word [rsi], ax
sub rsi, 2
inc r14d
jmp 0x1400f79a9
test eax, eax
jne 0x1400f79b0
mov edx, 1
test r12d, r12d
je 0x1400f7a38
mov ecx, edx
jmp 0x1400f7a43
xor edx, edx
mov eax, r8d
div r10d
inc r14d
mov r8d, eax
movsx ecx, byte [rdx + r9]
mov word [rsi], cx
sub rsi, 2
test eax, eax
jne 0x1400f7a00
jmp 0x1400f79ec
mov eax, 0x30
lea rsi, [rbp + 0x3ac]
mov word [rbp + 0x3ae], ax
mov r14d, edx
jmp 0x1400f79f1
bt r11d, 0x11
mov ecx, r15d
cmovb ecx, edx
and r11d, 0x50000
cmp r11d, 0x40000
jne 0x1400f7a70
movzx edx, word [r13 + 6]
lea eax, [rcx + r14]
cmp eax, edx
jae 0x1400f7a70
mov eax, edx
or r12d, 4
sub eax, ecx
sub eax, r14d
mov dword [rbp - 0x80], eax
add ecx, eax
mov r13, qword [rsp + 0x58]
lea eax, [rcx + r14]
lea r15, [rax*2]
mov rax, qword [rsp + 0x60]
add r15, r13
cmp rax, r15
jae 0x1400f7b01
mov rdx, qword [0x140191180]
add rax, rax
cmp rax, r15
mov rbx, r15
cmovae rbx, rax
mov qword [rsp + 0x60], rbx
lea rcx, [rbx + 0x12]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObject
xor edx, edx
mov r8, r13
mov rdi, rax
mov qword [rax], rbx
lea rcx, [rax + 0x10]
mov qword [rax + 8], rcx
mov word [rbx + rcx], dx
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rax + 8]
mov rdx, qword [rbx + 8]
call fcn.1401317c0
lea rcx, [rbx - 0x10]
mov edx, 0xffffffff
lock xadd dword [rcx + 8], edx
cmp edx, 1
jne 0x1400f7af1
call fcn.1400d9400
mov rax, qword [rdi + 8]
shr r13, 1
mov qword [rsp + 0x50], rdi
lea rbx, [rax + r13*2]
mov r13, qword [rsp + 0x70]
test r12b, 1
je 0x1400f7b13
mov word [rbx], 0x2d
jmp 0x1400f7b22
test dword [r13], 0x20000
je 0x1400f7b26
mov word [rbx], 0x2b
add rbx, 2
test r12b, 4
je 0x1400f7b49
mov edx, dword [rbp - 0x80]
test rdx, rdx
je 0x1400f7b45
mov eax, 0x30
mov rdi, rbx
movzx eax, ax
mov rcx, rdx
rep stosw word [rdi], ax
lea rbx, [rbx + rdx*2]
mov edi, r14d
lea rdx, [rsi + 2]
add rdi, rdi
mov rcx, rbx
mov r8, rdi
call fcn.1401317c0
add rbx, rdi
mov qword [rsp + 0x58], r15
mov r14, r15
jmp case.default.0x1400f75b5
mov ecx, 0x10
mov rax, r13
mov rax, qword [rcx + rax]
mov r12, rax
mov rdi, rax
shr r12, 0x3f
neg rdi
cmovs rdi, rax
jmp 0x1400f7b91
mov rdi, qword [r13 + 0x10]
mov r9d, 0xa
bt r11d, 8
jae 0x1400f7bae
movzx eax, byte [r13 + 0xa]
cmp al, 2
jb 0x1400f7bae
cmp al, 0x45
ja 0x1400f7bae
mov r9d, eax
bt r11d, 0x1d
lea r10, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_________._:_________
lea rax, str.0123456789abcdefghijklmnopqrstuvwxyz_________._:_________
cmovae r10, rax
lea rsi, [rbp + 0x3ae]
xor r15d, r15d
mov r14d, r15d
test rdi, rdi
je 0x1400f7c7e
bt r11d, 0x10
jae 0x1400f7c50
mov r8d, r15d
nop word [rax + rax]
xor edx, edx
mov rax, rdi
div r9
mov rax, rdi
inc r14d
mov rcx, rdx
inc r8d
xor edx, edx
div r9
mov rdi, rax
mov eax, ecx
movsx ecx, byte [rax + r10]
mov word [rsi], cx
sub rsi, 2
cmp r8d, 3
jne 0x1400f7c38
test rdi, rdi
je 0x1400f7c3d
movzx eax, word [0x140188b28]
mov word [rsi], ax
sub rsi, 2
inc r14d
jmp 0x1400f7be2
test rdi, rdi
jne 0x1400f7bf0
mov edx, 1
test r12d, r12d
je 0x1400f7c96
mov ecx, edx
jmp 0x1400f7ca1
xor edx, edx
mov rax, rdi
div r9
mov rax, rdi
inc r14d
mov rcx, rdx
xor edx, edx
div r9
mov rdi, rax
mov eax, ecx
movsx ecx, byte [rax + r10]
mov word [rsi], cx
sub rsi, 2
test rdi, rdi
jne 0x1400f7c50
jmp 0x1400f7c3d
mov eax, 0x30
lea rsi, [rbp + 0x3ac]
mov word [rbp + 0x3ae], ax
mov r14d, edx
jmp 0x1400f7c42
bt r11d, 0x11
mov ecx, r15d
cmovb ecx, edx
and r11d, 0x50000
cmp r11d, 0x40000
jne 0x1400f7cce
movzx edx, word [r13 + 6]
lea eax, [rcx + r14]
cmp eax, edx
jae 0x1400f7cce
mov eax, edx
or r12d, 4
sub eax, ecx
sub eax, r14d
mov dword [rbp - 0x7c], eax
add ecx, eax
mov r13, qword [rsp + 0x58]
lea eax, [rcx + r14]
lea r15, [rax*2]
mov rax, qword [rsp + 0x60]
add r15, r13
cmp rax, r15
jae 0x1400f7d5f
mov rdx, qword [0x140191180]
add rax, rax
cmp rax, r15
mov rbx, r15
cmovae rbx, rax
mov qword [rsp + 0x60], rbx
lea rcx, [rbx + 0x12]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObject
xor edx, edx
mov r8, r13
mov rdi, rax
mov qword [rax], rbx
lea rcx, [rax + 0x10]
mov qword [rax + 8], rcx
mov word [rcx + rbx], dx
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rax + 8]
mov rdx, qword [rbx + 8]
call fcn.1401317c0
lea rcx, [rbx - 0x10]
mov edx, 0xffffffff
lock xadd dword [rcx + 8], edx
cmp edx, 1
jne 0x1400f7d4f
call fcn.1400d9400
mov rax, qword [rdi + 8]
shr r13, 1
mov qword [rsp + 0x50], rdi
lea rbx, [rax + r13*2]
mov r13, qword [rsp + 0x70]
test r12b, 1
je 0x1400f7d71
mov word [rbx], 0x2d
jmp 0x1400f7d80
test dword [r13], 0x20000
je 0x1400f7d84
mov word [rbx], 0x2b
add rbx, 2
test r12b, 4
je 0x1400f7b49
mov edx, dword [rbp - 0x7c]
jmp 0x1400f7b2f
test r11b, 0x40
je 0x1400f7dab
movzx edx, word [r13 + 4]
cmp edx, r10d
jbe 0x1400f7db0
mov edx, r10d
jmp 0x1400f7db0
mov edx, 6
bt r11d, 0xc
jae 0x1400f7dbe
mov eax, 0x65
jmp 0x1400f7dd0
bt r11d, 0xd
mov eax, 0x66
mov ecx, 0x61
cmovb eax, ecx
movsd xmm0, qword [r13 + 0x10]
lea ecx, [rax - 0x20]
bt r11d, 0x1d
movsd qword [rbp - 0x78], xmm0
mov r8d, 0x3ff
lea rsi, [rbp - 0x4f]
cmovae ecx, eax
mov rax, qword [0x140190da8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r9
lea r9, [rbp + 0x3b0]
mov dword [rsp + 0x30], edx
lea rdx, [rbp - 0x4f]
mov dword [rsp + 0x28], ecx
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x20], 0x15e
call fcn.14011f258
mov edx, dword [r13]
bt edx, 0xf
jae 0x1400f7e3d
lea rcx, [rbp - 0x4f]
call fcn.1400f7340
mov edx, dword [r13]
lea rax, [rbp - 0x4f]
mov r15, 0xffffffffffffffff
nop dword [rax + rax]
inc r15
cmp byte [rax + r15], 0
jne 0x1400f7e50
cmp byte [rbp - 0x4f], 0x2d
jne 0x1400f7e71
dec r15d
lea rsi, [rbp - 0x4e]
xor ecx, ecx
mov r8d, 1
jmp 0x1400f7e86
mov ecx, 0
bt edx, 0x11
mov r8d, ecx
mov eax, 2
cmovb r8d, eax
mov eax, edx
mov dword [rbp + 0x6f0], r8d
and eax, 0x13000
cmp eax, 0x10000
jne 0x1400f80b6
movzx eax, byte [rsi]
mov rdi, rsi
sub al, 0x30
cmp al, 0xa
jae 0x1400f7ebd
nop dword [rax + rax]
movzx eax, byte [rdi + 1]
inc rdi
sub al, 0x30
cmp al, 0xa
jb 0x1400f7eb0
mov r13d, edi
sub r13d, esi
lea r14d, [r13 + 2]
je 0x1400f7edc
mov eax, 0xaaaaaaab
mul r14d
mov r12d, edx
shr r12d, 1
dec r12d
jmp 0x1400f7edf
mov r12d, ecx
lea ecx, [r12 + r15]
add ecx, ecx
test r8d, r8d
lea eax, [rcx + 2]
cmove eax, ecx
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, qword [rsp + 0x60]
cmp rax, rcx
jae 0x1400f7f8f
add rax, rax
mov rdx, rcx
cmp rax, rcx
cmovae rdx, rax
mov qword [rsp + 0x60], rdx
lea rcx, [rdx + 0x12]
mov rdx, qword [0x140191180]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObject
mov r8, qword [rsp + 0x58]
mov rbx, rax
mov rax, qword [rsp + 0x60]
lea rcx, [rbx + 0x10]
xor edx, edx
mov qword [rbx + 8], rcx
mov qword [rbx], rax
mov word [rcx + rax], dx
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rbx + 8]
mov rdx, qword [rdx + 8]
call fcn.1401317c0
mov rcx, qword [rsp + 0x50]
mov edx, 0xffffffff
add rcx, 0xfffffffffffffff0
lock xadd dword [rcx + 8], edx
cmp edx, 1
jne 0x1400f7f73
call fcn.1400d9400
mov rcx, qword [rsp + 0x58]
mov rax, qword [rbx + 8]
mov r8d, dword [rbp + 0x6f0]
shr rcx, 1
mov qword [rsp + 0x50], rbx
lea rbx, [rax + rcx*2]
mov eax, 0xaaaaaaab
mov ecx, r13d
mul r14d
shr edx, 1
lea eax, [rdx + rdx*2]
sub r14d, eax
test r8b, 1
je 0x1400f7faf
mov word [rbx], 0x2d
jmp 0x1400f7fba
test r8b, 2
je 0x1400f7fbe
mov word [rbx], 0x2b
add rbx, 2
test r13d, r13d
je 0x1400f8011
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rsi]
dec ecx
mov word [rbx], ax
inc rsi
mov eax, r14d
add rbx, 2
dec r14d
test eax, eax
jne 0x1400f800d
test ecx, ecx
je 0x1400f8011
movzx eax, word [0x140188b28]
dec ecx
mov word [rbx], ax
mov r14d, 1
movsx eax, byte [rsi]
mov word [rbx + 2], ax
add rbx, 4
inc rsi
test ecx, ecx
jne 0x1400f7fd0
mov r14, qword [rsp + 0x58]
test r8d, r8d
je 0x1400f801f
add r14, 2
sub r15d, r13d
lea eax, [r12 + r13]
mov edx, r15d
lea r14, [r14 + rax*2]
mov r8d, r15d
mov rcx, rbx
and rdx, 0xfffffffffffffffc
je 0x1400f806c
nop dword [rax]
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 0x1400f8040
mov rax, r8
and eax, 3
sub rax, 1
je 0x1400f809e
sub rax, 1
je 0x1400f8091
cmp rax, 1
jne 0x1400f80a4
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 r13, qword [rsp + 0x70]
lea rbx, [rbx + r15*2]
lea r14, [r14 + r15*2]
jmp 0x1400f86fe
test r8d, r8d
setne cl
mov r14, rcx
bt edx, 0x12
jae 0x1400f80f1
movzx edi, word [r13 + 6]
mov edx, r15d
lea rax, [rdx + rcx]
cmp rax, rdi
jae 0x1400f80f1
or r8d, 4
mov r14d, edi
sub r14, rdx
mov dword [rbp + 0x6f0], r8d
mov rax, r14
sub rax, rcx
mov qword [rbp - 0x70], rax
mov r12, qword [rsp + 0x58]
mov r15d, r15d
lea rax, [r15 + r14]
lea rcx, [r12 + rax*2]
mov rax, qword [rsp + 0x60]
cmp rax, rcx
jae 0x1400f8188
mov rdx, qword [0x140191180]
add rax, rax
cmp rax, rcx
mov rbx, rcx
cmovae rbx, rax
mov qword [rsp + 0x60], rbx
lea rcx, [rbx + 0x12]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObject
xor edx, edx
mov r8, r12
mov rdi, rax
mov qword [rax], rbx
lea rcx, [rax + 0x10]
mov qword [rax + 8], rcx
mov word [rcx + rbx], dx
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rax + 8]
mov rdx, qword [rbx + 8]
call fcn.1401317c0
lea rcx, [rbx - 0x10]
mov edx, 0xffffffff
lock xadd dword [rcx + 8], edx
cmp edx, 1
jne 0x1400f816e
call fcn.1400d9400
mov rax, qword [rdi + 8]
mov rcx, r12
mov r8d, dword [rbp + 0x6f0]
shr rcx, 1
mov qword [rsp + 0x50], rdi
lea rbx, [rax + rcx*2]
test r8b, 1
je 0x1400f8195
mov word [rbx], 0x2d
jmp 0x1400f81a0
test r8b, 2
je 0x1400f81a4
mov word [rbx], 0x2b
add rbx, 2
test r8b, 4
je 0x1400f81c8
mov rdx, qword [rbp - 0x70]
test rdx, rdx
je 0x1400f81c4
mov eax, 0x30
mov rdi, rbx
movzx eax, ax
mov rcx, rdx
rep stosw word [rdi], ax
lea rbx, [rbx + rdx*2]
mov rdx, r15
lea r12, [r12 + r14*2]
mov qword [rsp + 0x58], r12
mov rcx, rbx
and rdx, 0xfffffffffffffffc
je 0x1400f820c
nop dword [rax]
movzx eax, byte [rsi]
mov word [rcx], ax
movzx eax, byte [rsi + 1]
mov word [rcx + 2], ax
movzx eax, byte [rsi + 2]
mov word [rcx + 4], ax
movzx eax, byte [rsi + 3]
add rsi, 4
mov word [rcx + 6], ax
add rcx, 8
sub rdx, 4
jne 0x1400f81e0
mov rax, r15
and eax, 3
sub rax, 1
je 0x1400f823e
sub rax, 1
je 0x1400f8231
cmp rax, 1
jne 0x1400f8244
movzx eax, byte [rsi]
mov word [rcx], ax
add rcx, 2
inc rsi
movzx eax, byte [rsi]
mov word [rcx], ax
add rcx, 2
inc rsi
movzx eax, byte [rsi]
mov word [rcx], ax
lea rax, [r15 + r15]
mov r14, r12
add r14, rax
lea rbx, [rbx + r15*2]
jmp 0x1400f86fe
mov rdx, qword [r13 + 0x10]
mov r15d, r9d
xorps xmm0, xmm0
test rdx, rdx
js 0x1400f826d
cvtsi2sd xmm0, rdx
jmp 0x1400f8285
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 0x1400f8327
mov r15, qword [rsp + 0x60]
lea rsi, [r14 + 2]
cmp r15, rsi
jae 0x1400f8311
mov rdx, qword [0x140191180]
lea rax, [r15 + r15]
cmp rax, rsi
mov r15, rsi
cmovae r15, rax
mov qword [rsp + 0x60], r15
lea rcx, [r15 + 0x12]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObject
mov rbx, qword [rsp + 0x50]
xor edx, edx
mov r8, r14
mov rdi, rax
lea rcx, [rax + 0x10]
mov qword [rax], r15
mov qword [rax + 8], rcx
mov word [rcx + r15], dx
mov rdx, qword [rbx + 8]
mov rcx, qword [rax + 8]
call fcn.1401317c0
lea rcx, [rbx - 0x10]
mov edx, 0xffffffff
lock xadd dword [rcx + 8], edx
cmp edx, 1
jne 0x1400f8301
call fcn.1400d9400
mov rax, qword [rdi + 8]
shr r14, 1
mov qword [rsp + 0x50], rdi
lea rbx, [rax + r14*2]
mov word [rbx], 0x30
mov r14, rsi
add rbx, 2
mov qword [rsp + 0x58], rsi
jmp case.default.0x1400f75b5
bt r11d, 8
jae 0x1400f8335
movzx eax, byte [r13 + 0xa]
jmp 0x1400f833b
mov eax, dword [0x14018b710]
comisd xmm0, xmm6
jb 0x1400f8359
cmp r15d, 7
jae 0x1400f8359
cmp r15d, eax
jae 0x1400f8359
mulsd xmm0, xmm7
inc r15d
comisd xmm0, xmm6
jae 0x1400f8341
test r11b, 0x40
je 0x1400f8366
movzx eax, word [r13 + 4]
jmp 0x1400f836b
mov eax, 2
movzx ecx, ax
lea rdx, [rbp - 0x4f]
mov rax, qword [0x140190da8]
lea rsi, [rbp - 0x4f]
mov qword [rsp + 0x40], rax
cmp ecx, r10d
mov qword [rsp + 0x38], r9
mov r8d, 0x3ff
cmova ecx, r10d
mov dword [rbp + 0x6f0], r9d
mov dword [rsp + 0x30], ecx
lea r9, [rbp + 0x510]
mov dword [rsp + 0x28], 0x66
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x20], 0x15e
movsd qword [rbp - 0x68], xmm0
call fcn.14011f258
lea rcx, [rbp - 0x4f]
call fcn.1400f7340
lea rax, [rbp - 0x4f]
mov r12, 0xffffffffffffffff
nop dword [rax]
inc r12
cmp byte [rax + r12], 0
jne 0x1400f83e0
cmp byte [rbp - 0x4f], 0x2d
jne 0x1400f8406
mov r9d, 1
lea rsi, [rbp - 0x4e]
mov dword [rbp + 0x6f0], r9d
dec r12d
jmp 0x1400f840d
mov r9d, dword [rbp + 0x6f0]
movzx eax, byte [rsi]
mov rdi, rsi
sub al, 0x30
cmp al, 0xa
jae 0x1400f842d
nop dword [rax]
movzx eax, byte [rdi + 1]
inc rdi
sub al, 0x30
cmp al, 0xa
jb 0x1400f8420
mov r13d, edi
sub r13d, esi
lea r14d, [r13 + 2]
je 0x1400f844c
mov eax, 0xaaaaaaab
mul r14d
mov r8d, edx
shr r8d, 1
dec r8d
jmp 0x1400f8451
xor eax, eax
mov r8d, eax
mov r10, qword [rsp + 0x58]
lea ecx, [r8 + r12]
add ecx, ecx
mov dword [rsp + 0x68], r8d
test r9d, r9d
lea eax, [rcx + 2]
cmove eax, ecx
mov ecx, eax
mov rax, qword [rsp + 0x60]
add rcx, r10
cmp rax, rcx
jae 0x1400f8510
add rax, rax
mov rdx, rcx
cmp rax, rcx
cmovae rdx, rax
mov qword [rsp + 0x60], rdx
lea rcx, [rdx + 0x12]
mov rdx, qword [0x140191180]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObject
mov r8, qword [rsp + 0x58]
mov rbx, rax
mov rax, qword [rsp + 0x60]
lea rcx, [rbx + 0x10]
xor edx, edx
mov qword [rbx], rax
mov qword [rbx + 8], rcx
mov word [rcx + rax], dx
mov rax, qword [rsp + 0x50]
mov rcx, qword [rbx + 8]
mov rdx, qword [rax + 8]
call fcn.1401317c0
mov rcx, qword [rsp + 0x50]
mov edx, 0xffffffff
add rcx, 0xfffffffffffffff0
lock xadd dword [rcx + 8], edx
cmp edx, 1
jne 0x1400f84ec
call fcn.1400d9400
mov r10, qword [rsp + 0x58]
mov rax, qword [rbx + 8]
mov rcx, r10
mov r8d, dword [rsp + 0x68]
mov r9d, dword [rbp + 0x6f0]
shr rcx, 1
mov qword [rsp + 0x50], rbx
lea rbx, [rax + rcx*2]
mov eax, 0xaaaaaaab
mov ecx, r13d
mul r14d
shr edx, 1
lea eax, [rdx + rdx*2]
sub r14d, eax
test r9d, r9d
je 0x1400f8531
mov word [rbx], 0x2d
add rbx, 2
test r13d, r13d
je 0x1400f8581
nop word [rax + rax]
movsx eax, byte [rsi]
dec ecx
mov word [rbx], ax
inc rsi
mov eax, r14d
add rbx, 2
dec r14d
test eax, eax
jne 0x1400f857d
test ecx, ecx
je 0x1400f8581
movzx eax, word [0x140188b28]
dec ecx
mov word [rbx], ax
mov r14d, 1
movsx eax, byte [rsi]
mov word [rbx + 2], ax
add rbx, 4
inc rsi
test ecx, ecx
jne 0x1400f8540
test r9d, r9d
je 0x1400f858a
add r10, 2
sub r12d, r13d
lea eax, [r8 + r13]
mov edx, r12d
lea r9, [r10 + rax*2]
mov r8d, r12d
mov rcx, rbx
and rdx, 0xfffffffffffffffc
je 0x1400f85dc
nop dword [rax]
nop dword [rax + rax]
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 0x1400f85b0
mov rax, r8
and eax, 3
sub rax, 1
je 0x1400f860e
sub rax, 1
je 0x1400f8601
cmp rax, 1
jne 0x1400f8614
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 rsi, [r12 + r12]
mov edi, r15d
mov r15, qword [rsp + 0x60]
lea rbx, [rbx + r12*2]
add rsi, r9
lea r12, [0x140000000]
add rdi, rdi
lea rax, [rsi + 2]
mov rcx, qword [r12 + rdi*8 + 0x18b110]
add rax, rcx
cmp r15, rax
jae 0x1400f86c1
mov rdx, qword [0x140191180]
lea rax, [r15 + r15]
lea r15, [rcx + 2]
add r15, rsi
cmp rax, r15
cmovae r15, rax
mov qword [rsp + 0x60], r15
lea rcx, [r15 + 0x12]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObject
mov r14, qword [rsp + 0x50]
mov rbx, rax
mov r8, rsi
lea rcx, [rax + 0x10]
mov qword [rax], r15
mov qword [rax + 8], rcx
xor eax, eax
mov word [r15 + rcx], ax
mov rdx, qword [r14 + 8]
mov rcx, qword [rbx + 8]
call fcn.1401317c0
lea rcx, [r14 - 0x10]
mov edx, 0xffffffff
lock xadd dword [rcx + 8], edx
cmp edx, 1
jne 0x1400f86ae
call fcn.1400d9400
mov rax, qword [rbx + 8]
mov rcx, rsi
shr rcx, 1
mov qword [rsp + 0x50], rbx
lea rbx, [rax + rcx*2]
mov word [rbx], 0x20
lea rcx, [rbx + 2]
mov r8, qword [r12 + rdi*8 + 0x18b110]
mov rdx, qword [r12 + rdi*8 + 0x18b118]
call fcn.1401317c0
mov rcx, qword [r12 + rdi*8 + 0x18b110]
mov r13, qword [rsp + 0x70]
lea rax, [rcx + 2]
shr rax, 1
lea r14, [rcx + 2]
add r14, rsi
lea rbx, [rbx + rax*2]
mov qword [rsp + 0x58], r14
mov rdi, r14
sub rdi, qword [rbp - 0x60]
test dword [r13], 0xc0000000
je 0x1400f8827
movzx esi, word [r13 + 6]
add rsi, rsi
cmp rdi, rsi
jae 0x1400f8827
mov rax, qword [rsp + 0x60]
sub rsi, rdi
lea r13, [rsi + r14]
cmp rax, r13
jae 0x1400f87ae
mov rdx, qword [0x140191180]
add rax, rax
cmp rax, r13
mov r15, r13
cmovae r15, rax
mov qword [rsp + 0x60], r15
lea rcx, [r15 + 0x12]
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObject
mov rbx, rax
mov r8, r14
mov qword [rax], r15
lea rcx, [rax + 0x10]
mov qword [rax + 8], rcx
xor eax, eax
mov word [r15 + rcx], ax
mov r15, qword [rsp + 0x50]
mov rcx, qword [rbx + 8]
mov rdx, qword [r15 + 8]
call fcn.1401317c0
lea rcx, [r15 - 0x10]
mov edx, 0xffffffff
lock xadd dword [rcx + 8], edx
cmp edx, 1
jne 0x1400f879e
call fcn.1400d9400
mov rax, qword [rbx + 8]
shr r14, 1
mov qword [rsp + 0x50], rbx
lea rbx, [rax + r14*2]
mov r12, qword [rsp + 0x70]
mov eax, dword [r12]
test al, al
jns 0x1400f87c3
movzx r12d, word [r12 + 8]
jmp 0x1400f87c9
mov r12d, 0x20
shr rsi, 1
test eax, eax
jns 0x1400f87e8
test rsi, rsi
je 0x1400f87e2
movzx eax, r12w
mov rdi, rbx
mov rcx, rsi
rep stosw word [rdi], ax
lea r14, [rsi + rsi]
jmp 0x1400f881c
mov rax, rdi
lea r14, [rsi + rsi]
shr rax, 1
mov r15, rbx
add rax, rax
mov r8, rdi
sub r15, rax
mov rdx, r15
lea rcx, [r15 + r14]
call fcn.1401317c0
test rsi, rsi
je 0x1400f881c
movzx eax, r12w
mov rdi, r15
mov rcx, rsi
rep stosw word [rdi], ax
add rbx, r14
mov qword [rsp + 0x58], r13
mov r14, r13
mov edi, dword [rbp + 0x6e8]
lea r8, [0x140000000]
mov r15, qword [rsp + 0x60]
mov edx, 1
mov rsi, qword [rbp + 0x6e0]
mov r10d, 0xa2
test edi, edi
jne 0x1400f7570
movaps xmm7, xmmword [rsp + 0x770]
movaps xmm6, xmmword [rsp + 0x780]
mov r13, qword [rsp + 0x798]
mov r12, qword [rsp + 0x7a0]
mov r8, qword [rsp + 0x50]
mov rcx, qword [r8 + 8]
mov qword [r8], r14
shr r14, 1
xor eax, eax
mov word [rcx + r14*2], ax
mov rax, r8
add rsp, 0x7a8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret