Function at 0x14005eea0
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x310
mov rax, qword [0x14020cc58]
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 0x14005eef3
mov rbx, 0xfffffffffffffffe
mov qword [rdx], rbp
mov qword [rdx + 8], rbx
jmp 0x140060c9a
lea rdx, str.today
call fcn.1401757e0
test eax, eax
je 0x14005efe3
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 0x14005efd0
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 0x14005ef73
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 0x14005efb4
test ebx, ebx
jns 0x14005efb4
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.1400da330
mov rsi, rax
movabs rax, 0xc92a69bfff
lea rbx, [rsi + rax]
jmp 0x140060c2a
lea rdx, str.yesterday
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f0e6
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 0x14005f02d
mov rax, rbp
jmp 0x14005f0c5
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 0x14005f06b
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 0x14005f0ac
test ebx, ebx
jns 0x14005f0ac
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.1400da330
movabs rcx, 0xffffff36d5964000
lea rsi, [rax + rcx]
movabs rax, 0xc92a69bfff
lea rbx, [rsi + rax]
jmp 0x140060c2a
lea rdx, str.tomorrow
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f154
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.14005ede0
movabs rsi, 0xc92a69c000
add rsi, rax
movabs rax, 0xc92a69bfff
lea rbx, [rsi + rax]
jmp 0x140060c2a
lea rdx, str.unknown
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f176
or rax, 0xffffffffffffffff
mov rsi, rax
mov rbx, rax
jmp 0x140060c2a
lea rdx, str.prev
mov rcx, rdi
mov dword [rsp + 0x60], ebp
mov dword [rsp + 0x50], ebp
call fcn.1401757e0
test eax, eax
je 0x14005f19e
mov dword [rsp + 0x60], 0xffffffff
jmp 0x14005f23f
lea rdx, str.last
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f1be
mov dword [rsp + 0x60], 0xffffffff
jmp 0x14005f23f
lea rdx, str.past
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f1db
mov dword [rsp + 0x60], 0xffffffff
jmp 0x14005f23f
lea rdx, str.next
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f1f8
mov dword [rsp + 0x60], 1
jmp 0x14005f23f
lea rdx, str.coming
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f215
mov dword [rsp + 0x60], 1
jmp 0x14005f23f
lea rdx, str.this
mov rcx, rdi
call fcn.1401757e0
test eax, eax
jne 0x14005f23f
lea rdx, str.current
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f703
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 0x14005f5a9
cmp al, 0x39
ja 0x14005f5a9
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 0x14005f2ad
cmp al, 0x30
jb 0x14005f2a8
cmp al, 0x39
ja 0x14005f2a8
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 0x14005f283
mov qword [rsp + 0x58], rbp
lea rdx, str.seconds
mov rcx, rdi
mov qword [rdi], r11
call fcn.1401757e0
test eax, eax
jne 0x14005f561
lea rdx, str.secs
mov rcx, rdi
call fcn.1401757e0
test eax, eax
jne 0x14005f561
lea rdx, str.minutes
mov rcx, rdi
call fcn.1401757e0
test eax, eax
jne 0x14005f519
lea rdx, str.mins
mov rcx, rdi
call fcn.1401757e0
test eax, eax
jne 0x14005f519
lea rdx, str.hours
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f380
lea rcx, [rsp + 0x40]
call fcn.1400da330
cmp dword [rsp + 0x60], ebx
mov rsi, rax
jg 0x14005f356
movabs rbp, 0x861c46800
mov rax, qword [rsp + 0x58]
mov rbx, 0xfffffffffffffffe
imul rax, rbp
sub rsi, rax
xor ebp, ebp
jmp 0x140060c2a
lea rcx, [rsp + 0x40]
call fcn.1400da330
movabs rbp, 0x861c46800
mov rbx, rax
mov rax, qword [rsp + 0x58]
imul rax, rbp
add rbx, rax
xor ebp, ebp
jmp 0x140060c2a
lea rdx, str.weeks
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f3ea
lea rcx, [rsp + 0x40]
call fcn.1400da330
cmp dword [rsp + 0x60], ebx
mov rsi, rax
jg 0x14005f3c5
movabs rax, 0x58028e44000
mov rbx, 0xfffffffffffffffe
imul rbp, rax
sub rsi, rbp
xor ebp, ebp
jmp 0x140060c2a
lea rcx, [rsp + 0x40]
call fcn.1400da330
mov rbx, rax
movabs rax, 0x58028e44000
imul rbp, rax
add rbx, rbp
xor ebp, ebp
jmp 0x140060c2a
lea rdx, str.months
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f45c
cmp dword [rsp + 0x60], ebx
lea rcx, [rsp + 0x40]
jg 0x14005f42f
movzx edx, word [rsp + 0x42]
mov rbx, 0xfffffffffffffffe
sub edx, ebp
call fcn.140058fb0
lea rcx, [rsp + 0x40]
call fcn.1400da330
xor ebp, ebp
mov rsi, rax
jmp 0x140060c2a
call fcn.1400da330
movzx edx, word [rsp + 0x42]
lea rcx, [rsp + 0x40]
add edx, ebp
mov rsi, rax
call fcn.140058fb0
lea rcx, [rsp + 0x40]
call fcn.1400da330
xor ebp, ebp
mov rbx, rax
jmp 0x140060c2a
lea rdx, str.years
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f4b6
cmp dword [rsp + 0x60], ebx
lea rcx, [rsp + 0x40]
jg 0x14005f495
sub word [rsp + 0x40], bp
mov rbx, 0xfffffffffffffffe
call fcn.1400da330
mov rsi, rax
xor ebp, ebp
jmp 0x140060c2a
call fcn.1400da330
add word [rsp + 0x40], bp
lea rcx, [rsp + 0x40]
mov rsi, rax
call fcn.1400da330
xor ebp, ebp
mov rbx, rax
jmp 0x140060c2a
lea rdx, str.days
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f701
lea rcx, [rsp + 0x40]
call fcn.1400da330
cmp dword [rsp + 0x60], ebx
mov rsi, rax
jg 0x14005f4ef
movabs rbp, 0xc92a69c000
jmp 0x14005f33c
lea rcx, [rsp + 0x40]
call fcn.1400da330
movabs rbp, 0xc92a69c000
mov rbx, rax
mov rax, qword [rsp + 0x58]
imul rax, rbp
add rbx, rax
xor ebp, ebp
jmp 0x140060c2a
lea rcx, [rsp + 0x40]
call fcn.1400da330
cmp dword [rsp + 0x60], ebx
mov rsi, rax
jg 0x14005f544
imul rbp, rbp, 0x23c34600
mov rbx, 0xfffffffffffffffe
sub rsi, rbp
xor ebp, ebp
jmp 0x140060c2a
lea rcx, [rsp + 0x40]
call fcn.1400da330
imul rbp, rbp, 0x23c34600
lea rbx, [rbp + rax]
xor ebp, ebp
jmp 0x140060c2a
lea rcx, [rsp + 0x40]
call fcn.1400da330
cmp dword [rsp + 0x60], ebx
mov rsi, rax
jg 0x14005f58c
imul rbp, rbp, 0x989680
mov rbx, 0xfffffffffffffffe
sub rsi, rbp
xor ebp, ebp
jmp 0x140060c2a
lea rcx, [rsp + 0x40]
call fcn.1400da330
imul rbp, rbp, 0x989680
lea rbx, [rbp + rax]
xor ebp, ebp
jmp 0x140060c2a
lea rdx, str.week
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f672
lea r8, [rsp + 0x58]
mov r9d, 2
mov edx, 0x100c
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x14005f5f8
mov eax, dword [rsp + 0x58]
lea ecx, [rax - 0x30]
cmp cx, 6
ja 0x14005f5f8
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 0x14005f630
add ebp, 7
lea rcx, [rsp + 0x68]
call fcn.14005ede0
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 0x140060c2a
lea rdx, str.month
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f6a7
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 0x140060bf3
lea rdx, str.year
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x14005f703
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.14005ede0
add ebx, 1
mov dword [rsp + 0x3c], ebx
jmp 0x140060c19
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, [0x1401b83e4]
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.1401757e0
test eax, eax
jne 0x140060bd1
mov rax, qword [rsp + 0x40]
add dword [rsp + 0x58], 1
add rax, 1
cmp rax, 0xc
mov qword [rsp + 0x40], rax
jl 0x14005f7d0
lea rax, [0x1401b8390]
mov dword [rsp + 0x58], ebp
mov qword [rsp + 0x90], rax
lea rax, [0x1401b838c]
mov qword [rsp + 0x98], rax
lea rax, [0x1401b8388]
mov qword [rsp + 0xa0], rax
lea rax, [0x1401b8384]
mov qword [rsp + 0xa8], rax
lea rax, [0x1401b83e4]
mov qword [rsp + 0xb0], rax
lea rax, [0x1401b8380]
mov qword [rsp + 0xb8], rax
lea rax, [0x1401b837c]
mov qword [rsp + 0xc0], rax
lea rax, [0x1401b8378]
mov qword [rsp + 0xc8], rax
lea rax, [0x1401b8374]
mov qword [rsp + 0xd0], rax
lea rax, [0x1401b8370]
mov qword [rsp + 0xd8], rax
lea rax, [0x1401b836c]
mov qword [rsp + 0xe0], rax
lea rax, [0x1401b8368]
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.1401757e0
test eax, eax
jne 0x140060acc
mov rax, qword [rsp + 0x40]
add dword [rsp + 0x58], 1
add rax, 1
cmp rax, 0xc
mov qword [rsp + 0x40], rax
jl 0x14005f8d0
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.1401757e0
test eax, eax
jne 0x1400609b7
mov rax, qword [rsp + 0x40]
add dword [rsp + 0x58], 1
add rax, 1
cmp rax, 7
mov qword [rsp + 0x40], rax
jl 0x14005f980
lea rax, [0x1401b8310]
mov dword [rsp + 0x58], ebp
mov qword [rsp + 0x90], rax
lea rax, [0x1401b830c]
mov qword [rsp + 0x98], rax
lea rax, [0x1401b8308]
mov qword [rsp + 0xa0], rax
lea rax, [0x1401b8304]
mov qword [rsp + 0xa8], rax
lea rax, [0x1401b8300]
mov qword [rsp + 0xb0], rax
lea rax, [0x1401b82fc]
mov qword [rsp + 0xb8], rax
lea rax, [0x1401b82f8]
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.1401757e0
test eax, eax
jne 0x1400609b7
mov rax, qword [rsp + 0x40]
add dword [rsp + 0x58], 1
add rax, 1
cmp rax, 7
mov qword [rsp + 0x40], rax
jl 0x14005fa30
cmp dword [rsp + 0x50], ebx
jne 0x140060c2a
mov rdx, qword [rdi]
mov r8, rbp
mov qword [rsp + 0x58], rdx
movzx eax, byte [rdx]
test al, al
je 0x14005faaa
nop
cmp al, 0x30
jb 0x14005fa9b
cmp al, 0x39
ja 0x14005fa9b
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [r8 + r8*4]
lea r8, [rcx + rax*2]
jmp 0x14005fa9f
cmp al, 0x2c
jne 0x14005faaa
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x14005fa80
cmp r8d, 0x64
mov qword [rsp + 0x58], rdx
jb 0x14005fea1
lea rdx, [0x1401b7e90]
lea rcx, [rsp + 0x58]
call fcn.140175770
test eax, eax
je 0x14005fea1
mov rdx, qword [rsp + 0x58]
mov r8, rbp
movzx eax, byte [rdx]
test al, al
je 0x14005fb15
cmp al, 0x30
jb 0x14005fafc
cmp al, 0x39
ja 0x14005fafc
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [r8 + r8*4]
lea r8, [rcx + rax*2]
jmp 0x14005fb00
cmp al, 0x2c
jne 0x14005fb0b
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x14005fae1
cmp r8d, 0xc
ja 0x14005fea1
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 0x14005fb5a
nop
cmp al, 0x30
jb 0x14005fb4b
cmp al, 0x39
ja 0x14005fb4b
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [r8 + r8*4]
lea r8, [rcx + rax*2]
jmp 0x14005fb4f
cmp al, 0x2c
jne 0x14005fb5a
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x14005fb30
mov qword [rdi], rdx
lea rdx, [0x1401b7e90]
mov rcx, rdi
mov word [rsp + 0x30], r8w
call fcn.140175770
mov r11, qword [rdi]
movzx eax, byte [r11]
test al, al
je 0x14005fe68
cmp al, 0x30
jb 0x14005fb89
cmp al, 0x39
jbe 0x14005fb91
cmp al, 0x2c
jne 0x14005fe68
movzx eax, byte [r11]
mov rdx, rbp
test al, al
je 0x14005fbcb
nop
cmp al, 0x30
jb 0x14005fbbb
cmp al, 0x39
ja 0x14005fbbb
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [rdx + rdx*4]
lea rdx, [rcx + rax*2]
jmp 0x14005fbbf
cmp al, 0x2c
jne 0x14005fbcb
mov al, byte [r11 + 1]
add r11, 1
test al, al
jne 0x14005fba0
mov word [rsp + 0x32], dx
lea rdx, [0x1401b7e90]
mov rcx, rdi
mov qword [rdi], r11
call fcn.140175770
test eax, eax
je 0x14005fd98
mov rdx, qword [rdi]
movzx eax, byte [rdx]
test al, al
je 0x14005fd98
cmp al, 0x30
jb 0x14005fc00
cmp al, 0x39
jbe 0x14005fc08
cmp al, 0x2c
jne 0x14005fd98
movzx eax, byte [rdx]
test al, al
je 0x14005fc3b
nop
cmp al, 0x30
jb 0x14005fc2c
cmp al, 0x39
ja 0x14005fc2c
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [rbp + rbp*4]
lea rbp, [rcx + rax*2]
jmp 0x14005fc30
cmp al, 0x2c
jne 0x14005fc3b
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x14005fc10
mov qword [rdi], rdx
mov word [rsp + 0x36], bp
lea rdx, [0x1401b82f4]
mov rcx, rdi
movabs rbp, 0xc92a69c000
call fcn.1401757e0
test eax, eax
je 0x14005fd7c
mov rdx, qword [rdi]
movzx eax, byte [rdx]
test al, al
je 0x14005fd7c
cmp al, 0x30
jb 0x14005fc7a
cmp al, 0x39
jbe 0x14005fc82
cmp al, 0x2c
jne 0x14005fd7c
movzx eax, byte [rdx]
test al, al
je 0x14005fcba
nop
nop
cmp al, 0x30
jb 0x14005fcab
cmp al, 0x39
ja 0x14005fcab
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [rbx + rbx*4]
lea rbx, [rcx + rax*2]
jmp 0x14005fcaf
cmp al, 0x2c
jne 0x14005fcba
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x14005fc90
mov qword [rdi], rdx
lea rdx, [0x1401b82f0]
mov rcx, rdi
mov word [rsp + 0x38], bx
movabs rbp, 0x861c46800
call fcn.140175770
mov r11, qword [rdi]
movzx eax, byte [r11]
test al, al
je 0x14005fd7c
cmp al, 0x30
jb 0x14005fcf2
cmp al, 0x39
jbe 0x14005fcfa
cmp al, 0x2c
jne 0x14005fd7c
mov rcx, rdi
call fcn.1400551a0
lea rdx, [0x1401b82f0]
mov rcx, rdi
mov word [rsp + 0x3a], ax
mov ebp, 0x23c34600
call fcn.140175770
mov r11, qword [rdi]
movzx eax, byte [r11]
test al, al
je 0x14005fd7c
cmp al, 0x30
jb 0x14005fd2e
cmp al, 0x39
jbe 0x14005fd32
cmp al, 0x2c
jne 0x14005fd7c
mov rcx, rdi
call fcn.1400551a0
lea rdx, [0x1401b7eb0]
mov rcx, rdi
mov word [rsp + 0x3c], ax
mov ebp, 0x989680
call fcn.1401757b0
test eax, eax
jne 0x14005fd7c
lea rdx, [0x1401b82ec]
mov rcx, rdi
call fcn.140175770
test eax, eax
je 0x14005fd7c
mov rcx, rdi
call fcn.1400551a0
mov ebp, 0x2710
mov word [rsp + 0x3e], ax
lea rcx, [rsp + 0x30]
call fcn.1400da330
mov rsi, rax
lea rbx, [rax + rbp - 1]
mov ebp, 1
jmp 0x140060c2a
lea rcx, [rsp + 0x30]
mov word [rsp + 0x36], 1
call fcn.1400da330
movzx ebx, word [rsp + 0x32]
mov rsi, rax
movzx eax, word [rsp + 0x30]
cmp eax, 0x786b
mov dword [rsp + 0x74], eax
jg 0x14005fe5a
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 0x14005fdfd
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 0x14005fe3e
test ebx, ebx
jns 0x14005fe3e
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.1400da330
mov rbp, rax
lea rbx, [rbp - 1]
mov ebp, 1
jmp 0x140060c2a
lea rcx, [rsp + 0x30]
mov word [rsp + 0x36], 1
mov word [rsp + 0x32], 1
call fcn.1400da330
add word [rsp + 0x30], 1
lea rcx, [rsp + 0x30]
mov rsi, rax
call fcn.1400da330
mov ebp, 1
lea rbx, [rax - 1]
jmp 0x140060c2a
mov rdx, qword [rdi]
mov ecx, ebp
mov rax, rdx
nop
nop
movzx r8d, byte [rax]
cmp r8b, 0x30
jb 0x140060248
cmp r8b, 0x39
ja 0x140060248
add ecx, 1
add rax, 1
cmp ecx, 6
jl 0x14005feb0
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 0x14005ff05
cmp al, 0x39
ja 0x14005ff05
lea ecx, [rcx + rcx*4]
movzx eax, al
add rdx, 1
sub r8d, 1
lea ecx, [rax + rcx*2 - 0x30]
jne 0x14005fee6
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 0x14005ff36
cmp al, 0x39
ja 0x14005ff36
lea ecx, [rcx + rcx*4]
movzx eax, al
add rdx, 1
sub r8d, 1
lea ecx, [rax + rcx*2 - 0x30]
jne 0x14005ff17
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 0x140060178
cmp r8b, 0x39
ja 0x140060178
add ecx, 1
add rax, 1
cmp ecx, esi
jl 0x14005ff50
mov r8d, esi
mov ecx, ebp
movzx eax, byte [rdx]
cmp al, 0x30
jb 0x14005ff97
cmp al, 0x39
ja 0x14005ff97
lea ecx, [rcx + rcx*4]
movzx eax, al
add rdx, 1
sub r8d, 1
lea ecx, [rax + rcx*2 - 0x30]
jne 0x14005ff78
mov qword [rdi], rdx
mov word [rsp + 0x36], cx
lea rdx, [0x1401b82f4]
mov rcx, rdi
movabs rbp, 0xc92a69c000
call fcn.1401757e0
test eax, eax
je 0x14006015c
mov rdx, qword [rdi]
mov ecx, ebx
mov rax, rdx
nop
nop
movzx r8d, byte [rax]
cmp r8b, 0x30
jb 0x14006015c
cmp r8b, 0x39
ja 0x14006015c
add ecx, 1
add rax, 1
cmp ecx, esi
jl 0x14005ffd0
mov r8d, esi
mov ecx, ebx
movzx eax, byte [rdx]
cmp al, 0x30
jb 0x140060017
cmp al, 0x39
ja 0x140060017
lea ecx, [rcx + rcx*4]
movzx eax, al
add rdx, 1
sub r8d, 1
lea ecx, [rax + rcx*2 - 0x30]
jne 0x14005fff8
mov qword [rdi], rdx
mov word [rsp + 0x38], cx
lea rdx, [0x1401b82f0]
mov rcx, rdi
movabs rbp, 0x861c46800
call fcn.140175770
mov r11, qword [rdi]
mov ecx, ebx
mov rax, r11
movzx edx, byte [rax]
cmp dl, 0x30
jb 0x14006015c
cmp dl, 0x39
ja 0x14006015c
add ecx, 1
add rax, 1
cmp ecx, esi
jl 0x140060040
mov edx, esi
mov ecx, ebx
movzx eax, byte [r11]
cmp al, 0x30
jb 0x140060083
cmp al, 0x39
ja 0x140060083
lea ecx, [rcx + rcx*4]
movzx eax, al
add r11, 1
sub edx, 1
lea ecx, [rax + rcx*2 - 0x30]
jne 0x140060064
mov word [rsp + 0x3a], cx
lea rdx, [0x1401b82f0]
mov rcx, rdi
mov qword [rdi], r11
mov ebp, 0x23c34600
call fcn.140175770
mov r11, qword [rdi]
mov ecx, ebx
mov rax, r11
nop
nop
nop
movzx edx, byte [rax]
cmp dl, 0x30
jb 0x14006015c
cmp dl, 0x39
ja 0x14006015c
add ecx, 1
add rax, 1
cmp ecx, esi
jl 0x1400600b0
mov ecx, ebx
movzx eax, byte [r11]
cmp al, 0x30
jb 0x1400600f1
cmp al, 0x39
ja 0x1400600f1
lea ecx, [rcx + rcx*4]
movzx eax, al
add r11, 1
sub esi, 1
lea ecx, [rax + rcx*2 - 0x30]
jne 0x1400600d2
mov word [rsp + 0x3c], cx
lea rdx, [0x1401b7eb0]
mov rcx, rdi
mov qword [rdi], r11
mov ebp, 0x989680
call fcn.1401757b0
test eax, eax
jne 0x14006015c
lea rdx, [0x1401b82ec]
mov rcx, rdi
call fcn.140175770
test eax, eax
je 0x14006015c
mov rdx, qword [rdi]
mov r8d, 3
nop
movzx eax, byte [rdx]
cmp al, 0x30
jb 0x14006014f
cmp al, 0x39
ja 0x14006014f
lea ecx, [rbx + rbx*4]
movzx eax, al
add rdx, 1
sub r8d, 1
lea ebx, [rax + rcx*2 - 0x30]
jne 0x140060130
mov qword [rdi], rdx
mov word [rsp + 0x3e], bx
mov ebp, 0x2710
lea rcx, [rsp + 0x30]
call fcn.1400da330
mov rsi, rax
lea rbx, [rax + rbp - 1]
mov ebp, 1
jmp 0x140060c2a
lea rcx, [rsp + 0x30]
mov word [rsp + 0x36], 1
call fcn.1400da330
movzx ebx, word [rsp + 0x32]
mov rsi, rax
movzx eax, word [rsp + 0x30]
cmp eax, 0x786b
mov dword [rsp + 0x74], eax
jg 0x14006023a
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 0x1400601dd
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 0x14006021e
test ebx, ebx
jns 0x14006021e
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.1400da330
mov rbp, rax
lea rbx, [rbp - 1]
mov ebp, 1
jmp 0x140060c2a
cmp dword [rsp + 0x78], ebx
je 0x140060279
movzx eax, byte [rdx]
mov r8d, ebp
mov ecx, ebp
test al, al
je 0x14006027f
nop
nop
cmp al, 0x2d
jne 0x14006026c
add ecx, 1
cmp ecx, 2
je 0x140060279
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x140060260
jmp 0x14006027f
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 0x140060303
lea rdx, str._.:t
mov rcx, rdi
call fcn.140175770
test eax, eax
jne 0x1400602f9
lea rdx, [0x1401b7eb0]
mov rcx, rdi
call fcn.1401757b0
test eax, eax
jne 0x140060360
lea rdx, [0x1401b82ec]
mov rcx, rdi
call fcn.140175770
test eax, eax
jne 0x1400602f9
test rsi, rsi
je 0x140060360
lea rdx, [0x1401b7e90]
mov rcx, rdi
call fcn.140175770
mov r10d, dword [rsp + 0x50]
test eax, eax
je 0x140060365
jmp 0x1400602fe
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 0x14006033a
cmp al, 0x30
jb 0x14006032b
cmp al, 0x39
ja 0x14006032b
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [r8 + r8*4]
lea r8, [rcx + rax*2]
jmp 0x14006032f
cmp al, 0x2c
jne 0x14006033a
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x140060310
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 0x140060294
jmp 0x140060365
mov r10d, dword [rsp + 0x50]
cmp r10d, 1
mov rsi, rbx
jne 0x14006046c
mov ebx, dword [rsp + 0x40]
cmp ebx, 0x64
mov dword [rsp + 0x3c], ebx
jge 0x1400603e4
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 0x1400603e4
cmp ebx, dword [rsp + 0x58]
jbe 0x1400603e4
sub ebx, 0x64
mov dword [rsp + 0x3c], ebx
cmp ebx, 0x786b
jle 0x1400603f1
mov rsi, rbp
jmp 0x140060422
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.1400da330
mov rsi, rax
add ebx, 1
cmp ebx, 0x786b
mov dword [rsp + 0x3c], ebx
jle 0x140060439
mov rax, rbp
jmp 0x140060c26
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.1400da330
jmp 0x140060c26
cmp r10d, 2
jne 0x14006069c
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 0x1400604b1
movzx eax, word [rsp + 0xf0]
sub eax, 0x30
cmp eax, 2
jne 0x1400604b1
mov eax, dword [rsp + 0x44]
mov esi, dword [rsp + 0x40]
jmp 0x1400604b9
mov eax, dword [rsp + 0x40]
mov esi, dword [rsp + 0x44]
cmp esi, 0x64
mov dword [rsp + 0x3c], esi
mov dword [rsp + 0x50], eax
jge 0x140060529
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 0x140060529
cmp esi, dword [rsp + 0x58]
jbe 0x140060529
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 0x140060543
mov rsi, rbp
jmp 0x1400605ea
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 0x140060585
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 0x1400605c7
test r8d, r8d
jns 0x1400605c7
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.1400da330
mov cx, word [rsp + 0x3c]
mov rsi, rax
cmp dword [rsp + 0x3c], 0x786b
mov eax, dword [rsp + 0x50]
jle 0x140060600
mov rax, rbp
jmp 0x140060c26
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 0x14006063b
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 0x14006067c
test eax, eax
jns 0x14006067c
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.1400da330
jmp 0x140060c26
cmp r10d, 3
jne 0x140060c2a
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 0x1400606f1
movzx eax, word [rsp + 0xf0]
sub eax, 0x30
je 0x1400606e3
cmp eax, 2
jne 0x1400606f1
mov ebx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x48]
jmp 0x1400606f9
mov esi, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
mov ebx, dword [rsp + 0x48]
jmp 0x1400606fd
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 0x140060771
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 0x140060771
cmp ebx, dword [rsp + 0x58]
jbe 0x140060771
sub ebx, 0x64
mov dword [rsp + 0x3c], ebx
lea rdx, [0x1401b82f4]
mov rcx, rdi
call fcn.1401757e0
test eax, eax
je 0x140060900
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 0x1400607eb
nop
cmp al, 0x30
jb 0x1400607dc
cmp al, 0x39
ja 0x1400607dc
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [rbp + rbp*4]
lea rbp, [rcx + rax*2]
jmp 0x1400607e0
cmp al, 0x2c
jne 0x1400607eb
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x1400607c0
mov qword [rdi], rdx
mov word [rsp + 0x48], bp
lea rdx, [0x1401b82f0]
mov rcx, rdi
movabs rbp, 0x861c46800
call fcn.140175770
test eax, eax
je 0x1400608e7
mov rdx, qword [rdi]
xor ebx, ebx
movzx eax, byte [rdx]
mov r8, rbx
test al, al
je 0x14006084d
cmp al, 0x30
jb 0x14006083e
cmp al, 0x39
ja 0x14006083e
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [r8 + r8*4]
lea r8, [rcx + rax*2]
jmp 0x140060842
cmp al, 0x2c
jne 0x14006084d
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x140060823
mov qword [rdi], rdx
lea rdx, [0x1401b82f0]
mov rcx, rdi
mov word [rsp + 0x4a], r8w
mov ebp, 0x23c34600
call fcn.140175770
test eax, eax
je 0x1400608e7
mov rdx, qword [rdi]
movzx eax, byte [rdx]
test al, al
je 0x1400608a2
cmp al, 0x30
jb 0x140060893
cmp al, 0x39
ja 0x140060893
movzx eax, al
sub eax, 0x30
movsxd rcx, eax
lea rax, [rbx + rbx*4]
lea rbx, [rcx + rax*2]
jmp 0x140060897
cmp al, 0x2c
jne 0x1400608a2
mov al, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x140060878
mov qword [rdi], rdx
lea rdx, [0x1401b7eb0]
mov rcx, rdi
mov word [rsp + 0x4c], bx
mov ebp, 0x989680
call fcn.1401757b0
test eax, eax
jne 0x1400608e7
lea rdx, [0x1401b82ec]
mov rcx, rdi
call fcn.140175770
test eax, eax
je 0x1400608e7
mov rcx, rdi
call fcn.1400551a0
mov ebp, 0x2710
mov word [rsp + 0x4e], ax
lea rcx, [rsp + 0x40]
call fcn.1400da330
mov rsi, rax
lea rbx, [rax + rbp - 1]
xor ebp, ebp
jmp 0x140060c2a
cmp ebx, 0x786b
jle 0x14006091f
movabs rax, 0xc92a69bfff
mov rsi, rbp
lea rbx, [rbp + rax]
jmp 0x140060c2a
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 0x14006095d
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 0x14006099e
test ebx, ebx
jns 0x14006099e
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 0x14005efc8
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 0x1400609ef
mov rdx, rbp
jmp 0x140060a8f
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 0x140060a2d
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 0x140060a6e
test ebx, ebx
jns 0x140060a6e
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.1400da330
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 0x140060c2a
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 0x140060b07
mov rsi, rbp
jmp 0x140060baf
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 0x140060b44
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 0x140060b86
test r8d, r8d
jns 0x140060b86
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.1400da330
mov ecx, dword [rsp + 0x74]
mov rsi, rax
mov eax, dword [rsp + 0x58]
mov dx, cx
cmp ecx, 0x786b
jle 0x140060bbc
mov rax, rbp
jmp 0x140060c26
xor ecx, ecx
movzx r9d, dx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rcx
jmp 0x140060610
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.14005ede0
add ebx, 1
mov dword [rsp + 0x38], ebx
lea rcx, [rsp + 0x30]
mov rsi, rax
call fcn.14005ede0
lea rbx, [rax - 1]
cmp dword [rsp + 0x78], 0
je 0x140060c8a
lea rdx, [0x1401b7eb0]
mov rcx, rdi
call fcn.140175770
test eax, eax
jne 0x140060c6e
lea rdx, [0x1401b7e90]
mov rcx, rdi
call fcn.140175770
test eax, eax
jne 0x140060c6e
test ebp, ebp
je 0x140060c8a
lea rdx, str._.:t
mov rcx, rdi
call fcn.140175770
test eax, eax
je 0x140060c8a
mov rbp, qword [rsp + 0x80]
xor r8d, r8d
mov rcx, rdi
mov rdx, rbp
call fcn.14005eea0
mov rbx, qword [rbp + 8]
jmp 0x140060c92
mov rbp, qword [rsp + 0x80]
mov qword [rbp], rsi
mov qword [rbp + 8], rbx
mov rcx, qword [rsp + 0x300]
xor rcx, rsp
call fcn.1401a8fb0
mov rbx, qword [rsp + 0x340]
add rsp, 0x310
pop rdi
pop rsi
pop rbp
ret