Function at 0x14005cca0
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x310
mov rax, qword [0x1401f22c8]
xor rax, rsp
mov qword [rsp + 0x300], rax
mov rax, qword [rcx]
xor ebp, ebp
mov dword [rsp + 0x78], r8d
mov rbx, rbp
mov qword [rsp + 0x80], rdx
mov rdi, rcx
cmp byte [rax], bl
mov rsi, rbp
jne 0x14005ccf3
mov rbx, 0xfffffffffffffffe
mov qword [rdx], rbp
mov qword [rdx + 8], rbx
jmp 0x14005ea9a
lea rdx, str.today
call fcn.140160070
test eax, eax
je 0x14005cde3
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [rsp + 0x68]
movzx r11d, word [rsp + 0x6e]
cmp eax, 0x786b
movzx ebx, word [rsp + 0x6a]
mov dword [rsp + 0x44], r11d
mov dword [rsp + 0x4c], eax
jg 0x14005cdd0
movzx r8d, word [rsp + 0x4c]
xor eax, eax
add ebx, 0xffffffff
cmp ebx, 0xc
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
movzx eax, r11w
mov word [rsp + 0x36], ax
jl 0x14005cd73
mov eax, 0x2aaaaaab
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
add r8d, edx
imul edx, edx, 0xfffffff4
add ebx, edx
jmp 0x14005cdb4
test ebx, ebx
jns 0x14005cdb4
lea ecx, [rbx + 1]
mov eax, 0x2aaaaaab
imul ecx
or rcx, 0xffffffffffffffff
sar edx, 1
sub ecx, ebx
mov ebx, reloc.WS2_32.dll_inet_addr
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x2aaaaaab
lea r8d, [r8 + rdx - 1]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 2
sub ecx, eax
sub ebx, ecx
add bx, 1
mov word [rsp + 0x30], r8w
lea rcx, [rsp + 0x30]
mov word [rsp + 0x32], bx
call fcn.1400c9280
mov rsi, rax
movabs rax, 0xc92a69bfff
lea rbx, [rsi + rax]
jmp 0x14005ea2a
lea rdx, str.yesterday
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005cee6
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [rsp + 0x68]
movzx r11d, word [rsp + 0x6e]
cmp eax, 0x786b
movzx ebx, word [rsp + 0x6a]
mov dword [rsp + 0x44], r11d
mov dword [rsp + 0x4c], eax
jle 0x14005ce2d
mov rax, rbp
jmp 0x14005cec5
movzx r8d, word [rsp + 0x4c]
xor eax, eax
add ebx, 0xffffffff
cmp ebx, 0xc
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
movzx eax, word [rsp + 0x44]
mov word [rsp + 0x36], ax
jl 0x14005ce6b
mov eax, 0x2aaaaaab
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
add r8d, edx
imul edx, edx, 0xfffffff4
add ebx, edx
jmp 0x14005ceac
test ebx, ebx
jns 0x14005ceac
lea ecx, [rbx + 1]
mov eax, 0x2aaaaaab
imul ecx
or rcx, 0xffffffffffffffff
sar edx, 1
sub ecx, ebx
mov ebx, reloc.WS2_32.dll_inet_addr
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x2aaaaaab
lea r8d, [r8 + rdx - 1]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 2
sub ecx, eax
sub ebx, ecx
add bx, 1
lea rcx, [rsp + 0x30]
mov word [rsp + 0x30], r8w
mov word [rsp + 0x32], bx
call fcn.1400c9280
movabs rcx, 0xffffff36d5964000
lea rsi, [rax + rcx]
movabs rax, 0xc92a69bfff
lea rbx, [rsi + rax]
jmp 0x14005ea2a
lea rdx, str.tomorrow
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005cf54
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [rsp + 0x32]
movzx r11d, word [rsp + 0x36]
mov dword [rsp + 0x48], eax
movzx eax, word [rsp + 0x30]
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x4c], eax
movzx eax, word [rsp + 0x34]
mov dword [rsp + 0x44], r11d
mov dword [rsp + 0x40], eax
call fcn.14005cbe0
movabs rsi, 0xc92a69c000
add rsi, rax
movabs rax, 0xc92a69bfff
lea rbx, [rsi + rax]
jmp 0x14005ea2a
lea rdx, str.unknown
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005cf76
or rax, 0xffffffffffffffff
mov rsi, rax
mov rbx, rax
jmp 0x14005ea2a
lea rdx, str.prev
mov rcx, rdi
mov dword [rsp + 0x60], ebp
mov dword [rsp + 0x50], ebp
call fcn.140160070
test eax, eax
je 0x14005cf9e
mov dword [rsp + 0x60], 0xffffffff
jmp 0x14005d03f
lea rdx, str.last
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005cfbe
mov dword [rsp + 0x60], 0xffffffff
jmp 0x14005d03f
lea rdx, str.past
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005cfdb
mov dword [rsp + 0x60], 0xffffffff
jmp 0x14005d03f
lea rdx, str.next
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005cff8
mov dword [rsp + 0x60], 1
jmp 0x14005d03f
lea rdx, str.coming
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005d015
mov dword [rsp + 0x60], 1
jmp 0x14005d03f
lea rdx, str.this
mov rcx, rdi
call fcn.140160070
test eax, eax
jne 0x14005d03f
lea rdx, str.current
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005d503
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x50], 1
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
mov r11, qword [rdi]
movzx eax, byte [r11]
cmp al, 0x30
jb 0x14005d3a9
cmp al, 0x39
ja 0x14005d3a9
movzx eax, al
add r11, 1
sub eax, 0x30
movsxd rbp, eax
movzx eax, byte [r11]
test al, al
mov qword [rsp + 0x58], rbp
je 0x14005d0ad
cmp al, 0x30
jb 0x14005d0a8
cmp al, 0x39
ja 0x14005d0a8
movzx eax, al
add r11, 1
sub eax, 0x30
movsxd rcx, eax
lea rax, [rbp + rbp*4]
lea rbp, [rcx + rax*2]
mov al, byte [r11]
test al, al
jne 0x14005d083
mov qword [rsp + 0x58], rbp
lea rdx, str.seconds
mov rcx, rdi
mov qword [rdi], r11
call fcn.140160070
test eax, eax
jne 0x14005d361
lea rdx, str.secs
mov rcx, rdi
call fcn.140160070
test eax, eax
jne 0x14005d361
lea rdx, str.minutes
mov rcx, rdi
call fcn.140160070
test eax, eax
jne 0x14005d319
lea rdx, str.mins
mov rcx, rdi
call fcn.140160070
test eax, eax
jne 0x14005d319
lea rdx, str.hours
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005d180
lea rcx, [rsp + 0x40]
call fcn.1400c9280
cmp dword [rsp + 0x60], ebx
mov rsi, rax
jg 0x14005d156
movabs rbp, 0x861c46800
mov rax, qword [rsp + 0x58]
mov rbx, 0xfffffffffffffffe
imul rax, rbp
sub rsi, rax
xor ebp, ebp
jmp 0x14005ea2a
lea rcx, [rsp + 0x40]
call fcn.1400c9280
movabs rbp, 0x861c46800
mov rbx, rax
mov rax, qword [rsp + 0x58]
imul rax, rbp
add rbx, rax
xor ebp, ebp
jmp 0x14005ea2a
lea rdx, str.weeks
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005d1ea
lea rcx, [rsp + 0x40]
call fcn.1400c9280
cmp dword [rsp + 0x60], ebx
mov rsi, rax
jg 0x14005d1c5
movabs rax, 0x58028e44000
mov rbx, 0xfffffffffffffffe
imul rbp, rax
sub rsi, rbp
xor ebp, ebp
jmp 0x14005ea2a
lea rcx, [rsp + 0x40]
call fcn.1400c9280
mov rbx, rax
movabs rax, 0x58028e44000
imul rbp, rax
add rbx, rbp
xor ebp, ebp
jmp 0x14005ea2a
lea rdx, str.months
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005d25c
cmp dword [rsp + 0x60], ebx
lea rcx, [rsp + 0x40]
jg 0x14005d22f
movzx edx, word [rsp + 0x42]
mov rbx, 0xfffffffffffffffe
sub edx, ebp
call fcn.140056db0
lea rcx, [rsp + 0x40]
call fcn.1400c9280
xor ebp, ebp
mov rsi, rax
jmp 0x14005ea2a
call fcn.1400c9280
movzx edx, word [rsp + 0x42]
lea rcx, [rsp + 0x40]
add edx, ebp
mov rsi, rax
call fcn.140056db0
lea rcx, [rsp + 0x40]
call fcn.1400c9280
xor ebp, ebp
mov rbx, rax
jmp 0x14005ea2a
lea rdx, str.years
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005d2b6
cmp dword [rsp + 0x60], ebx
lea rcx, [rsp + 0x40]
jg 0x14005d295
sub word [rsp + 0x40], bp
mov rbx, 0xfffffffffffffffe
call fcn.1400c9280
mov rsi, rax
xor ebp, ebp
jmp 0x14005ea2a
call fcn.1400c9280
add word [rsp + 0x40], bp
lea rcx, [rsp + 0x40]
mov rsi, rax
call fcn.1400c9280
xor ebp, ebp
mov rbx, rax
jmp 0x14005ea2a
lea rdx, str.days
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005d501
lea rcx, [rsp + 0x40]
call fcn.1400c9280
cmp dword [rsp + 0x60], ebx
mov rsi, rax
jg 0x14005d2ef
movabs rbp, 0xc92a69c000
jmp 0x14005d13c
lea rcx, [rsp + 0x40]
call fcn.1400c9280
movabs rbp, 0xc92a69c000
mov rbx, rax
mov rax, qword [rsp + 0x58]
imul rax, rbp
add rbx, rax
xor ebp, ebp
jmp 0x14005ea2a
lea rcx, [rsp + 0x40]
call fcn.1400c9280
cmp dword [rsp + 0x60], ebx
mov rsi, rax
jg 0x14005d344
imul rbp, rbp, 0x23c34600
mov rbx, 0xfffffffffffffffe
sub rsi, rbp
xor ebp, ebp
jmp 0x14005ea2a
lea rcx, [rsp + 0x40]
call fcn.1400c9280
imul rbp, rbp, 0x23c34600
lea rbx, [rbp + rax]
xor ebp, ebp
jmp 0x14005ea2a
lea rcx, [rsp + 0x40]
call fcn.1400c9280
cmp dword [rsp + 0x60], ebx
mov rsi, rax
jg 0x14005d38c
imul rbp, rbp, 0x989680
mov rbx, 0xfffffffffffffffe
sub rsi, rbp
xor ebp, ebp
jmp 0x14005ea2a
lea rcx, [rsp + 0x40]
call fcn.1400c9280
imul rbp, rbp, 0x989680
lea rbx, [rbp + rax]
xor ebp, ebp
jmp 0x14005ea2a
lea rdx, str.week
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005d472
lea r8, [rsp + 0x58]
mov r9d, 2
mov edx, 0x100c
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x14005d3f8
mov eax, dword [rsp + 0x58]
lea ecx, [rax - 0x30]
cmp cx, 6
ja 0x14005d3f8
movzx ebx, ax
sub ebx, 0x2f
cmp ebx, 7
cmove ebx, ebp
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [rsp + 0x32]
movzx ebp, word [rsp + 0x34]
movzx r11d, word [rsp + 0x36]
mov dword [rsp + 0x70], eax
movzx eax, word [rsp + 0x30]
mov dword [rsp + 0x68], ebp
sub ebp, ebx
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x6c], r11d
jns 0x14005d430
add ebp, 7
lea rcx, [rsp + 0x68]
call fcn.14005cbe0
movsxd rcx, dword [rsp + 0x60]
mov rsi, rax
movsxd rax, ebp
movabs rbp, 0xc92a69c000
imul rcx, rcx, 7
sub rcx, rax
movabs rax, 0x58028e43fff
imul rcx, rbp
add rsi, rcx
xor ebp, ebp
lea rbx, [rsi + rax]
jmp 0x14005ea2a
lea rdx, str.month
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005d4a7
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx ebx, word [rsp + 0x6a]
movzx eax, word [rsp + 0x68]
add ebx, dword [rsp + 0x60]
mov dword [rsp + 0x3c], eax
jmp 0x14005e9f3
lea rdx, str.year
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005d503
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [rsp + 0x6c]
movzx ebx, word [rsp + 0x68]
add ebx, dword [rsp + 0x60]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x34], 1
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x3c], ebx
call fcn.14005cbe0
add ebx, 1
mov dword [rsp + 0x3c], ebx
jmp 0x14005ea19
xor ebp, ebp
lea rax, str.january
mov dword [rsp + 0x58], ebp
mov qword [rsp + 0x90], rax
lea rax, str.february
mov qword [rsp + 0x98], rax
lea rax, str.march
mov qword [rsp + 0xa0], rax
lea rax, str.april
mov qword [rsp + 0xa8], rax
lea rax, [0x1401a1f04]
mov qword [rsp + 0xb0], rax
lea rax, str.june
mov qword [rsp + 0xb8], rax
lea rax, str.july
mov qword [rsp + 0xc0], rax
lea rax, str.august
mov qword [rsp + 0xc8], rax
lea rax, str.september
mov qword [rsp + 0xd0], rax
lea rax, str.october
mov qword [rsp + 0xd8], rax
lea rax, str.november
mov qword [rsp + 0xe0], rax
lea rax, str.december
mov qword [rsp + 0xe8], rax
mov rax, rbp
mov qword [rsp + 0x40], rax
nop
nop
nop
nop
mov rdx, qword [rsp + rax*8 + 0x90]
mov rcx, rdi
call fcn.140160070
test eax, eax
jne 0x14005e9d1
mov rax, qword [rsp + 0x40]
add dword [rsp + 0x58], 1
add rax, 1
cmp rax, 0xc
mov qword [rsp + 0x40], rax
jl 0x14005d5d0
lea rax, [0x1401a1eb0]
mov dword [rsp + 0x58], ebp
mov qword [rsp + 0x90], rax
lea rax, [0x1401a1eac]
mov qword [rsp + 0x98], rax
lea rax, [0x1401a1ea8]
mov qword [rsp + 0xa0], rax
lea rax, [0x1401a1ea4]
mov qword [rsp + 0xa8], rax
lea rax, [0x1401a1f04]
mov qword [rsp + 0xb0], rax
lea rax, [0x1401a1ea0]
mov qword [rsp + 0xb8], rax
lea rax, [0x1401a1e9c]
mov qword [rsp + 0xc0], rax
lea rax, [0x1401a1e98]
mov qword [rsp + 0xc8], rax
lea rax, [0x1401a1e94]
mov qword [rsp + 0xd0], rax
lea rax, [0x1401a1e90]
mov qword [rsp + 0xd8], rax
lea rax, [0x1401a1e8c]
mov qword [rsp + 0xe0], rax
lea rax, [0x1401a1e88]
mov qword [rsp + 0xe8], rax
mov rax, rbp
mov qword [rsp + 0x40], rax
nop
nop
nop
nop
mov rdx, qword [rsp + rax*8 + 0x90]
mov rcx, rdi
call fcn.140160070
test eax, eax
jne 0x14005e8cc
mov rax, qword [rsp + 0x40]
add dword [rsp + 0x58], 1
add rax, 1
cmp rax, 0xc
mov qword [rsp + 0x40], rax
jl 0x14005d6d0
lea rax, str.sunday
mov dword [rsp + 0x58], ebp
mov qword [rsp + 0x90], rax
lea rax, str.monday
mov qword [rsp + 0x98], rax
lea rax, str.tuesday
mov qword [rsp + 0xa0], rax
lea rax, str.wednesday
mov qword [rsp + 0xa8], rax
lea rax, str.thursday
mov qword [rsp + 0xb0], rax
lea rax, str.friday
mov qword [rsp + 0xb8], rax
lea rax, str.saturday
mov qword [rsp + 0xc0], rax
mov rax, rbp
mov qword [rsp + 0x40], rax
nop
nop
nop
mov rdx, qword [rsp + rax*8 + 0x90]
mov rcx, rdi
call fcn.140160070
test eax, eax
jne 0x14005e7b7
mov rax, qword [rsp + 0x40]
add dword [rsp + 0x58], 1
add rax, 1
cmp rax, 7
mov qword [rsp + 0x40], rax
jl 0x14005d780
lea rax, [0x1401a1e30]
mov dword [rsp + 0x58], ebp
mov qword [rsp + 0x90], rax
lea rax, [0x1401a1e2c]
mov qword [rsp + 0x98], rax
lea rax, [0x1401a1e28]
mov qword [rsp + 0xa0], rax
lea rax, [0x1401a1e24]
mov qword [rsp + 0xa8], rax
lea rax, [0x1401a1e20]
mov qword [rsp + 0xb0], rax
lea rax, [0x1401a1e1c]
mov qword [rsp + 0xb8], rax
lea rax, [0x1401a1e18]
mov qword [rsp + 0xc0], rax
mov rax, rbp
mov qword [rsp + 0x40], rax
nop
nop
nop
mov rdx, qword [rsp + rax*8 + 0x90]
mov rcx, rdi
call fcn.140160070
test eax, eax
jne 0x14005e7b7
mov rax, qword [rsp + 0x40]
add dword [rsp + 0x58], 1
add rax, 1
cmp rax, 7
mov qword [rsp + 0x40], rax
jl 0x14005d830
cmp dword [rsp + 0x50], ebx
jne 0x14005ea2a
mov rdx, qword [rdi]
mov r8, rbp
mov qword [rsp + 0x58], rdx
movzx eax, byte [rdx]
test al, al
je 0x14005d8aa
nop
cmp al, 0x30
jb 0x14005d89b
cmp al, 0x39
ja 0x14005d89b
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [r8 + r8*4]
lea r8, [rcx + rax*2]
jmp 0x14005d89f
cmp al, 0x2c
jne 0x14005d8aa
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x14005d880
cmp r8d, 0x64
mov qword [rsp + 0x58], rdx
jb 0x14005dca1
lea rdx, [0x1401a19b0]
lea rcx, [rsp + 0x58]
call fcn.140160000
test eax, eax
je 0x14005dca1
mov rdx, qword [rsp + 0x58]
mov r8, rbp
movzx eax, byte [rdx]
test al, al
je 0x14005d915
cmp al, 0x30
jb 0x14005d8fc
cmp al, 0x39
ja 0x14005d8fc
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [r8 + r8*4]
lea r8, [rcx + rax*2]
jmp 0x14005d900
cmp al, 0x2c
jne 0x14005d90b
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x14005d8e1
cmp r8d, 0xc
ja 0x14005dca1
mov rdx, qword [rdi]
xor eax, eax
mov r8, rbp
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
movzx eax, byte [rdx]
test al, al
je 0x14005d95a
nop
cmp al, 0x30
jb 0x14005d94b
cmp al, 0x39
ja 0x14005d94b
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [r8 + r8*4]
lea r8, [rcx + rax*2]
jmp 0x14005d94f
cmp al, 0x2c
jne 0x14005d95a
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x14005d930
mov qword [rdi], rdx
lea rdx, [0x1401a19b0]
mov rcx, rdi
mov word [rsp + 0x30], r8w
call fcn.140160000
mov r11, qword [rdi]
movzx eax, byte [r11]
test al, al
je 0x14005dc68
cmp al, 0x30
jb 0x14005d989
cmp al, 0x39
jbe 0x14005d991
cmp al, 0x2c
jne 0x14005dc68
movzx eax, byte [r11]
mov rdx, rbp
test al, al
je 0x14005d9cb
nop
cmp al, 0x30
jb 0x14005d9bb
cmp al, 0x39
ja 0x14005d9bb
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [rdx + rdx*4]
lea rdx, [rcx + rax*2]
jmp 0x14005d9bf
cmp al, 0x2c
jne 0x14005d9cb
mov al, byte [r11 + 1]
add r11, 1
test al, al
jne 0x14005d9a0
mov word [rsp + 0x32], dx
lea rdx, [0x1401a19b0]
mov rcx, rdi
mov qword [rdi], r11
call fcn.140160000
test eax, eax
je 0x14005db98
mov rdx, qword [rdi]
movzx eax, byte [rdx]
test al, al
je 0x14005db98
cmp al, 0x30
jb 0x14005da00
cmp al, 0x39
jbe 0x14005da08
cmp al, 0x2c
jne 0x14005db98
movzx eax, byte [rdx]
test al, al
je 0x14005da3b
nop
cmp al, 0x30
jb 0x14005da2c
cmp al, 0x39
ja 0x14005da2c
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [rbp + rbp*4]
lea rbp, [rcx + rax*2]
jmp 0x14005da30
cmp al, 0x2c
jne 0x14005da3b
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x14005da10
mov qword [rdi], rdx
mov word [rsp + 0x36], bp
lea rdx, [0x1401a1e14]
mov rcx, rdi
movabs rbp, 0xc92a69c000
call fcn.140160070
test eax, eax
je 0x14005db7c
mov rdx, qword [rdi]
movzx eax, byte [rdx]
test al, al
je 0x14005db7c
cmp al, 0x30
jb 0x14005da7a
cmp al, 0x39
jbe 0x14005da82
cmp al, 0x2c
jne 0x14005db7c
movzx eax, byte [rdx]
test al, al
je 0x14005daba
nop
nop
cmp al, 0x30
jb 0x14005daab
cmp al, 0x39
ja 0x14005daab
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [rbx + rbx*4]
lea rbx, [rcx + rax*2]
jmp 0x14005daaf
cmp al, 0x2c
jne 0x14005daba
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x14005da90
mov qword [rdi], rdx
lea rdx, [0x1401a1e10]
mov rcx, rdi
mov word [rsp + 0x38], bx
movabs rbp, 0x861c46800
call fcn.140160000
mov r11, qword [rdi]
movzx eax, byte [r11]
test al, al
je 0x14005db7c
cmp al, 0x30
jb 0x14005daf2
cmp al, 0x39
jbe 0x14005dafa
cmp al, 0x2c
jne 0x14005db7c
mov rcx, rdi
call fcn.140052fa0
lea rdx, [0x1401a1e10]
mov rcx, rdi
mov word [rsp + 0x3a], ax
mov ebp, 0x23c34600
call fcn.140160000
mov r11, qword [rdi]
movzx eax, byte [r11]
test al, al
je 0x14005db7c
cmp al, 0x30
jb 0x14005db2e
cmp al, 0x39
jbe 0x14005db32
cmp al, 0x2c
jne 0x14005db7c
mov rcx, rdi
call fcn.140052fa0
lea rdx, [0x1401a19d0]
mov rcx, rdi
mov word [rsp + 0x3c], ax
mov ebp, 0x989680
call fcn.140160040
test eax, eax
jne 0x14005db7c
lea rdx, [0x1401a1e0c]
mov rcx, rdi
call fcn.140160000
test eax, eax
je 0x14005db7c
mov rcx, rdi
call fcn.140052fa0
mov ebp, 0x2710
mov word [rsp + 0x3e], ax
lea rcx, [rsp + 0x30]
call fcn.1400c9280
mov rsi, rax
lea rbx, [rax + rbp - 1]
mov ebp, 1
jmp 0x14005ea2a
lea rcx, [rsp + 0x30]
mov word [rsp + 0x36], 1
call fcn.1400c9280
movzx ebx, word [rsp + 0x32]
mov rsi, rax
movzx eax, word [rsp + 0x30]
cmp eax, 0x786b
mov dword [rsp + 0x74], eax
jg 0x14005dc5a
movzx r8d, word [rsp + 0x74]
xor eax, eax
cmp ebx, 0xc
mov qword [rsp + 0x40], rax
mov word [rsp + 0x46], 1
mov qword [rsp + 0x48], rax
jl 0x14005dbfd
mov eax, 0x2aaaaaab
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
add r8d, edx
imul edx, edx, 0xfffffff4
add ebx, edx
jmp 0x14005dc3e
test ebx, ebx
jns 0x14005dc3e
lea ecx, [rbx + 1]
mov eax, 0x2aaaaaab
imul ecx
or rcx, 0xffffffffffffffff
sar edx, 1
sub ecx, ebx
mov ebx, reloc.WS2_32.dll_inet_addr
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x2aaaaaab
lea r8d, [r8 + rdx - 1]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 2
sub ecx, eax
sub ebx, ecx
add bx, 1
lea rcx, [rsp + 0x40]
mov word [rsp + 0x40], r8w
mov word [rsp + 0x42], bx
call fcn.1400c9280
mov rbp, rax
lea rbx, [rbp - 1]
mov ebp, 1
jmp 0x14005ea2a
lea rcx, [rsp + 0x30]
mov word [rsp + 0x36], 1
mov word [rsp + 0x32], 1
call fcn.1400c9280
add word [rsp + 0x30], 1
lea rcx, [rsp + 0x30]
mov rsi, rax
call fcn.1400c9280
mov ebp, 1
lea rbx, [rax - 1]
jmp 0x14005ea2a
mov rdx, qword [rdi]
mov ecx, ebp
mov rax, rdx
nop
nop
movzx r8d, byte [rax]
cmp r8b, 0x30
jb 0x14005e048
cmp r8b, 0x39
ja 0x14005e048
add ecx, 1
add rax, 1
cmp ecx, 6
jl 0x14005dcb0
xor eax, eax
mov ecx, ebp
lea r8d, [rax + 4]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
movzx eax, byte [rdx]
cmp al, 0x30
jb 0x14005dd05
cmp al, 0x39
ja 0x14005dd05
lea ecx, [rcx + rcx*4]
movzx eax, al
add rdx, 1
sub r8d, 1
lea ecx, [rax + rcx*2 - 0x30]
jne 0x14005dce6
mov esi, 2
mov word [rsp + 0x30], cx
mov qword [rdi], rdx
mov r8d, esi
mov ecx, ebp
movzx eax, byte [rdx]
cmp al, 0x30
jb 0x14005dd36
cmp al, 0x39
ja 0x14005dd36
lea ecx, [rcx + rcx*4]
movzx eax, al
add rdx, 1
sub r8d, 1
lea ecx, [rax + rcx*2 - 0x30]
jne 0x14005dd17
mov word [rsp + 0x32], cx
mov qword [rdi], rdx
mov rax, rdx
mov ecx, ebp
nop
nop
nop
nop
movzx r8d, byte [rax]
cmp r8b, 0x30
jb 0x14005df78
cmp r8b, 0x39
ja 0x14005df78
add ecx, 1
add rax, 1
cmp ecx, esi
jl 0x14005dd50
mov r8d, esi
mov ecx, ebp
movzx eax, byte [rdx]
cmp al, 0x30
jb 0x14005dd97
cmp al, 0x39
ja 0x14005dd97
lea ecx, [rcx + rcx*4]
movzx eax, al
add rdx, 1
sub r8d, 1
lea ecx, [rax + rcx*2 - 0x30]
jne 0x14005dd78
mov qword [rdi], rdx
mov word [rsp + 0x36], cx
lea rdx, [0x1401a1e14]
mov rcx, rdi
movabs rbp, 0xc92a69c000
call fcn.140160070
test eax, eax
je 0x14005df5c
mov rdx, qword [rdi]
mov ecx, ebx
mov rax, rdx
nop
nop
movzx r8d, byte [rax]
cmp r8b, 0x30
jb 0x14005df5c
cmp r8b, 0x39
ja 0x14005df5c
add ecx, 1
add rax, 1
cmp ecx, esi
jl 0x14005ddd0
mov r8d, esi
mov ecx, ebx
movzx eax, byte [rdx]
cmp al, 0x30
jb 0x14005de17
cmp al, 0x39
ja 0x14005de17
lea ecx, [rcx + rcx*4]
movzx eax, al
add rdx, 1
sub r8d, 1
lea ecx, [rax + rcx*2 - 0x30]
jne 0x14005ddf8
mov qword [rdi], rdx
mov word [rsp + 0x38], cx
lea rdx, [0x1401a1e10]
mov rcx, rdi
movabs rbp, 0x861c46800
call fcn.140160000
mov r11, qword [rdi]
mov ecx, ebx
mov rax, r11
movzx edx, byte [rax]
cmp dl, 0x30
jb 0x14005df5c
cmp dl, 0x39
ja 0x14005df5c
add ecx, 1
add rax, 1
cmp ecx, esi
jl 0x14005de40
mov edx, esi
mov ecx, ebx
movzx eax, byte [r11]
cmp al, 0x30
jb 0x14005de83
cmp al, 0x39
ja 0x14005de83
lea ecx, [rcx + rcx*4]
movzx eax, al
add r11, 1
sub edx, 1
lea ecx, [rax + rcx*2 - 0x30]
jne 0x14005de64
mov word [rsp + 0x3a], cx
lea rdx, [0x1401a1e10]
mov rcx, rdi
mov qword [rdi], r11
mov ebp, 0x23c34600
call fcn.140160000
mov r11, qword [rdi]
mov ecx, ebx
mov rax, r11
nop
nop
nop
movzx edx, byte [rax]
cmp dl, 0x30
jb 0x14005df5c
cmp dl, 0x39
ja 0x14005df5c
add ecx, 1
add rax, 1
cmp ecx, esi
jl 0x14005deb0
mov ecx, ebx
movzx eax, byte [r11]
cmp al, 0x30
jb 0x14005def1
cmp al, 0x39
ja 0x14005def1
lea ecx, [rcx + rcx*4]
movzx eax, al
add r11, 1
sub esi, 1
lea ecx, [rax + rcx*2 - 0x30]
jne 0x14005ded2
mov word [rsp + 0x3c], cx
lea rdx, [0x1401a19d0]
mov rcx, rdi
mov qword [rdi], r11
mov ebp, 0x989680
call fcn.140160040
test eax, eax
jne 0x14005df5c
lea rdx, [0x1401a1e0c]
mov rcx, rdi
call fcn.140160000
test eax, eax
je 0x14005df5c
mov rdx, qword [rdi]
mov r8d, 3
nop
movzx eax, byte [rdx]
cmp al, 0x30
jb 0x14005df4f
cmp al, 0x39
ja 0x14005df4f
lea ecx, [rbx + rbx*4]
movzx eax, al
add rdx, 1
sub r8d, 1
lea ebx, [rax + rcx*2 - 0x30]
jne 0x14005df30
mov qword [rdi], rdx
mov word [rsp + 0x3e], bx
mov ebp, 0x2710
lea rcx, [rsp + 0x30]
call fcn.1400c9280
mov rsi, rax
lea rbx, [rax + rbp - 1]
mov ebp, 1
jmp 0x14005ea2a
lea rcx, [rsp + 0x30]
mov word [rsp + 0x36], 1
call fcn.1400c9280
movzx ebx, word [rsp + 0x32]
mov rsi, rax
movzx eax, word [rsp + 0x30]
cmp eax, 0x786b
mov dword [rsp + 0x74], eax
jg 0x14005e03a
movzx r8d, word [rsp + 0x74]
xor eax, eax
cmp ebx, 0xc
mov qword [rsp + 0x40], rax
mov word [rsp + 0x46], 1
mov qword [rsp + 0x48], rax
jl 0x14005dfdd
mov eax, 0x2aaaaaab
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
add r8d, edx
imul edx, edx, 0xfffffff4
add ebx, edx
jmp 0x14005e01e
test ebx, ebx
jns 0x14005e01e
lea ecx, [rbx + 1]
mov eax, 0x2aaaaaab
imul ecx
or rcx, 0xffffffffffffffff
sar edx, 1
sub ecx, ebx
mov ebx, reloc.WS2_32.dll_inet_addr
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x2aaaaaab
lea r8d, [r8 + rdx - 1]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 2
sub ecx, eax
sub ebx, ecx
add bx, 1
lea rcx, [rsp + 0x40]
mov word [rsp + 0x40], r8w
mov word [rsp + 0x42], bx
call fcn.1400c9280
mov rbp, rax
lea rbx, [rbp - 1]
mov ebp, 1
jmp 0x14005ea2a
cmp dword [rsp + 0x78], ebx
je 0x14005e079
movzx eax, byte [rdx]
mov r8d, ebp
mov ecx, ebp
test al, al
je 0x14005e07f
nop
nop
cmp al, 0x2d
jne 0x14005e06c
add ecx, 1
cmp ecx, 2
je 0x14005e079
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x14005e060
jmp 0x14005e07f
mov r8d, 1
movsxd rax, r8d
mov r10d, ebp
mov dword [rsp + 0x50], ebp
mov r9, rbp
mov qword [rsp + 0x58], rbp
mov rsi, rax
test r9, r9
je 0x14005e103
lea rdx, str._.:t
mov rcx, rdi
call fcn.140160000
test eax, eax
jne 0x14005e0f9
lea rdx, [0x1401a19d0]
mov rcx, rdi
call fcn.140160040
test eax, eax
jne 0x14005e160
lea rdx, [0x1401a1e0c]
mov rcx, rdi
call fcn.140160000
test eax, eax
jne 0x14005e0f9
test rsi, rsi
je 0x14005e160
lea rdx, [0x1401a19b0]
mov rcx, rdi
call fcn.140160000
mov r10d, dword [rsp + 0x50]
test eax, eax
je 0x14005e165
jmp 0x14005e0fe
mov r10d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov rdx, qword [rdi]
mov r8, rbp
movzx eax, byte [rdx]
test al, al
je 0x14005e13a
cmp al, 0x30
jb 0x14005e12b
cmp al, 0x39
ja 0x14005e12b
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [r8 + r8*4]
lea r8, [rcx + rax*2]
jmp 0x14005e12f
cmp al, 0x2c
jne 0x14005e13a
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x14005e110
add r10d, 1
mov dword [rsp + r9*4 + 0x40], r8d
add r9, 1
cmp r9, 3
mov qword [rdi], rdx
mov dword [rsp + 0x50], r10d
mov qword [rsp + 0x58], r9
jl 0x14005e094
jmp 0x14005e165
mov r10d, dword [rsp + 0x50]
cmp r10d, 1
mov rsi, rbx
jne 0x14005e26c
mov ebx, dword [rsp + 0x40]
cmp ebx, 0x64
mov dword [rsp + 0x3c], ebx
jge 0x14005e1e4
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx r11d, word [rsp + 0x68]
mov eax, 0x51eb851f
xor r9d, r9d
mov ecx, 0x400
mov r8d, 0x20000030
imul r11d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebp
imul edx, edx, 0x64
add edx, ebx
mov ebx, edx
mov dword [rsp + 0x3c], edx
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_GetCalendarInfoW]
test eax, eax
je 0x14005e1e4
cmp ebx, dword [rsp + 0x58]
jbe 0x14005e1e4
sub ebx, 0x64
mov dword [rsp + 0x3c], ebx
cmp ebx, 0x786b
jle 0x14005e1f1
mov rsi, rbp
jmp 0x14005e222
xor eax, eax
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
movzx eax, word [rsp + 0x3c]
mov word [rsp + 0x46], 1
mov word [rsp + 0x42], 1
mov word [rsp + 0x40], ax
call fcn.1400c9280
mov rsi, rax
add ebx, 1
cmp ebx, 0x786b
mov dword [rsp + 0x3c], ebx
jle 0x14005e239
mov rax, rbp
jmp 0x14005ea26
xor eax, eax
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
movzx eax, word [rsp + 0x3c]
mov word [rsp + 0x46], 1
mov word [rsp + 0x42], 1
mov word [rsp + 0x40], ax
call fcn.1400c9280
jmp 0x14005ea26
cmp r10d, 2
jne 0x14005e49c
lea r8, [rsp + 0xf0]
lea edx, [r10 + 0x1f]
mov r9d, 0x104
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x14005e2b1
movzx eax, word [rsp + 0xf0]
sub eax, 0x30
cmp eax, 2
jne 0x14005e2b1
mov eax, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x14005e2b9
mov eax, dword [rsp + 0x40]
mov esi, dword [rsp + 0x44]
cmp esi, 0x64
mov dword [rsp + 0x3c], esi
mov dword [rsp + 0x50], eax
jge 0x14005e329
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx r11d, word [rsp + 0x68]
mov eax, 0x51eb851f
xor r9d, r9d
mov ecx, 0x400
mov r8d, 0x20000030
imul r11d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebp
imul edx, edx, 0x64
add esi, edx
lea edx, [r9 + 1]
mov dword [rsp + 0x3c], esi
call qword [sym.imp.KERNEL32.dll_GetCalendarInfoW]
test eax, eax
je 0x14005e329
cmp esi, dword [rsp + 0x58]
jbe 0x14005e329
sub esi, 0x64
mov dword [rsp + 0x3c], esi
cmp esi, 0x786b
movzx ecx, word [rsp + 0x3c]
mov ebx, reloc.WS2_32.dll_inet_addr
jle 0x14005e343
mov rsi, rbp
jmp 0x14005e3ea
mov r8d, dword [rsp + 0x50]
xor eax, eax
movzx r9d, cx
add r8d, 0xffffffff
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
cmp r8d, 0xc
mov word [rsp + 0x46], 1
jl 0x14005e385
mov eax, 0x2aaaaaab
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
add r9d, edx
imul edx, edx, 0xfffffff4
add r8d, edx
jmp 0x14005e3c7
test r8d, r8d
jns 0x14005e3c7
lea ecx, [r8 + 1]
mov eax, 0x2aaaaaab
imul ecx
or ecx, 0xffffffff
sar edx, 1
sub ecx, r8d
mov r8d, ebx
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x2aaaaaab
lea r9d, [r9 + rdx - 1]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 2
sub ecx, eax
sub r8d, ecx
add r8w, 1
lea rcx, [rsp + 0x40]
mov word [rsp + 0x40], r9w
mov word [rsp + 0x42], r8w
call fcn.1400c9280
mov cx, word [rsp + 0x3c]
mov rsi, rax
cmp dword [rsp + 0x3c], 0x786b
mov eax, dword [rsp + 0x50]
jle 0x14005e400
mov rax, rbp
jmp 0x14005ea26
xor edx, edx
movzx r9d, cx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rdx
cmp eax, 0xc
mov r8d, eax
mov word [rsp + 0x36], 1
jl 0x14005e43b
mov eax, 0x2aaaaaab
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
add r9d, edx
imul edx, edx, 0xfffffff4
add r8d, edx
jmp 0x14005e47c
test eax, eax
jns 0x14005e47c
lea ecx, [rax + 1]
mov eax, 0x2aaaaaab
imul ecx
or rcx, 0xffffffffffffffff
sar edx, 1
sub ecx, r8d
mov r8d, ebx
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x2aaaaaab
lea r9d, [r9 + rdx - 1]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 2
sub ecx, eax
sub r8d, ecx
add r8w, 1
lea rcx, [rsp + 0x30]
mov word [rsp + 0x30], r9w
mov word [rsp + 0x32], r8w
call fcn.1400c9280
jmp 0x14005ea26
cmp r10d, 3
jne 0x14005ea2a
lea r8, [rsp + 0xf0]
lea edx, [r10 + 0x1e]
mov r9d, 0x104
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x14005e4f1
movzx eax, word [rsp + 0xf0]
sub eax, 0x30
je 0x14005e4e3
cmp eax, 2
jne 0x14005e4f1
mov ebx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x48]
jmp 0x14005e4f9
mov esi, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
mov ebx, dword [rsp + 0x48]
jmp 0x14005e4fd
mov eax, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
mov esi, dword [rsp + 0x44]
cmp ebx, 0x64
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x3c], ebx
jge 0x14005e571
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx r11d, word [rsp + 0x68]
mov eax, 0x51eb851f
xor r9d, r9d
mov ecx, 0x400
mov r8d, 0x20000030
imul r11d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebp
imul edx, edx, 0x64
add ebx, edx
lea edx, [r9 + 1]
mov dword [rsp + 0x3c], ebx
call qword [sym.imp.KERNEL32.dll_GetCalendarInfoW]
test eax, eax
je 0x14005e571
cmp ebx, dword [rsp + 0x58]
jbe 0x14005e571
sub ebx, 0x64
mov dword [rsp + 0x3c], ebx
lea rdx, [0x1401a1e14]
mov rcx, rdi
call fcn.140160070
test eax, eax
je 0x14005e700
mov rdx, qword [rdi]
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
movzx eax, word [rsp + 0x3c]
mov word [rsp + 0x40], ax
movzx eax, word [rsp + 0x38]
mov word [rsp + 0x42], ax
movzx eax, word [rsp + 0x34]
mov word [rsp + 0x46], ax
movzx eax, byte [rdx]
test al, al
je 0x14005e5eb
nop
cmp al, 0x30
jb 0x14005e5dc
cmp al, 0x39
ja 0x14005e5dc
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [rbp + rbp*4]
lea rbp, [rcx + rax*2]
jmp 0x14005e5e0
cmp al, 0x2c
jne 0x14005e5eb
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x14005e5c0
mov qword [rdi], rdx
mov word [rsp + 0x48], bp
lea rdx, [0x1401a1e10]
mov rcx, rdi
movabs rbp, 0x861c46800
call fcn.140160000
test eax, eax
je 0x14005e6e7
mov rdx, qword [rdi]
xor ebx, ebx
movzx eax, byte [rdx]
mov r8, rbx
test al, al
je 0x14005e64d
cmp al, 0x30
jb 0x14005e63e
cmp al, 0x39
ja 0x14005e63e
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [r8 + r8*4]
lea r8, [rcx + rax*2]
jmp 0x14005e642
cmp al, 0x2c
jne 0x14005e64d
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x14005e623
mov qword [rdi], rdx
lea rdx, [0x1401a1e10]
mov rcx, rdi
mov word [rsp + 0x4a], r8w
mov ebp, 0x23c34600
call fcn.140160000
test eax, eax
je 0x14005e6e7
mov rdx, qword [rdi]
movzx eax, byte [rdx]
test al, al
je 0x14005e6a2
cmp al, 0x30
jb 0x14005e693
cmp al, 0x39
ja 0x14005e693
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [rbx + rbx*4]
lea rbx, [rcx + rax*2]
jmp 0x14005e697
cmp al, 0x2c
jne 0x14005e6a2
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x14005e678
mov qword [rdi], rdx
lea rdx, [0x1401a19d0]
mov rcx, rdi
mov word [rsp + 0x4c], bx
mov ebp, 0x989680
call fcn.140160040
test eax, eax
jne 0x14005e6e7
lea rdx, [0x1401a1e0c]
mov rcx, rdi
call fcn.140160000
test eax, eax
je 0x14005e6e7
mov rcx, rdi
call fcn.140052fa0
mov ebp, 0x2710
mov word [rsp + 0x4e], ax
lea rcx, [rsp + 0x40]
call fcn.1400c9280
mov rsi, rax
lea rbx, [rax + rbp - 1]
xor ebp, ebp
jmp 0x14005ea2a
cmp ebx, 0x786b
jle 0x14005e71f
movabs rax, 0xc92a69bfff
mov rsi, rbp
lea rbx, [rbp + rax]
jmp 0x14005ea2a
movzx r8d, word [rsp + 0x3c]
xor eax, eax
lea ebx, [rsi - 1]
cmp ebx, 0xc
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
movzx eax, word [rsp + 0x34]
mov word [rsp + 0x46], ax
jl 0x14005e75d
mov eax, 0x2aaaaaab
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
add r8d, edx
imul edx, edx, 0xfffffff4
add ebx, edx
jmp 0x14005e79e
test ebx, ebx
jns 0x14005e79e
lea ecx, [rbx + 1]
mov eax, 0x2aaaaaab
imul ecx
or rcx, 0xffffffffffffffff
sar edx, 1
sub ecx, ebx
mov ebx, reloc.WS2_32.dll_inet_addr
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x2aaaaaab
lea r8d, [r8 + rdx - 1]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 2
sub ecx, eax
sub ebx, ecx
add bx, 1
mov word [rsp + 0x40], r8w
lea rcx, [rsp + 0x40]
mov word [rsp + 0x42], bx
jmp 0x14005cdc8
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [rsp + 0x40]
movzx r11d, word [rsp + 0x46]
cmp eax, 0x786b
movzx ecx, word [rsp + 0x44]
movzx ebx, word [rsp + 0x42]
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x6c], r11d
jle 0x14005e7ef
mov rdx, rbp
jmp 0x14005e88f
movzx r8d, word [rsp + 0x74]
xor eax, eax
add ebx, 0xffffffff
cmp ebx, 0xc
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
movzx eax, word [rsp + 0x6c]
mov word [rsp + 0x36], ax
jl 0x14005e82d
mov eax, 0x2aaaaaab
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
add r8d, edx
imul edx, edx, 0xfffffff4
add ebx, edx
jmp 0x14005e86e
test ebx, ebx
jns 0x14005e86e
lea ecx, [rbx + 1]
mov eax, 0x2aaaaaab
imul ecx
or rcx, 0xffffffffffffffff
sar edx, 1
sub ecx, ebx
mov ebx, reloc.WS2_32.dll_inet_addr
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x2aaaaaab
lea r8d, [r8 + rdx - 1]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 2
sub ecx, eax
sub ebx, ecx
add bx, 1
lea rcx, [rsp + 0x30]
mov word [rsp + 0x30], r8w
mov word [rsp + 0x32], bx
call fcn.1400c9280
movzx ecx, word [rsp + 0x44]
mov rdx, rax
movsxd rax, dword [rsp + 0x58]
movsxd rsi, dword [rsp + 0x60]
movabs rbp, 0xc92a69c000
movsxd rcx, ecx
imul rsi, rsi, 7
sub rsi, rcx
add rsi, rax
movabs rax, 0xc92a69bfff
imul rsi, rbp
add rsi, rdx
xor ebp, ebp
lea rbx, [rsi + rax]
jmp 0x14005ea2a
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [rsp + 0x58]
movzx ecx, word [rsp + 0x68]
add ecx, dword [rsp + 0x60]
add eax, 1
mov ebx, reloc.WS2_32.dll_inet_addr
cmp ecx, 0x786b
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x74], ecx
movzx edx, cx
jle 0x14005e907
mov rsi, rbp
jmp 0x14005e9af
xor ecx, ecx
lea r8d, [rax - 1]
movzx r9d, dx
cmp r8d, 0xc
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rcx
mov word [rsp + 0x36], 1
jl 0x14005e944
mov eax, 0x2aaaaaab
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
add r9d, edx
imul edx, edx, 0xfffffff4
add r8d, edx
jmp 0x14005e986
test r8d, r8d
jns 0x14005e986
lea ecx, [r8 + 1]
mov eax, 0x2aaaaaab
imul ecx
or ecx, 0xffffffff
sar edx, 1
sub ecx, r8d
mov r8d, ebx
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x2aaaaaab
lea r9d, [r9 + rdx - 1]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 2
sub ecx, eax
sub r8d, ecx
add r8w, 1
lea rcx, [rsp + 0x30]
mov word [rsp + 0x30], r9w
mov word [rsp + 0x32], r8w
call fcn.1400c9280
mov ecx, dword [rsp + 0x74]
mov rsi, rax
mov eax, dword [rsp + 0x58]
mov dx, cx
cmp ecx, 0x786b
jle 0x14005e9bc
mov rax, rbp
jmp 0x14005ea26
xor ecx, ecx
movzx r9d, dx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rcx
jmp 0x14005e410
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ebx, dword [rsp + 0x58]
movzx r11d, word [rsp + 0x68]
add ebx, 1
add r11d, dword [rsp + 0x60]
mov dword [rsp + 0x3c], r11d
movzx eax, word [rsp + 0x6c]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x34], 1
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x38], ebx
call fcn.14005cbe0
add ebx, 1
mov dword [rsp + 0x38], ebx
lea rcx, [rsp + 0x30]
mov rsi, rax
call fcn.14005cbe0
lea rbx, [rax - 1]
cmp dword [rsp + 0x78], 0
je 0x14005ea8a
lea rdx, [0x1401a19d0]
mov rcx, rdi
call fcn.140160000
test eax, eax
jne 0x14005ea6e
lea rdx, [0x1401a19b0]
mov rcx, rdi
call fcn.140160000
test eax, eax
jne 0x14005ea6e
test ebp, ebp
je 0x14005ea8a
lea rdx, str._.:t
mov rcx, rdi
call fcn.140160000
test eax, eax
je 0x14005ea8a
mov rbp, qword [rsp + 0x80]
xor r8d, r8d
mov rcx, rdi
mov rdx, rbp
call fcn.14005cca0
mov rbx, qword [rbp + 8]
jmp 0x14005ea92
mov rbp, qword [rsp + 0x80]
mov qword [rbp], rsi
mov qword [rbp + 8], rbx
mov rcx, qword [rsp + 0x300]
xor rcx, rsp
call fcn.1401931f0
mov rbx, qword [rsp + 0x340]
add rsp, 0x310
pop rdi
pop rsi
pop rbp
ret