Function at 0x450a30
Capabilities:
Check for time delay via gettickcount
Create directory
Get common file path
Get file attributes
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47803c
mov eax, dword fs:[0]
push eax
sub esp, 0xea8
mov eax, dword [0x483014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xeb0], edi
cmp byte [edi + 0x17de], 1
je 0x450ac0
mov esi, dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
push 0
call esi
sub eax, dword [edi]
add esp, 4
cmp eax, 0x2a300
jbe 0x450adf
lea ecx, [ebp - 0xe2c]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
push 0x47bd70
push 0xf
push dword [ebp + 8]
mov dword [ebp - 4], 0
mov ecx, dword [0x496a94]
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov byte [edi + 0x17de], 1
lea ecx, [ebp - 0xe2c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
xor eax, eax
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.0047724d
mov esp, ebp
pop ebp
ret 4
push 0
call esi
add esp, 4
mov dword [ebp - 0xe60], eax
lea eax, [ebp - 0xeac]
mov dword [ebp - 0xe5c], edx
lea ecx, [ebp - 0xe60]
push eax
call fcn.0045df50
test eax, eax
je 0x450b11
mov eax, dword [eax + 0x10]
inc eax
cmp eax, 9
je 0x450b30
lea eax, [ebp - 0xeac]
push eax
lea ecx, [ebp - 0xe60]
call fcn.0045df50
test eax, eax
je 0x450ac0
mov eax, dword [eax + 0x10]
inc eax
cmp eax, 0xa
jne 0x450ac0
cmp dword [0x496a90], 0
je 0x450d25
push 0x200
lea eax, [ebp - 0x220]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xe24]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0xe28]
mov dword [ebp - 4], 1
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0xe2c]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0xe44]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
push 0
mov byte [ebp - 4], 4
call esi
add esp, 4
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x220]
mov dword [ebp - 0x18], edx
push 0
push 0
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push dword [edi + 4]
mov esi, dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__12]
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0xe24]
push str._sGzxItem
push eax
call esi
add esp, 0x10
push dword [ebp - 0xe24]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0x10
je 0x450bee
push 0
push dword [ebp - 0xe24]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push dword [edi + 4]
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0xe24]
push str._sGzxItem_u.ini
push eax
call esi
push dword [edi + 4]
lea eax, [ebp - 0xe28]
push 0x47bd68
push eax
call esi
add esp, 0x1c
lea eax, [ebp - 0xeac]
lea ecx, [ebp - 0x1c]
push eax
call fcn.0045df50
test eax, eax
je 0x450c32
mov eax, dword [eax + 0xc]
jmp 0x450c34
xor eax, eax
push eax
lea eax, [ebp - 0xe44]
push 0x47c244
push eax
call esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
add esp, 0xc
push dword [ebp - 0xe24]
push 0
push 0x47bdb4
push 0x47bdbc
call esi
push dword [ebp - 0xe24]
mov dword [ebp - 0xeb4], eax
push 0
push 0x47bdc8
push 0x47bdbc
call esi
mov esi, eax
lea ecx, [ebp - 0x1c]
lea eax, [ebp - 0xeac]
push eax
call fcn.0045df50
test eax, eax
je 0x450c94
mov ecx, dword [eax + 0xc]
jmp 0x450c96
xor ecx, ecx
cmp dword [ebp - 0xeb4], ecx
jne 0x450cee
cmp esi, 1
jne 0x450cee
mov ecx, dword [0x496a94]
push 0x47bdc8
push 0xf
push dword [ebp + 8]
mov dword [edi + 0x3b2], esi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
lea ecx, [ebp - 0xe44]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0xe2c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0xe28]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0xe24]
jmp 0x450aba
lea ecx, [ebp - 0xe44]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0xe2c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0xe28]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0xe24]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push 0x30
lea eax, [edi + 0x36a]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
add esp, 0xc
mov dword [edi + 0x39a], 0
mov dword [edi + 0x39e], 0
call esi
mov dword [edi + 0x482], eax
mov dword [edi + 0x4bb], 0
mov dword [edi + 0x47a], 0
mov dword [edi + 0x476], 0
mov byte [edi + 0x4a4], 1
mov dword [edi + 0x472], 0
mov byte [edi + 0x497], 1
mov word [edi + 0x4ac], 0
mov byte [edi + 0x4a9], 0
mov byte [edi + 0x4ae], 0
mov dword [edi + 0x46a], 0
mov dword [edi + 0x3a2], 0
mov word [edi + 0x4c4], 0
mov dword [edi + 0x42a], 0
mov word [edi + 0x4c1], 1
mov dword [edi + 0x40a], 0
mov byte [edi + 0x4b8], 6
mov byte [edi + 0x4ba], 0
call esi
mov dword [edi + 0x3fa], eax
mov dword [edi + 0x46e], 0
mov byte [edi + 0x4b7], 0
mov byte [edi + 0x4b4], 0
mov byte [edi + 0x4d7], 0
call esi
inc dword [edi + 0x3f2]
mov dword [edi + 0x3fe], eax
xor eax, eax
mov dword [edi + 0x4ca], eax
mov dword [edi + 0x3f6], eax
mov dword [edi + 0x3ee], eax
mov dword [edi + 0x406], eax
mov word [edi + 0x4b5], ax
mov word [edi + 0x4d4], ax
mov dword [edi + 0x422], eax
mov dword [edi + 0x426], eax
mov dword [edi + 0x42a], eax
mov byte [edi + 0x4b9], al
mov eax, dword [edi + 0x47e]
mov dword [edi + 0x402], 0
mov byte [edi + 0x4d6], 1
test eax, eax
je 0x450e90
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 0x47e], 0
mov ecx, dword [edi + 0x40e]
test ecx, ecx
je 0x450ea9
call fcn.0045fd40
mov dword [edi + 0x40e], 0
mov ecx, dword [edi + 0x416]
test ecx, ecx
je 0x450ec2
call fcn.0045fd40
mov dword [edi + 0x416], 0
mov ecx, dword [edi + 0x412]
test ecx, ecx
je 0x450edb
call fcn.0045fd40
mov dword [edi + 0x412], 0
cmp byte [edi + 0x4c3], 0
jne 0x450ef4
mov ecx, dword [edi + 0x17c6]
push 0xffffffffffffffff
push 0
call dword [sym.imp.mfc140u.dll_CByteArray::SetSize]
cmp dword [edi + 0x17ca], 0
jne 0x450f08
call fcn.00450430
mov dword [edi + 0x17ca], eax
mov eax, dword [edi + 0x17ca]
test eax, eax
je 0x450ac0
push 0x186a0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [edi + 0x406], 0
mov edx, 0x2710
push 2
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, str.121.14.75.60
call fcn.0045fca0
mov dword [edi + 0x40e], eax
test eax, eax
je 0x450ac0
inc dword [edi + 0x406]
lea ecx, [ebp - 0xe58]
mov esi, dword [sym.imp.mfc140u.dll_CByteArray::CByteArray]
xorps xmm0, xmm0
movups xmmword [ebp - 0xe58], xmm0
mov dword [ebp - 0xe48], 0
call esi
mov dword [ebp - 4], 5
push dword [edi + 4]
mov edi, dword [sym.imp.WS2_32.dll_htonl]
call edi
push 4
lea edx, [ebp - 0xe24]
mov dword [ebp - 0xe24], eax
lea ecx, [ebp - 0xe58]
call fcn.004502e0
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call edi
push 4
lea edx, [ebp - 0xe24]
mov dword [ebp - 0xe24], eax
lea ecx, [ebp - 0xe58]
call fcn.004502e0
add esp, 4
push 0x4aad
call edi
push 4
lea edx, [ebp - 0xe24]
mov dword [ebp - 0xe24], eax
lea ecx, [ebp - 0xe58]
call fcn.004502e0
push 4
lea edx, [ebp - 0xe24]
lea ecx, [ebp - 0xe58]
call fcn.004502e0
push 0xb4
mov edx, 0x495800
lea ecx, [ebp - 0xe58]
call fcn.004502e0
add esp, 0xc
mov dword [ebp - 0xe64], 0
xorps xmm0, xmm0
lea ecx, [ebp - 0xe74]
movups xmmword [ebp - 0xe74], xmm0
call esi
mov byte [ebp - 4], 6
lea edx, [ebp - 0x20]
push 0xe
lea ecx, [ebp - 0xe74]
mov dword [ebp - 0x20], 0x5a00
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xffff0700
mov word [ebp - 0x14], 0x1000
call fcn.004502e0
mov eax, dword [ebp - 0xe50]
add esp, 4
mov esi, dword [sym.imp.WS2_32.dll_htons]
add eax, 2
push eax
call esi
movzx eax, ax
lea edx, [ebp - 0xe28]
push 2
lea ecx, [ebp - 0xe74]
mov dword [ebp - 0xe28], eax
call fcn.004502e0
push dword [ebp - 0xe50]
mov edx, dword [ebp - 0xe54]
lea ecx, [ebp - 0xe74]
call fcn.004502e0
mov ecx, dword [ebp - 0xeb0]
lea eax, [ebp - 0xe2c]
add esp, 8
mov dword [ebp - 0xe2c], 0
push eax
lea eax, [ebp - 0xe20]
push eax
lea eax, [ecx + 0x10c]
push eax
push dword [ebp - 0xe6c]
push dword [ebp - 0xe70]
call fcn.00450660
xorps xmm0, xmm0
mov dword [ebp - 0xe30], 0
lea ecx, [ebp - 0xe40]
movups xmmword [ebp - 0xe40], xmm0
call dword [sym.imp.mfc140u.dll_CByteArray::CByteArray]
push 0x4aad
mov byte [ebp - 4], 7
call esi
movzx eax, ax
lea edx, [ebp - 0xe28]
push 2
lea ecx, [ebp - 0xe40]
mov dword [ebp - 0xe28], eax
call fcn.004502e0
mov esi, dword [sym.imp.mfc140u.dll_CByteArray::SetAtGrow]
lea ecx, [ebp - 0xe40]
add esp, 4
push 0xff
push dword [ebp - 0xe38]
call esi
push 0xff
push dword [ebp - 0xe38]
lea ecx, [ebp - 0xe40]
call esi
push 0
push dword [ebp - 0xe38]
lea ecx, [ebp - 0xe40]
call esi
push 0
push dword [ebp - 0xe38]
lea ecx, [ebp - 0xe40]
call esi
push 0
push dword [ebp - 0xe38]
lea ecx, [ebp - 0xe40]
call esi
push 1
push dword [ebp - 0xe38]
lea ecx, [ebp - 0xe40]
call esi
mov eax, dword [ebp - 0xeb0]
push dword [eax + 4]
call edi
push 4
lea edx, [ebp - 0xe24]
mov dword [ebp - 0xe24], eax
lea ecx, [ebp - 0xe40]
call fcn.004502e0
add esp, 4
lea ecx, [ebp - 0xe40]
push 1
push dword [ebp - 0xe38]
call esi
push 0x78
push dword [ebp - 0xe38]
lea ecx, [ebp - 0xe40]
call esi
mov esi, dword [ebp - 0xeb0]
lea ecx, [ebp - 0xe40]
push 0x78
lea edx, [esi + 0x11c]
call fcn.004502e0
push dword [ebp - 0xe2c]
lea edx, [ebp - 0xe20]
lea ecx, [ebp - 0xe40]
call fcn.004502e0
push 0xc00
lea eax, [ebp - 0xe20]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
mov dword [ebp - 0xe78], 0
add esp, 0x14
movups xmmword [ebp - 0xe88], xmm0
lea ecx, [ebp - 0xe88]
call dword [sym.imp.mfc140u.dll_CByteArray::CByteArray]
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0xe38]
add eax, 4
push eax
call edi
push 4
lea edx, [ebp - 0xe24]
mov dword [ebp - 0xe24], eax
lea ecx, [ebp - 0xe88]
call fcn.004502e0
push dword [ebp - 0xe38]
mov edx, dword [ebp - 0xe3c]
lea ecx, [ebp - 0xe88]
call fcn.004502e0
mov ecx, dword [esi + 0x40e]
add esp, 8
xor edi, edi
test ecx, ecx
je 0x4512b9
mov edx, dword [ebp - 0xe84]
sub esp, 0xc
push dword [ebp - 0xe80]
call fcn.0045fd20
mov edi, eax
neg edi
sbb edi, edi
inc edi
mov esi, dword [reloc.mfc140u.dll_CByteArray::CByteArray]
lea ecx, [ebp - 0xe88]
call esi
lea ecx, [ebp - 0xe40]
call esi
lea ecx, [ebp - 0xe74]
call esi
lea ecx, [ebp - 0xe58]
call esi
mov eax, edi
jmp 0x450ac2