Function at 0x406a90
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x493db0
mov eax, dword fs:[0]
push eax
sub esp, 0x8e4
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x8e8], esi
push 0x40000
call fcn.00409de0
add esp, 4
mov edi, eax
cmp byte [esi + 0xc8], 0
mov dword [ebp - 0x8e0], edi
je 0x407455
cmp byte [esi + 9], 0
je 0x406afd
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x407448
push 0x1bb
push str.api.bitflyer.jp
mov ecx, esi
call fcn.00406770
test eax, eax
js 0x407448
cmp byte [esi + 0xc8], 0
je 0x4073f0
push 0x100
lea eax, [ebp - 0x290]
push 0
push eax
lea edi, [esi + 0xa0]
call fcn.004189f0
push 0x40
lea eax, [ebp - 0x90]
push 0
push eax
call fcn.004189f0
push 0x40
lea eax, [ebp - 0x50]
push 0
push eax
call fcn.004189f0
mov edx, dword [esi + 0xb4]
add esp, 0x24
cmp edx, 0x10
jb 0x406b6b
mov ecx, dword [edi]
jmp 0x406b6d
mov ecx, edi
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406b70
sub ecx, edi
mov dword [ebp - 0x8d4], ecx
cmp edx, 0x10
jb 0x406b8c
mov edi, dword [esi + 0xa0]
jmp 0x406b92
lea edi, [esi + 0xa0]
xor eax, eax
xor edx, edx
test ecx, ecx
js 0x406bc4
jle 0x406bb9
nop dword [eax]
mov cl, byte [edi + eax]
cmp cl, 0x2e
je 0x406bb9
mov byte [ebp + eax - 0x90], cl
inc edx
inc eax
cmp edx, dword [ebp - 0x8d4]
jl 0x406ba0
mov byte [ebp + eax - 0x90], 0
lea edx, [eax + 1]
mov ecx, dword [esi + 0xb0]
mov dword [ebp - 0x8dc], edx
cmp edx, ecx
jbe 0x406c12
push 0xc4c
push str.c:program_files__x86_microsoft_visual_studio2017community_vc_toolsmsvc14.13.26128includexstring
push str.string_subscript_out_of_range
call fcn.0040c3b0
push 0
push 0xc4c
push str.c:program_files__x86_microsoft_visual_studio2017community_vc_toolsmsvc14.13.26128includexstring
push str.std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char___::operator___
push str._string_subscript_out_of_range_
call fcn.00450ea0
mov ecx, dword [esi + 0xb0]
add esp, 0x20
mov edx, dword [ebp - 0x8dc]
cmp dword [esi + 0xb4], 0x10
lea eax, [esi + 0xa0]
jb 0x406c27
mov eax, dword [esi + 0xa0]
lea edi, [eax + edx]
lea eax, [edi + 1]
mov dword [ebp - 0x8d4], eax
mov al, byte [edi]
inc edi
test al, al
jne 0x406c33
sub edi, dword [ebp - 0x8d4]
cmp edx, ecx
jbe 0x406c7c
push 0xc4c
push str.c:program_files__x86_microsoft_visual_studio2017community_vc_toolsmsvc14.13.26128includexstring
push str.string_subscript_out_of_range
call fcn.0040c3b0
push 0
push 0xc4c
push str.c:program_files__x86_microsoft_visual_studio2017community_vc_toolsmsvc14.13.26128includexstring
push str.std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char___::operator___
push str._string_subscript_out_of_range_
call fcn.00450ea0
mov edx, dword [ebp - 0x8dc]
add esp, 0x20
mov ecx, dword [esi + 0xb4]
lea eax, [esi + 0xa0]
cmp ecx, 0x10
jb 0x406c93
mov eax, dword [esi + 0xa0]
add eax, edx
mov dword [ebp - 0x8d4], eax
xor eax, eax
test edi, edi
js 0x406ccd
xor ecx, ecx
test edi, edi
jle 0x406cc8
mov esi, dword [ebp - 0x8d4]
nop dword [eax]
mov dl, byte [esi + eax]
cmp dl, 0x2e
je 0x406cc2
mov byte [ebp + eax - 0x50], dl
inc ecx
inc eax
cmp ecx, edi
jl 0x406cb0
mov esi, dword [ebp - 0x8e8]
mov byte [ebp + eax - 0x50], 0
mov ecx, str.getchats
lea eax, [ebp - 0x90]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406cf8
test dl, dl
je 0x406cf4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406cf8
add eax, 2
add ecx, 2
test dl, dl
jne 0x406cd8
xor eax, eax
jmp 0x406cfd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x406dc4
lea eax, [ebp - 0x8d0]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movups xmm0, xmmword [ebp - 0x8d0]
or ecx, 0xffffffff
sub ecx, dword [esi + 0x98]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, esi
shl eax, 2
push eax
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
lea eax, [ebp - 0x8a0]
push eax
call fcn.00406120
movups xmm1, xmmword [eax]
pextrw eax, xmm1, 6
movaps xmm0, xmm1
psrldq xmm0, 8
movd ecx, xmm0
movaps xmm0, xmm1
movzx eax, ax
push eax
mov eax, ecx
psrldq xmm0, 4
shr eax, 0x10
push eax
movzx eax, cx
push eax
movd eax, xmm0
movd ecx, xmm1
movups xmmword [ebp - 0x8d0], xmm1
shr eax, 0x10
push eax
mov eax, ecx
shr eax, 0x10
push eax
movzx eax, cx
push eax
push str._04d__02d__02dT_02d:_02d:_02d
lea eax, [ebp - 0x50]
push 0x40
push eax
call fcn.00401c80
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [esi + 0xc]
push eax
push str._s_s_from_date_s
lea eax, [ebp - 0x290]
push 0x100
push eax
call fcn.00401c80
add esp, 0x3c
jmp 0x406dec
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [esi + 0xc]
push eax
push str._s_s_product_code_s
lea eax, [ebp - 0x290]
push 0x100
push eax
call fcn.00401c80
add esp, 0x18
push 0x400
lea eax, [ebp - 0x890]
push 0
push eax
call fcn.004189f0
lea eax, [esi + 0x20c]
push eax
lea eax, [esi + 0x10c]
push eax
lea eax, [ebp - 0x290]
push eax
push str.GET__s_HTTP_1.0_r_nHost:__s_r_nCookie:__s_r_nConnection:_keep_alive_r_n_r_n
lea eax, [ebp - 0x890]
push 0x400
push eax
call fcn.00401c80
lea ecx, [ebp - 0x890]
add esp, 0x24
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406e36
sub ecx, edx
lea eax, [ebp - 0x890]
push ecx
push eax
push dword [esi + 0x104]
call sub.libssl_1_1.dll_SSL_write
add esp, 0xc
test eax, eax
jns 0x406e6e
push eax
push dword [esi + 0x104]
call sub.libssl_1_1.dll_SSL_get_error
push eax
call fcn.00407490
add esp, 0xc
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x8d4], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x8d4]
cmp eax, dword [esi + 0x50]
jge 0x406ed0
nop dword [eax]
mov eax, dword [ebp - 0x8e0]
mov ecx, 0x40000
sub ecx, edi
add eax, edi
push ecx
push eax
push dword [esi + 0x104]
call sub.libssl_1_1.dll_SSL_read
add esp, 0xc
mov dword [ebp - 0x8f0], eax
test eax, eax
jle 0x406ebd
add edi, eax
jmp 0x406ebf
je 0x406ed0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x8d4]
cmp eax, dword [esi + 0x50]
jl 0x406e90
mov eax, dword [ebp - 0x8f0]
test eax, eax
jns 0x406ef2
push eax
push dword [esi + 0x104]
call sub.libssl_1_1.dll_SSL_get_error
add esp, 8
cmp eax, 2
jne 0x4073e1
test edi, edi
js 0x4073ea
push str.Set_Cookie:
push dword [ebp - 0x8e0]
call fcn.0041a050
mov edx, eax
add esp, 8
test edx, edx
je 0x406f8b
xor ecx, ecx
lea edi, [esi + 0x20c]
nop dword [eax + eax]
mov al, byte [edx + ecx + 0xb]
mov byte [ecx + edi], al
cmp byte [edx + ecx + 0xb], 0xd
je 0x406f87
mov al, byte [ecx + edx + 0xc]
mov byte [ecx + edi + 1], al
cmp byte [ecx + edx + 0xc], 0xd
je 0x406f86
mov al, byte [ecx + edx + 0xd]
mov byte [ecx + edi + 2], al
cmp byte [ecx + edx + 0xd], 0xd
je 0x406f81
mov al, byte [ecx + edx + 0xe]
mov byte [ecx + edi + 3], al
cmp byte [ecx + edx + 0xe], 0xd
je 0x406f7c
mov al, byte [ecx + edx + 0xf]
mov byte [ecx + edi + 4], al
cmp byte [ecx + edx + 0xf], 0xd
je 0x406f77
add ecx, 5
cmp ecx, 0xff
jl 0x406f20
jmp 0x406f87
add ecx, 4
jmp 0x406f87
add ecx, 3
jmp 0x406f87
add ecx, 2
jmp 0x406f87
inc ecx
mov byte [ecx + edi], 0
mov ecx, dword [esi + 0xc0]
mov eax, 0x92492493
sub ecx, dword [esi + 0xbc]
imul ecx
mov dword [ebp - 0x8dc], 0
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4072c9
mov dword [ebp - 0x8d4], 0
push 0x138
call fcn.00409a50
mov edi, eax
add esp, 4
test edi, edi
je 0x40707e
push 8
mov dword [ebp - 4], 0
mov dword [edi], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
call fcn.00401f30
mov dword [edi], eax
lea esi, [edi + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [edi]
mov dword [eax], edi
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0xf
mov byte [edi + 4], 0
push 8
mov dword [ebp - 4], 1
mov dword [esi], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
call fcn.00401f30
mov dword [esi], eax
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [esi]
mov dword [eax], esi
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0xf
mov byte [esi + 4], 0
mov esi, dword [ebp - 0x8e8]
jmp 0x407080
xor edi, edi
lea ecx, [esi + 0x9c]
cmp edi, ecx
je 0x4070a0
cmp dword [ecx + 0x18], 0x10
lea eax, [ecx + 4]
jb 0x407095
mov eax, dword [eax]
push dword [ecx + 0x14]
mov ecx, edi
push eax
call fcn.00405fc0
mov ecx, dword [esi + 0xc0]
mov eax, 0x92492493
sub ecx, dword [esi + 0xbc]
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [ebp - 0x8dc]
ja 0x4070f9
push 0x70e
push 0x496008
push str.vector_subscript_out_of_range
call fcn.0040c3b0
push 0
push 0x70e
push 0x496008
push str.std::vector_class_std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char____class_std::allocator_class_std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char_______::operator___
push str._vector_subscript_out_of_range_
call fcn.00450ea0
add esp, 0x20
mov eax, dword [esi + 0xbc]
lea ecx, [edi + 0x1c]
add eax, dword [ebp - 0x8d4]
cmp ecx, eax
je 0x407120
cmp dword [eax + 0x18], 0x10
lea edx, [eax + 4]
jb 0x407117
mov edx, dword [edx]
push dword [eax + 0x14]
push edx
call fcn.00405fc0
cmp dword [edi + 0x34], 0x10
lea ecx, [edi + 0x20]
jb 0x40712b
mov ecx, dword [ecx]
push dword [ebp - 0x8e0]
lea eax, [edi + 0x38]
push ecx
push 0x100
push eax
lea ecx, [ebp - 0x8e1]
call fcn.00404d00
test al, al
je 0x407264
lea ecx, [edi + 0x38]
xorps xmm0, xmm0
push ecx
lea eax, [ebp - 0x8c0]
mov ecx, esi
push eax
movups xmmword [ebp - 0x8c0], xmm0
call fcn.00406280
test al, al
je 0x40720a
mov eax, dword [esi + 0x98]
mov ecx, eax
movups xmm0, xmmword [ebp - 0x8c0]
shl ecx, 4
sub ecx, eax
shl ecx, 2
push ecx
sub esp, 0x10
mov ecx, esi
mov eax, esp
movups xmmword [eax], xmm0
lea eax, [ebp - 0x8b0]
push eax
call fcn.00406120
movups xmm1, xmmword [eax]
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd ecx, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
movups xmmword [ebp - 0x8c0], xmm1
mov eax, ecx
shr eax, 0x10
push eax
movzx eax, cx
push eax
movd ecx, xmm0
movaps xmm0, xmm1
psrldq xmm0, 4
mov eax, ecx
shr eax, 0x10
push eax
movzx eax, cx
push eax
movd eax, xmm0
movd ecx, xmm1
shr eax, 0x10
push eax
mov eax, ecx
shr eax, 0x10
push eax
movzx eax, cx
push eax
push str._u__u__u___u:_u:_u._u
lea eax, [edi + 0x38]
push 0x100
push eax
call fcn.00401c80
add esp, 0x28
lea edx, [edi + 0x38]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x8ec], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407218
sub ecx, dword [ebp - 0x8ec]
lea eax, [ebp - 0x490]
push 0x100
push eax
lea eax, [ecx + 1]
push eax
push edx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0
push 0x100
lea ecx, [edi + 0x38]
push ecx
push eax
lea eax, [ebp - 0x490]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
jmp 0x40727a
push 0x4964d0
lea eax, [edi + 0x38]
push 0x100
push eax
call fcn.00457a00
add esp, 0xc
push 0
push edi
push 0x8001
push dword [esi + 0xcc]
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [esi + 0xc0]
mov eax, 0x92492493
sub ecx, dword [esi + 0xbc]
mov edi, dword [ebp - 0x8dc]
add dword [ebp - 0x8d4], 0x1c
inc edi
imul ecx
mov dword [ebp - 0x8dc], edi
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x406fc4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
imul ecx, dword [esi + 0x4c], 0x3e8
sub eax, edi
cmp eax, ecx
jge 0x407308
cmp byte [esi + 0xc8], 0
je 0x407308
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
imul ecx, dword [esi + 0x4c], 0x3e8
sub eax, edi
cmp eax, ecx
jl 0x4072e4
push 0x100
lea eax, [ebp - 0x190]
push 0
push eax
call fcn.004189f0
mov edi, dword [ebp - 0x8e0]
push str.Connection:
push edi
call fcn.0041a050
mov edx, eax
add esp, 0x14
test edx, edx
je 0x4073bf
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [edx + ecx + 0xb]
mov byte [ebp + ecx - 0x190], al
cmp byte [edx + ecx + 0xb], 0xd
je 0x4073b7
mov al, byte [ecx + edx + 0xc]
mov byte [ebp + ecx - 0x18f], al
cmp byte [ecx + edx + 0xc], 0xd
je 0x4073b6
mov al, byte [ecx + edx + 0xd]
mov byte [ebp + ecx - 0x18e], al
cmp byte [ecx + edx + 0xd], 0xd
je 0x4073b1
mov al, byte [ecx + edx + 0xe]
mov byte [ebp + ecx - 0x18d], al
cmp byte [ecx + edx + 0xe], 0xd
je 0x4073ac
mov al, byte [ecx + edx + 0xf]
mov byte [ebp + ecx - 0x18c], al
cmp byte [ecx + edx + 0xf], 0xd
je 0x4073a7
add ecx, 5
cmp ecx, 0xff
jl 0x407340
jmp 0x4073b7
add ecx, 4
jmp 0x4073b7
add ecx, 3
jmp 0x4073b7
add ecx, 2
jmp 0x4073b7
inc ecx
mov byte [ebp + ecx - 0x190], 0
lea eax, [ebp - 0x190]
push str.close
push eax
call fcn.0041a050
add esp, 8
test eax, eax
jne 0x4073f0
cmp byte [esi + 9], al
jne 0x4073f0
jmp 0x406b16
push eax
call fcn.00407490
add esp, 4
mov edi, dword [ebp - 0x8e0]
mov eax, dword [esi + 0x104]
test eax, eax
je 0x407418
push eax
call sub.libssl_1_1.dll_SSL_shutdown
push dword [esi + 0x104]
call sub.libssl_1_1.dll_SSL_free
add esp, 8
mov dword [esi + 0x104], 0
push dword [esi + 0x100]
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [esi + 0x108]
test eax, eax
je 0x407441
push eax
call sub.libssl_1_1.dll_SSL_CTX_free
add esp, 4
mov dword [esi + 0x108], 0
mov byte [esi + 0x20c], 0
cmp byte [esi + 0xc8], 0
jne 0x406ae7
push edi
call fcn.00409e00
add esp, 4
mov byte [esi + 8], 0
call fcn.00458310
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004099c0
mov esp, ebp
pop ebp
ret