Function at 0x14007d980
Capabilities:
Get geographical location

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x3f8]
sub rsp, 0x4c0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x140155040]
xor rax, rsp
mov qword [rbp + 0x390], rax
xor r14d, r14d
mov qword [rsp + 0x78], r8
test r8, r8
mov dword [rsp + 0x48], edx
mov eax, edx
mov qword [rsp + 0x38], r9
mov rdx, qword [rbp + 0x420]
mov rsi, r8
sete r8b
mov qword [rsp + 0x60], rcx
test byte [0x140156ef0], 1
mov r13d, r14d
mov byte [rsp + 0x30], r8b
mov qword [rbp - 0x80], rdx
jne 0x14007dad1
lock bts qword [0x140156ef0], 0x1f
setb al
test al, al
jne 0x14007daa8
mov r9d, 4
lea r8, [rbp - 0x78]
mov edx, 0xe
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x14007da45
mov rax, qword [rbp - 0x78]
test ax, ax
je 0x14007da45
cmp word [rbp - 0x76], r14w
jne 0x14007da45
mov word [0x140155ea4], ax
mov r9d, 4
lea r8, [rbp - 0x78]
mov edx, 0xf
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
nop
test eax, eax
je 0x14007da7b
mov rax, qword [rbp - 0x78]
test ax, ax
je 0x14007da7b
cmp word [rbp - 0x76], r14w
jne 0x14007da7b
mov word [0x140155f38], ax
cmp word [0x140155ea4], 0x2e
je 0x14007da9a
lea rdx, [0x14010fd1c]
xor ecx, ecx
call fcn.1400d2be8
mov qword [0x140159ab8], rax
lea rcx, [0x140156ef0]
call fcn.140094940
jmp 0x14007dabd
test byte [0x140156ef0], 1
jne 0x14007dacd
lea rcx, [0x140156ef0]
call fcn.1400949c0
mov rcx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x38]
movzx r8d, byte [rsp + 0x30]
mov eax, dword [rsp + 0x48]
movsd xmm6, qword [0x1401445c0]
lea r10, [0x140000000]
movsd xmm7, qword [0x1401445b0]
mov edx, 1
mov r11d, 0x30
jmp 0x14007db0e
movzx r8d, byte [rsp + 0x30]
xor r14d, r14d
mov r9, qword [rsp + 0x38]
dec eax
mov qword [rsp + 0x40], rcx
mov rdi, rcx
mov dword [rsp + 0x48], eax
add rcx, 0x20
mov rbx, r13
mov qword [rsp + 0x60], rcx
mov r15d, r14d
mov qword [rbp - 0x78], rbx
mov r12d, dword [rdi]
mov eax, r12d
and eax, 0x3f
cmp eax, 0xd
ja case.default.0x14007db54
mov ecx, dword [r10 + rax*4 + 0x7ec1c]
add rcx, r10
jmp rcx
test r8b, r8b
jne 0x14007db7e
lea rax, ds:[r13 + 2]
cmp r9, rax
jae 0x14007db77
add rsi, 2
mov byte [rsp + 0x30], 1
add r13, 2
jmp case.default.0x14007db54
movzx eax, word [rdi + 0x10]
mov word [rsi], ax
add rsi, 2
add r13, 2
jmp case.default.0x14007db54
test r8b, r8b
jne 0x14007dbc5
mov r8, qword [rdi + 0x10]
lea rax, [r8 + r13]
cmp r9, rax
jae 0x14007dbb4
mov rax, r8
mov byte [rsp + 0x30], 1
shr rax, 1
add r13, r8
lea rsi, [rsi + rax*2]
jmp case.default.0x14007db54
mov rdx, qword ds:[rdi + 0x18]
mov rcx, rsi
call fcn.1400e6ce0
mov rax, qword [rdi + 0x10]
shr rax, 1
add r13, qword [rdi + 0x10]
lea rsi, [rsi + rax*2]
jmp case.default.0x14007db54
mov rdx, qword [rdi + 0x10]
xorps xmm1, xmm1
mov rdi, rdx
mov ecx, edx
and rdi, 0xfffffffffffffff1
and ecx, 0xf
je 0x14007dc0d
xorps xmm0, xmm0
pcmpeqw xmm0, xmmword [rdi]
pmovmskb eax, xmm0
shr eax, cl
bsf ecx, eax
je 0x14007dc09
mov edi, ecx
shr rdi, 1
jmp 0x14007dc43
add rdi, 0x10
xorps xmm0, xmm0
pcmpeqw xmm0, xmmword [rdi]
pmovmskb eax, xmm0
bsf ecx, eax
jne 0x14007dc35
nop dword [rax]
add rdi, 0x10
movdqa xmm0, xmm1
pcmpeqw xmm0, xmmword [rdi]
pmovmskb eax, xmm0
bsf ecx, eax
je 0x14007dc20
sub rdi, rdx
mov eax, ecx
sar rdi, 1
shr rax, 1
add rdi, rax
test r8b, r8b
jne 0x14007dc70
lea r8, [rdi + rdi]
lea rax, [r8 + r13]
cmp r9, rax
jae 0x14007dc68
mov byte [rsp + 0x30], 1
lea rsi, [rsi + rdi*2]
lea r13, [r13 + rdi*2]
jmp 0x14007ead7
mov rcx, rsi
call fcn.1400e6ce0
lea rsi, [rsi + rdi*2]
lea r13, [r13 + rdi*2]
jmp 0x14007ead7
nop
cmp r12d, 3
jne 0x14007dc90
mov rbx, qword [rdi + 0x18]
mov rdi, qword [rdi + 0x10]
jmp 0x14007dca9
mov rbx, qword [rdi + 0x10]
mov rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp byte [rbx + rdi], 0
jne 0x14007dca0
mov r8d, edi
lea rcx, [rsp + 0x4c]
mov rdx, rbx
call qword [sym.imp.ntdll.dll_RtlMultiByteToUnicodeSize]
nop word [rax + rax]
test eax, eax
js 0x14007e785
cmp byte [rsp + 0x30], 0
mov r12, qword [rsp + 0x38]
jne 0x14007dd0e
mov ecx, dword ds:[rsp + 0x4c]
lea rax, [rcx + r13]
cmp r12, rax
jae 0x14007dcec
mov byte [rsp + 0x30], 1
jmp 0x14007dd12
lfence
mov edx, dword [rsp + 0x4c]
mov r9, rbx
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov rcx, rsi
call qword [sym.imp.ntdll.dll_RtlMultiByteToUnicodeN]
test eax, eax
js 0x14007e78a
mov ecx, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x40]
mov rax, rcx
mov rbx, qword [rbp - 0x78]
shr rax, 1
add r13, rcx
lea rsi, [rsi + rax*2]
jmp 0x14007eae1
mov eax, dword [rdi + 0x10]
mov r15d, eax
mov r8d, eax
shr r15d, 0x1f
neg r8d
test eax, eax
cmovns r8d, eax
jmp 0x14007dd49
mov r8d, dword [rdi + 0x10]
mov r11d, 0xa
bt r12d, 8
jae 0x14007dd67
movzx eax, byte [rdi + 0xa]
cmp al, 2
jb 0x14007dd67
nop
cmp al, 0x45
ja 0x14007dd67
mov r11d, eax
bt r12d, 0x1d
lea r10, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_________._:_________
lea rax, str.0123456789abcdefghijklmnopqrstuvwxyz_________._:_________
mov ebx, r14d
cmovae r10, rax
lea r9, [rbp + 0x38e]
test r8d, r8d
je 0x14007de22
bt r12d, 0x10
jae 0x14007de00
mov edi, r14d
nop dword [rax + rax]
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 0x14007dddc
test eax, eax
je 0x14007dde4
movzx eax, word [0x140155f38]
mov word [r9], ax
sub r9, 2
inc ebx
jmp 0x14007dd98
nop dword [rax]
test eax, eax
jne 0x14007dda0
mov rdi, qword [rsp + 0x40]
mov edx, 1
mov r10d, 0x30
test r15d, r15d
je 0x14007de3b
mov r14d, edx
jmp 0x14007de44
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 0x14007de00
nop
jmp 0x14007dde9
mov r10d, 0x30
lea r9, [rbp + 0x38c]
mov word [rbp + 0x38e], r10w
mov ebx, edx
jmp 0x14007ddf4
bt r12d, 0x11
cmovb r14d, edx
mov eax, r12d
and eax, 0x50000
cmp eax, 0x40000
jne 0x14007de73
movzx ecx, word [rdi + 6]
lea eax, [r14 + rbx]
cmp eax, ecx
jae 0x14007de73
mov edx, ecx
or r15d, 4
sub edx, r14d
sub edx, ebx
mov dword [rsp + 0x58], edx
add r14d, edx
jmp 0x14007de77
mov edx, dword [rsp + 0x58]
cmp byte ds:[rsp + 0x30], 0
jne 0x14007deff
lea eax, [r14 + rbx]
lea rax, [rax*2]
add rax, r13
cmp qword [rsp + 0x38], rax
jae 0x14007deaf
lea eax, [r14 + rbx]
mov byte [rsp + 0x30], 1
lea r13, [r13 + rax*2]
jmp 0x14007ead3
test r15b, 1
je 0x14007debc
mov word [rsi], 0x2d
jmp 0x14007dec8
bt r12d, 0x11
jae 0x14007decc
mov word [rsi], 0x2b
add rsi, 2
test r15b, 4
je 0x14007dee8
test rdx, rdx
je 0x14007dee4
movzx eax, r10w
mov rdi, rsi
mov rcx, rdx
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.1400e6ce0
add rsi, rdi
lea eax, [r14 + rbx]
lea r13, [r13 + rax*2]
jmp 0x14007ead3
mov ecx, 0x10
mov rax, rdi
mov rax, qword [rax + rcx]
mov r15, rax
mov rdi, rax
shr r15, 0x3f
neg rdi
cmovs rdi, rax
jmp 0x14007df30
mov rdi, qword [rdi + 0x10]
mov r10d, 0xa
bt r12d, 8
jae 0x14007df51
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0xa]
cmp al, 2
jb 0x14007df51
cmp al, 0x45
ja 0x14007df51
mov r10d, eax
bt r12d, 0x1d
lea r11, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_________._:_________
lea rax, str.0123456789abcdefghijklmnopqrstuvwxyz_________._:_________
mov ebx, r14d
cmovae r11, rax
lea r9, [rbp + 0x38e]
test rdi, rdi
je 0x14007e02e
bt r12d, 0x10
jae 0x14007e000
mov r8d, r14d
nop word [rax + rax]
xor edx, edx
mov rax, rdi
div r10
mov rax, rdi
inc ebx
mov rcx, rdx
inc r8d
xor edx, edx
div r10
mov rdi, rax
mov eax, ecx
movsx ecx, byte [rax + r11]
mov word [r9], cx
sub r9, 2
cmp r8d, 3
jne 0x14007dfde
test rdi, rdi
je 0x14007dfe5
movzx eax, word [0x140155f38]
mov word [r9], ax
sub r9, 2
inc ebx
jmp 0x14007df82
nop
test rdi, rdi
jne 0x14007df90
mov edx, 1
mov r10d, 0x30
test r15d, r15d
je 0x14007e047
mov r14d, edx
jmp 0x14007e050
xor edx, edx
mov rax, rdi
div r10
mov rax, rdi
inc ebx
mov rcx, rdx
xor edx, edx
div r10
mov rdi, rax
mov eax, ecx
movsx ecx, byte [rax + r11]
mov word [r9], cx
sub r9, 2
test rdi, rdi
jne 0x14007e000
jmp 0x14007dfe5
mov r10d, 0x30
lea r9, [rbp + 0x38c]
mov word [rbp + 0x38e], r10w
mov ebx, edx
jmp 0x14007dff0
bt r12d, 0x11
cmovb r14d, edx
mov eax, r12d
and eax, 0x50000
cmp eax, 0x40000
jne 0x14007e084
mov rax, qword [rsp + 0x40]
movzx ecx, word [rax + 6]
lea eax, [r14 + rbx]
cmp eax, ecx
jae 0x14007e084
mov edx, ecx
or r15d, 4
sub edx, r14d
sub edx, ebx
mov dword [rsp + 0x5c], edx
add r14d, edx
jmp 0x14007e088
mov edx, dword [rsp + 0x5c]
cmp byte [rsp + 0x30], 0
jne 0x14007deff
lea eax, [r14 + rbx]
lea rax, [rax*2]
add rax, r13
cmp qword [rsp + 0x38], rax
jae 0x14007e0bc
lea eax, [r14 + rbx]
mov byte [rsp + 0x30], 1
lea r13, [r13 + rax*2]
jmp 0x14007ead3
nop dword [rax]
test r15b, 1
je 0x14007e0cd
mov word [rsi], 0x2d
jmp 0x14007e0d9
bt r12d, 0x11
jae 0x14007e0dd
mov word [rsi], 0x2b
add rsi, 2
nop dword [rax]
test r15b, 4
je 0x14007e0fc
test rdx, rdx
je 0x14007e0f8
movzx eax, r10w
mov rdi, rsi
mov rcx, rdx
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.1400e6ce0
lea eax, ds:[r14 + rbx]
add rsi, rdi
lea r13, [r13 + rax*2]
jmp 0x14007ead3
test r12b, 0x40
je 0x14007e13f
movzx r8d, word [rdi + 4]
mov eax, 0xa2
cmp r8d, eax
jbe 0x14007e145
mov r8d, eax
jmp 0x14007e145
mov r8d, 6
movss xmm0, dword [rdi + 0x10]
lea r9, [rbp - 0x6f]
mov edx, r12d
lea rbx, [rbp - 0x6f]
call fcn.1400b9440
test al, al
jne 0x14007e163
mov byte [rbp - 0x6f], al
jmp 0x14007e1b7
mov rdx, qword [0x140159ab8]
test rdx, rdx
je 0x14007e19a
movzx eax, byte [rbp - 0x6f]
lea rcx, [rbp - 0x6f]
test al, al
je 0x14007e19a
nop dword [rax + rax]
cmp al, 0x2e
je 0x14007e191
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x14007e180
jmp 0x14007e19a
movzx eax, byte [0x140155ea4]
mov byte [rcx], al
bt r12d, 0x1d
jae 0x14007e1b7
lea rcx, [rbp - 0x6f]
test rdx, rdx
je 0x14007e1b2
call fcn.1400d221c
jmp 0x14007e1b7
call fcn.1400d21bc
mov r9d, dword ds:[rdi]
bt r9d, 0xf
jae 0x14007e251
movzx eax, byte [rbp - 0x6f]
lea rcx, [rbp - 0x6f]
movzx r8d, byte [0x140155ea4]
test al, al
je 0x14007e1f0
nop word [rax + rax]
cmp al, r8b
je 0x14007e1f0
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x14007e1e0
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14007e251
movzx eax, byte ds:[rcx]
test al, al
je 0x14007e215
sub al, 0x45
test al, 0xdf
je 0x14007e215
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x14007e204
movzx eax, byte ds:[rcx - 1]
mov rdi, rcx
dec rcx
cmp al, 0x30
jne 0x14007e22f
movzx eax, byte [rcx - 1]
dec rcx
cmp al, 0x30
je 0x14007e224
cmp al, r8b
lea rdx, [rcx - 1]
cmovne rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdi]
lea rdx, [rdx + 1]
mov byte [rdx], al
lea rdi, [rdi + 1]
test al, al
jne 0x14007e240
lea rax, [rbp - 0x6f]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14007e260
cmp byte [rbp - 0x6f], 0x2d
mov r15d, 1
jne 0x14007e282
mov r14d, r15d
lea rbx, [rbp - 0x6e]
dec r8d
jmp 0x14007e290
bt r9d, 0x11
mov eax, 2
cmovb r14d, eax
mov eax, r9d
and eax, 0x13000
cmp eax, 0x10000
jne 0x14007e3dc
movzx eax, byte [rbx]
mov r9, rbx
sub al, 0x30
cmp al, 0xa
jae 0x14007e2ce
nop word [rax + rax]
movzx eax, byte [r9 + 1]
inc r9
sub al, 0x30
cmp al, 0xa
jb 0x14007e2c0
mov r10d, r9d
sub r10d, ebx
lea edi, [r10 + 2]
je 0x14007e2ec
mov eax, 0xaaaaaaab
mul edi
mov r11d, edx
shr r11d, 1
dec r11d
jmp 0x14007e2f1
xor eax, eax
mov r11d, eax
movzx r12d, byte [rsp + 0x30]
lea eax, [r11 + r8]
add eax, eax
test r14d, r14d
lea ecx, [rax + 2]
cmove ecx, eax
test r12b, r12b
jne 0x14007e322
mov eax, ecx
add rax, r13
cmp qword [rsp + 0x38], rax
jae 0x14007e322
mov r12b, 1
mov byte [rsp + 0x30], r12b
jmp 0x14007e39c
mov eax, 0xaaaaaaab
mov ecx, r10d
mul edi
shr edx, 1
lea eax, [rdx + rdx*2]
sub edi, eax
test r12b, r12b
jne 0x14007e39c
test r14b, 1
je 0x14007e345
mov word [rsi], 0x2d
jmp 0x14007e350
test r14b, 2
je 0x14007e354
mov word [rsi], 0x2b
add rsi, 2
test r10d, r10d
je 0x14007e39c
nop dword [rax]
movsx eax, byte [rbx]
dec ecx
mov word [rsi], ax
inc rbx
mov eax, edi
add rsi, 2
dec edi
test eax, eax
jne 0x14007e398
test ecx, ecx
je 0x14007e39c
movzx eax, word [0x140155f38]
dec ecx
mov word [rsi], ax
mov edi, r15d
movsx eax, byte [rbx]
mov word [rsi + 2], ax
add rsi, 4
inc rbx
test ecx, ecx
jne 0x14007e360
nop dword [rax]
test r14d, r14d
je 0x14007e3a9
add r13, 2
sub r8d, r10d
lea eax, [r11 + r10]
lea r13, [r13 + rax*2]
test r12b, r12b
jne 0x14007ead3
mov rcx, r9
mov edi, r8d
mov r8, rsi
mov edx, edi
call fcn.140062120
lea rsi, [rsi + rdi*2]
lea r13, [r13 + rdi*2]
jmp 0x14007ead3
xor eax, eax
test r14d, r14d
mov ecx, eax
setne cl
mov rdx, rcx
bt r9d, 0x12
jae 0x14007e41d
mov rax, qword [rsp + 0x40]
mov edi, r8d
movzx r9d, word [rax + 6]
lea rax, [rdi + rcx]
cmp rax, r9
jae 0x14007e41d
mov edx, r9d
or r14d, 4
sub rdx, rdi
mov r9, rdx
sub r9, rcx
mov qword [rsp + 0x68], r9
jmp 0x14007e422
mov r9, qword [rsp + 0x68]
movzx r12d, byte [rsp + 0x30]
test r12b, r12b
jne 0x14007e4a5
mov eax, r8d
add rax, rdx
lea rax, [rax*2]
add rax, r13
cmp qword [rsp + 0x38], rax
jae 0x14007e456
lea r13, [r13 + rdx*2]
mov byte [rsp + 0x30], 1
jmp 0x14007ead3
test r14b, 1
je 0x14007e463
mov word [rsi], 0x2d
jmp 0x14007e46e
test r14b, 2
je 0x14007e472
mov word [rsi], 0x2b
add rsi, 2
test r14b, 4
je 0x14007e4a5
test r9, r9
je 0x14007e490
mov r10d, 0x30
mov rdi, rsi
movzx eax, r10w
mov rcx, r9
rep stosw word [rdi], ax
lea rsi, ds:[rsi + r9*2]
mov rcx, rbx
lea r13, [r13 + rdx*2]
jmp 0x14007e3c1
lea r13, [r13 + rdx*2]
test r12b, r12b
jne 0x14007e785
mov rcx, rbx
jmp 0x14007e3c1
nop dword [rax + rax]
test r12b, 0x40
je 0x14007e4da
movzx r8d, word [rdi + 4]
mov eax, 0xa2
cmp r8d, eax
jbe 0x14007e4e0
mov r8d, eax
jmp 0x14007e4e0
mov r8d, 6
movsd xmm0, qword [rdi + 0x10]
lea r9, [rbp - 0x6f]
mov edx, r12d
lea rbx, [rbp - 0x6f]
call fcn.1400b96c0
test al, al
jne 0x14007e4fe
mov byte [rbp - 0x6f], al
jmp 0x14007e551
mov rdx, qword [0x140159ab8]
test rdx, rdx
je 0x14007e530
movzx eax, byte [rbp - 0x6f]
lea rcx, [rbp - 0x6f]
test al, al
je 0x14007e530
cmp al, 0x2e
je 0x14007e527
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x14007e516
jmp 0x14007e530
movzx eax, byte [0x140155ea4]
mov byte [rcx], al
bt r12d, 0x1d
jae 0x14007e551
lea rcx, ds:[rbp - 0x6f]
test rdx, rdx
je 0x14007e54c
call fcn.1400d221c
jmp 0x14007e551
call fcn.1400d21bc
mov r9d, dword [rdi]
bt r9d, 0xf
jae 0x14007e5e4
movzx eax, byte [rbp - 0x6f]
lea rcx, [rbp - 0x6f]
movzx r8d, byte [0x140155ea4]
test al, al
je 0x14007e584
cmp al, r8b
je 0x14007e584
movzx eax, byte ds:[rcx + 1]
inc rcx
test al, al
jne 0x14007e573
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14007e5e4
movzx eax, byte [rcx]
test al, al
je 0x14007e5a6
sub al, 0x45
test al, 0xdf
je 0x14007e5a6
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x14007e595
movzx eax, byte [rcx - 1]
mov rdi, rcx
dec rcx
cmp al, 0x30
jne 0x14007e5bf
movzx eax, byte [rcx - 1]
dec rcx
cmp al, 0x30
je 0x14007e5b4
cmp al, r8b
lea rdx, [rcx - 1]
cmovne rdx, rcx
nop word [rax + rax]
movzx eax, byte ds:[rdi]
lea rdx, [rdx + 1]
mov byte [rdx], al
lea rdi, [rdi + 1]
test al, al
jne 0x14007e5d0
lea rax, [rbp - 0x6f]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x14007e5f0
cmp byte [rbp - 0x6f], 0x2d
mov r15d, 1
jne 0x14007e612
mov r14d, r15d
lea rbx, [rbp - 0x6e]
dec r8d
jmp 0x14007e620
bt r9d, 0x11
mov eax, 2
cmovb r14d, eax
mov eax, r9d
and eax, 0x13000
cmp eax, 0x10000
jne 0x14007e735
movzx eax, byte [rbx]
mov r9, rbx
sub al, 0x30
cmp al, 0xa
jae 0x14007e64e
nop
movzx eax, byte [r9 + 1]
inc r9
sub al, 0x30
cmp al, 0xa
jb 0x14007e640
mov r10d, r9d
sub r10d, ebx
lea edi, [r10 + 2]
je 0x14007e66c
mov eax, 0xaaaaaaab
mul edi
mov r11d, edx
shr r11d, 1
dec r11d
jmp 0x14007e671
xor eax, eax
mov r11d, eax
movzx r12d, byte [rsp + 0x30]
lea eax, [r11 + r8]
add eax, eax
test r14d, r14d
lea ecx, [rax + 2]
cmove ecx, eax
test r12b, r12b
jne 0x14007e6a5
mov eax, ecx
add rax, r13
cmp qword [rsp + 0x38], rax
jae 0x14007e6a5
mov r12b, 1
mov byte [rsp + 0x30], r12b
jmp 0x14007e39c
mov eax, 0xaaaaaaab
mov ecx, r10d
mul edi
shr edx, 1
lea eax, [rdx + rdx*2]
sub edi, eax
test r12b, r12b
jne 0x14007e39c
nop
test r14b, 1
je 0x14007e6cd
mov word [rsi], 0x2d
jmp 0x14007e6d8
test r14b, 2
je 0x14007e6dc
mov word [rsi], 0x2b
add rsi, 2
nop dword [rax]
test r10d, r10d
je 0x14007e39c
nop dword [rax]
movsx eax, byte [rbx]
dec ecx
mov word [rsi], ax
inc rbx
mov eax, edi
add rsi, 2
dec edi
test eax, eax
jne 0x14007e72c
test ecx, ecx
je 0x14007e39c
movzx eax, word [0x140155f38]
dec ecx
mov word [rsi], ax
mov edi, r15d
movsx eax, byte [rbx]
mov word [rsi + 2], ax
add rsi, 4
inc rbx
test ecx, ecx
jne 0x14007e6f0
jmp 0x14007e39c
xor eax, eax
test r14d, r14d
mov ecx, eax
setne cl
mov rdx, rcx
bt r9d, 0x12
jae 0x14007e779
mov rax, qword [rsp + 0x40]
mov edi, r8d
movzx r9d, word [rax + 6]
lea rax, [rdi + rcx]
cmp rax, r9
jae 0x14007e779
mov edx, r9d
or r14d, 4
sub rdx, rdi
mov r9, rdx
sub r9, rcx
mov qword [rsp + 0x70], r9
jmp 0x14007e422
mov r9, qword ds:[rsp + 0x70]
jmp 0x14007e422
mov r12, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rbp - 0x78]
jmp 0x14007eae1
mov rdx, qword ds:[rdi + 0x10]
xorps xmm0, xmm0
test rdx, rdx
js 0x14007e7ac
cvtsi2sd xmm0, rdx
jmp 0x14007e7c4
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 0x14007e7fa
test r8b, r8b
jne 0x14007e7ed
lea rax, [r13 + 2]
cmp r9, rax
jae 0x14007e7e9
add rsi, 2
mov byte [rsp + 0x30], 1
add r13, 2
jmp case.default.0x14007db54
mov word [rsi], r11w
add rsi, 2
add r13, 2
jmp case.default.0x14007db54
bt r12d, 8
jae 0x14007e808
movzx eax, byte [rdi + 0xa]
jmp 0x14007e80e
mov eax, dword [0x140157b3c]
comisd xmm0, xmm6
jb 0x14007e82c
cmp r14d, 7
jae 0x14007e82c
cmp r14d, eax
jae 0x14007e82c
mulsd xmm0, xmm7
inc r14d
comisd xmm0, xmm6
jae 0x14007e814
test r12b, 0x40
je 0x14007e838
movzx eax, word [rdi + 4]
jmp 0x14007e83d
mov eax, 2
movzx r8d, ax
lea r9, [rbp - 0x6f]
mov eax, 0xa2
lea rbx, [rbp - 0x6f]
xor r12d, r12d
mov edx, 0x1804c
cmp r8d, eax
mov r15d, r12d
cmova r8d, eax
call fcn.1400b96c0
movzx r8d, word [0x140155ea4]
test al, al
jne 0x14007e878
xor dl, dl
mov byte [rbp - 0x6f], dl
jmp 0x14007e8a9
cmp qword [0x140159ab8], r12
movzx edx, byte [rbp - 0x6f]
je 0x14007e8a9
lea rcx, [rbp - 0x6f]
test dl, dl
je 0x14007e8a9
movzx eax, dl
cmp al, 0x2e
je 0x14007e8a2
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x14007e890
nop
jmp 0x14007e8a9
mov byte [rcx], r8b
movzx edx, byte [rbp - 0x6f]
lea rcx, [rbp - 0x6f]
test dl, dl
je 0x14007e8c4
movzx eax, dl
cmp al, r8b
je 0x14007e8c4
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x14007e8b4
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14007e928
movzx eax, byte [rcx]
test al, al
je 0x14007e8e6
sub al, 0x45
test al, 0xdf
je 0x14007e8e6
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x14007e8d5
movzx eax, byte [rcx - 1]
mov rdi, rcx
dec rcx
cmp al, 0x30
jne 0x14007e8ff
movzx eax, byte [rcx - 1]
dec rcx
cmp al, 0x30
je 0x14007e8f4
cmp al, r8b
lea rdx, [rcx - 1]
cmovne rdx, rcx
nop word [rax + rax]
movzx eax, byte ds:[rdi]
lea rdx, [rdx + 1]
mov byte [rdx], al
lea rdi, [rdi + 1]
test al, al
jne 0x14007e910
movzx edx, byte [rbp - 0x6f]
lea rax, [rbp - 0x6f]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r12b
jne 0x14007e933
nop dword [rax]
cmp dl, 0x2d
jne 0x14007e952
mov r15d, 1
lea rbx, [rbp - 0x6e]
dec r8d
movzx eax, byte [rbx]
mov r9, rbx
sub al, 0x30
cmp al, 0xa
jae 0x14007e96e
nop
movzx eax, byte [r9 + 1]
inc r9
sub al, 0x30
cmp al, 0xa
jb 0x14007e960
mov r10d, r9d
sub r10d, ebx
lea edi, [r10 + 2]
je 0x14007e98c
mov eax, 0xaaaaaaab
mul edi
mov r11d, edx
shr r11d, 1
dec r11d
jmp 0x14007e98f
mov r11d, r12d
movzx r12d, byte [rsp + 0x30]
lea eax, [r11 + r8]
add eax, eax
test r15d, r15d
lea ecx, [rax + 2]
cmove ecx, eax
test r12b, r12b
jne 0x14007e9bf
mov eax, ecx
add rax, r13
cmp qword [rsp + 0x38], rax
jae 0x14007e9bf
mov r12b, 1
mov byte [rsp + 0x30], r12b
jmp 0x14007ea2e
mov eax, 0xaaaaaaab
mov ecx, r10d
mul edi
shr edx, 1
lea eax, [rdx + rdx*2]
sub edi, eax
test r12b, r12b
jne 0x14007ea2e
test r15d, r15d
je 0x14007e9e3
mov word [rsi], 0x2d
add rsi, 2
test r10d, r10d
je 0x14007ea2e
nop dword [rax + rax]
movsx eax, byte [rbx]
dec ecx
mov word [rsi], ax
inc rbx
mov eax, edi
add rsi, 2
dec edi
test eax, eax
jne 0x14007ea2a
test ecx, ecx
je 0x14007ea2e
movzx eax, word [0x140155f38]
dec ecx
mov word [rsi], ax
mov edi, 1
movsx eax, byte [rbx]
mov word [rsi + 2], ax
add rsi, 4
inc rbx
test ecx, ecx
jne 0x14007e9f0
test r15d, r15d
je 0x14007ea37
add r13, 2
lea eax, [r11 + r10]
sub r8d, r10d
lea rbx, [rax*2]
add rbx, r13
test r12b, r12b
jne 0x14007eaac
mov edi, r8d
mov rcx, r9
mov edx, edi
mov r8, rsi
call fcn.140062120
mov edx, r14d
lea rbx, [rbx + rdi*2]
add rdx, rdx
lea r10, [0x140000000]
lea rcx, [rbx + 2]
lea rsi, [rsi + rdi*2]
add rcx, qword [r10 + rdx*8 + 0x156f00]
cmp qword [rsp + 0x38], rcx
jae 0x14007ea8e
mov byte [rsp + 0x30], 1
jmp 0x14007eab3
mov word [rsi], 0x20
lea rcx, [rsi + 2]
mov r8, qword [r10 + rdx*8 + 0x156f00]
mov rdx, qword [r10 + rdx*8 + 0x156f08]
call fcn.1400e6ce0
lea r10, [0x140000000]
mov eax, r14d
lea r13, [rbx + 2]
add rax, rax
mov rcx, qword [r10 + rax*8 + 0x156f00]
lea rax, [rcx + 2]
shr rax, 1
add r13, rcx
lea rsi, [rsi + rax*2]
mov rbx, qword [rbp - 0x78]
mov rdi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov ecx, dword [rdi]
mov r8, r13
sub r8, rbx
test ecx, 0xc0000000
je 0x14007eb84
movzx ebx, word ds:[rdi + 6]
add rbx, rbx
cmp r8, rbx
jae 0x14007eb84
sub rbx, r8
cmp byte [rsp + 0x30], 0
jne 0x14007eb77
lea rax, [rbx + r13]
cmp r12, rax
jae 0x14007eb1f
mov byte [rsp + 0x30], 1
jmp 0x14007eb77
nop
test cl, cl
jns 0x14007eb2b
movzx r15d, word [rdi + 8]
jmp 0x14007eb31
mov r15d, 0x20
mov r14, rbx
shr r14, 1
test ecx, ecx
jns 0x14007eb4a
nop dword [rax + rax]
test r14, r14
je 0x14007eb77
mov rdi, rsi
jmp 0x14007eb6d
lfence
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.1400e6ce0
test r14, r14
je 0x14007eb77
mov rcx, r14
movzx eax, r15w
rep stosw word [rdi], ax
mov rax, rbx
shr rax, 1
add r13, rbx
lea rsi, [rsi + rax*2]
mov eax, dword ds:[rsp + 0x48]
lea r10, [0x140000000]
mov rcx, qword [rsp + 0x60]
mov edx, 1
mov r11d, 0x30
test eax, eax
jne 0x14007db00
movzx ecx, byte [rsp + 0x30]
test cl, cl
jne 0x14007ebbd
lea rax, [r13 + 2]
cmp r12, rax
jae 0x14007ec15
movzx ecx, dl
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x14007ebcc
xor edx, edx
mov word [rax], dx
mov rdx, qword [rbp - 0x80]
test rdx, rdx
je 0x14007ebdc
lea rax, [r13 + 2]
mov qword [rdx], rax
test cl, cl
sete al
mov rcx, qword [rbp + 0x390]
xor rcx, rsp
call fcn.1400c6a20
lea r11, [rsp + 0x4c0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor eax, eax
mov word [rsi], ax
jmp 0x14007ebcc