Function at 0x410050
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 0x4a29a6
mov eax, dword fs:[0]
push eax
sub esp, 0xaf4
mov eax, dword [0x4c3014]
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 - 0x28], esi
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0xaec]
mov dword [ebp - 0xb00], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xae8], eax
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0xaf0]
mov dword [ebp - 4], 0
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov ecx, dword [ebp - 0xb00]
mov byte [ebp - 4], 1
mov eax, dword [ecx + 0x33]
mov dword [ebp - 0x40], eax
cmp eax, dword [esi + 8]
jne 0x4113b9
mov byte [esi + 0x5df], 1
mov edi, dword [ecx + 0x5c]
mov dword [ebp - 0x48], edi
cmp edi, 0xffffffff
jne 0x4100e8
cmp dword [ecx + 0x60], 0
jl 0x4113b9
mov al, byte [ecx + 0x55]
xorps xmm0, xmm0
movups xmmword [ebp - 0x7f], xmm0
mov word [ebp - 0x6f], 0
movups xmm0, xmmword [ecx + 0x45]
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x6d], 0
mov byte [ebp - 0x70], al
lea edx, [ecx + 1]
movups xmmword [ebp - 0x80], xmm0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410110
sub ecx, edx
cmp ecx, 0x11
jae 0x4113b9
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0xaf4]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__4]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0xaf4]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x30], eax
cmp eax, 0x11
jge 0x4113ad
push 0x64
lea eax, [ebp - 0x1e4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0xaf4]
add esp, 0xc
add eax, eax
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer]
push eax
lea eax, [ebp - 0x1e4]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [0x4c6278]
lea eax, [ebp - 0x1e4]
add esp, 0xc
push eax
push 5
push dword [ebp + 0x10]
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov ecx, edi
call fcn.00428660
cmp dword [ebp - 0x48], 0xffffffff
mov edi, eax
mov eax, 0xc9
cmove edi, eax
lea eax, [ebp - 0xaec]
push edi
push 0x4b7db0
push eax
mov dword [ebp - 0x48], edi
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov eax, dword [ebp + 0x10]
add esp, 0xc
mov ecx, dword [0x4c6278]
push dword [ebp - 0xaec]
push 6
push eax
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov eax, dword [ebp - 0xb00]
mov dword [esi + 0x4c3], edi
mov eax, dword [eax + 0x60]
mov dword [esi + 0x43a], eax
cmp eax, 0x4c4b400
ja 0x4113ad
push eax
lea eax, [ebp - 0xaec]
push 0x4b7db0
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov edi, dword [ebp + 0x10]
add esp, 0xc
mov ecx, dword [0x4c6278]
push dword [ebp - 0xaec]
push 7
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov ecx, dword [ebp - 0xb00]
mov eax, dword [ecx + 0x90]
mov dword [esi + 0x4c7], eax
cmp eax, 0x989680
ja 0x4113ad
push eax
lea eax, [ebp - 0xaec]
push 0x4b7db0
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c6278]
add esp, 0xc
push dword [ebp - 0xaec]
push 9
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov ecx, dword [ebp - 0xb00]
mov eax, dword [ecx + 0x9c]
mov dword [esi + 0x43e], eax
cmp eax, 0xf4240
ja 0x4113ad
push eax
lea eax, [ebp - 0xaec]
push 0x4b7db0
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c6278]
add esp, 0xc
push dword [ebp - 0xaec]
push 8
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov ecx, dword [ebp - 0xb00]
mov eax, dword [ecx + 0x78]
mov dword [esi + 0x4cb], eax
cmp eax, 0x5f5e100
ja 0x4113ad
push eax
lea eax, [ebp - 0xaec]
push 0x4b7db0
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c6278]
add esp, 0xc
push dword [ebp - 0xaec]
push 0xa
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov ecx, dword [ebp - 0xb00]
mov dword [ebp - 0xaf8], 0
mov eax, dword [ecx + 0xb0]
lea ecx, [ebp - 0xafc]
mov dword [ebp - 0xafc], eax
call fcn.0041ff30
push eax
lea ecx, [ebp - 0xafc]
call fcn.0041fef0
push eax
lea ecx, [ebp - 0xafc]
call fcn.0041fea0
push eax
lea eax, [ebp - 0xaec]
push 0x4b6f28
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c6278]
add esp, 0x14
push dword [ebp - 0xaec]
push 0xd
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov eax, dword [esi + 8]
mov edi, dword [ebp - 0xb00]
add eax, eax
push 0x100
mov dword [ebp - 0x30], eax
add edi, 0xb4
lea eax, [ebp - 0x6e4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp - 0x30]
mov eax, ecx
shr eax, 0x18
push eax
movzx eax, cl
push eax
lea eax, [ebp - 0x6e4]
push 0x4b7768
push eax
call fcn.0041fb80
lea eax, [ebp - 0x6e4]
push eax
push edi
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 0x24
test eax, eax
jne 0x4103cf
mov dword [esi + 0x44a], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x4c625c], 0
mov dword [esi + 0x510], eax
je 0x41086b
mov eax, dword [ebp + 0x10]
mov ecx, dword [0x4c6278]
push 0x4b7dac
push 4
push eax
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
push 0x400
lea eax, [ebp - 0x5e4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x400
lea eax, [ebp - 0xae4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x18
mov byte [ebp - 0x6c], 0
lea eax, [ebp - 0x5e4]
mov dword [ebp - 0x53], 0
xorps xmm0, xmm0
mov byte [ebp - 0x4f], 0
movups xmmword [ebp - 0x6b], xmm0
push 0
push 0
push eax
push 0
movq qword [ebp - 0x5b], xmm0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0x5e4]
push eax
lea eax, [ebp - 0xae4]
push 0x4b6f58
push eax
call fcn.0041fb60
push dword [esi + 8]
lea eax, [ebp - 0x6c]
push 0x4b6b74
push eax
call fcn.0041fba0
add esp, 0x18
lea eax, [ebp - 0xae4]
push eax
push 0
lea eax, [ebp - 0x6c]
push eax
push 0x4b70ec
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x18], eax
lea ecx, [edi - 1]
cmp ecx, 0xc8
ja 0x41086b
mov dl, byte [esi + 0x5c6]
movzx ecx, dl
cmp ecx, dword [0x4c4190]
jb 0x4104d0
mov cl, byte [esi + 0x5c7]
cmp cl, 3
je 0x410532
cmp cl, 4
je 0x410532
cmp dl, 0xf
jb 0x4104e5
mov cl, byte [esi + 0x5c7]
cmp cl, 3
je 0x4104e5
cmp cl, 4
jne 0x410532
cmp edi, 0x5a
jb 0x410532
mov ecx, dword [esi + 0x43a]
test ecx, ecx
js 0x4104fc
cmp ecx, 0x12c
jl 0x410532
mov ecx, dword [esi + 0x4c7]
cmp ecx, 1
jl 0x410518
cmp ecx, 0x1f4
jge 0x410518
cmp dword [0x4c60b4], 0
jne 0x410532
mov ecx, dword [esi + 0x4cb]
cmp ecx, 0x4e20
jge 0x41052a
test ecx, ecx
jns 0x410532
test eax, eax
je 0x41086b
push 0x100
lea eax, [ebp - 0x180]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push dword [ebp - 0x18]
lea eax, [ebp - 0x180]
push dword [esi + 0x4cb]
push dword [esi + 0x4c7]
push dword [esi + 0x43a]
push edi
push 0x4b7784
push eax
call fcn.0041fb80
push 0x400
lea eax, [ebp - 0xae4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x400
lea eax, [ebp - 0x5e4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x40
mov byte [ebp - 0x6c], 0
lea eax, [ebp - 0xae4]
mov dword [ebp - 0x53], 0
xorps xmm0, xmm0
mov byte [ebp - 0x4f], 0
movups xmmword [ebp - 0x6b], xmm0
push 0
push 0
push eax
push 0
movq qword [ebp - 0x5b], xmm0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0xae4]
push eax
lea eax, [ebp - 0x5e4]
push 0x4b6f58
push eax
call fcn.0041fb60
push dword [esi + 8]
lea eax, [ebp - 0x6c]
push 0x4b6b74
push eax
call fcn.0041fba0
mov eax, dword [ebp - 0x40]
add esp, 0x18
mov ecx, dword [0x4c6278]
mov dword [esi + 0x416], 2
cmp eax, dword [esi + 8]
je 0x410660
push str.penc
push 0x12
push dword [ebp + 0x10]
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
lea eax, [ebp - 0x5e4]
mov byte [esi + 0x5c6], 0
push eax
push 0x4b77bc
lea eax, [ebp - 0x6c]
push eax
push 0x4b70ec
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x180]
call fcn.0042ba50
mov eax, dword [ebp - 0xae8]
test eax, eax
je 0x4113ad
mov dword [eax], 7
jmp 0x4113ad
push 0x4b77c0
push 0x12
push dword [ebp + 0x10]
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x410843
cmp edi, 0x5a
jae 0x4106c2
lea eax, [ebp - 0x5e4]
push eax
push 0x4b77d4
lea eax, [ebp - 0x6c]
push eax
push 0x4b70ec
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [ebp - 0xae8]
test eax, eax
je 0x410858
mov dword [eax], 2
lea edx, [ebp - 0x180]
mov ecx, dword [esi + 8]
call fcn.0042ba50
jmp 0x4113ad
mov eax, dword [esi + 0x43a]
test eax, eax
js 0x410715
cmp eax, 0x12c
jge 0x410715
lea eax, [ebp - 0x5e4]
push eax
push 0x4b76f8
lea eax, [ebp - 0x6c]
push eax
push 0x4b70ec
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [ebp - 0xae8]
test eax, eax
je 0x410858
mov dword [eax], 4
lea edx, [ebp - 0x180]
mov ecx, dword [esi + 8]
call fcn.0042ba50
jmp 0x4113ad
mov eax, dword [esi + 0x4cb]
cmp eax, 0x4e20
jge 0x410776
test eax, eax
js 0x410776
lea eax, [ebp - 0x5e4]
push eax
push 0x4b77d8
lea eax, [ebp - 0x6c]
push eax
push 0x4b70ec
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x180]
call fcn.0042ba50
mov eax, dword [ebp - 0xae8]
test eax, eax
je 0x410858
mov dword [eax], 5
lea edx, [ebp - 0x180]
mov ecx, dword [esi + 8]
call fcn.0042ba50
jmp 0x4113ad
cmp dword [0x4c60b4], 0
je 0x4107e1
mov eax, dword [esi + 0x4c7]
cmp eax, 1
jl 0x4107e1
cmp eax, 0x1f4
jge 0x4107e1
lea eax, [ebp - 0x5e4]
push eax
push 0x4b77dc
lea eax, [ebp - 0x6c]
push eax
push 0x4b70ec
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x180]
call fcn.0042ba50
mov eax, dword [ebp - 0xae8]
test eax, eax
je 0x410858
mov dword [eax], 6
lea edx, [ebp - 0x180]
mov ecx, dword [esi + 8]
call fcn.0042ba50
jmp 0x4113ad
movzx eax, byte [esi + 0x5c6]
cmp eax, dword [0x4c4190]
jb 0x410858
lea eax, [ebp - 0x5e4]
mov byte [esi + 0x5c6], 0
push eax
push 0x4b77bc
lea eax, [ebp - 0x6c]
push eax
push 0x4b70ec
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x180]
call fcn.0042ba50
mov eax, dword [ebp - 0xae8]
test eax, eax
je 0x410858
mov dword [eax], 8
lea edx, [ebp - 0x180]
mov ecx, dword [esi + 8]
call fcn.0042ba50
jmp 0x4113ad
cmp eax, 1
jne 0x410858
mov eax, dword [ebp - 0xae8]
test eax, eax
je 0x410858
mov dword [eax], 1
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x180]
call fcn.0042ba50
jmp 0x4113ad
cmp dword [esi + 0x4c3], 0
mov eax, dword [ebp - 0xb00]
mov al, byte [eax + 0x10]
mov byte [esi + 0x5fa], al
jbe 0x4113ad
cmp dword [esi + 0x4c7], 0
jl 0x4113ad
mov edi, dword [esi + 0x43a]
test edi, edi
js 0x4113ad
mov ecx, dword [esi + 0x43e]
test ecx, ecx
js 0x4113ad
mov edx, dword [esi + 0x4cb]
test edx, edx
js 0x4113ad
cmp dword [esi + 0x4c7], 0x2faf080
jg 0x4113ad
cmp edi, 0x1c9c380
jg 0x4113ad
cmp ecx, 0xf4240
jg 0x4113ad
cmp edx, 0x2faf080
jg 0x4113ad
cmp dword [esi + 0x4c3], 0xc9
ja 0x4113ad
test al, al
jne 0x41106c
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
cmp dword [0x4c620c], 0
jne 0x410932
cmp dword [0x4c60a4], 0
je 0x410ccc
mov edi, dword [ebp - 0xb00]
add edi, 0x156
push dword [edi]
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x30], eax
add edi, 4
je 0x410ccc
movzx ecx, word [edi]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
cmp ax, 0x19
jne 0x410ccc
inc dword [esi + 0x406]
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
xor eax, eax
mov byte [ebp - 4], 5
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x30], eax
jbe 0x410db8
add edi, 0xa
mov dword [ebp - 0x38], edi
movzx eax, word [edi - 0xa]
push eax
call dword [sym.imp.WS2_32.dll_htons]
cmp ax, 0x19
jne 0x410b8e
push dword [edi - 8]
call dword [sym.imp.WS2_32.dll_htonl]
mov edi, eax
mov eax, dword [ebp - 0x38]
push dword [eax - 4]
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0xae8], eax
mov eax, dword [ebp - 0x38]
push dword [eax]
call dword [sym.imp.WS2_32.dll_htonl]
cmp dword [0x4c60a4], 0
je 0x410a2e
cmp byte [esi + 0x580], 0
jne 0x410a2e
cmp edi, 0x2a27
jne 0x410b75
cmp eax, 0xffffffff
je 0x410b75
push eax
lea eax, [ebp - 0xaf0]
mov byte [esi + 0x580], 1
push 0x4b7db0
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov edi, dword [ebp + 0x10]
add esp, 0xc
mov ecx, dword [0x4c6278]
push dword [ebp - 0xaf0]
push 0xc
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
jmp 0x410b91
mov eax, dword [ebp - 0xae8]
cmp edi, 0x55dc
jne 0x410a44
mov dword [esi + 0x366], eax
jmp 0x410a82
cmp edi, 0x55e2
jne 0x410a54
mov dword [esi + 0x36a], eax
jmp 0x410a82
cmp edi, 0x55e8
jne 0x410a64
mov dword [esi + 0x36e], eax
jmp 0x410a82
cmp edi, 0x5600
jne 0x410a74
mov dword [esi + 0x372], eax
jmp 0x410a82
cmp edi, 0x560c
jne 0x410a82
mov dword [esi + 0x376], eax
mov ecx, dword [esi + 0x42e]
test ecx, ecx
je 0x410a9c
cmp edi, dword [esi + 0x432]
jne 0x410a9c
cmp eax, ecx
jae 0x410d89
cmp edi, 0x27df
je 0x410b28
cmp edi, 0x3988
je 0x410b20
cmp edi, 0x3987
je 0x410ad8
cmp edi, 0x4981
je 0x410ad0
cmp edi, 0x615b
je 0x410ad0
cmp edi, 0x5da8
jne 0x410b31
cmp edi, 0x3987
jne 0x410ae0
mov dword [esi + 0x4e3], eax
jmp 0x410b2e
cmp edi, 0x4981
jne 0x410af0
mov dword [esi + 0x4e7], eax
jmp 0x410b2e
cmp edi, 0x615b
jne 0x410b00
mov dword [esi + 0x4eb], eax
jmp 0x410b2e
cmp edi, 0x5da8
jne 0x410b10
mov dword [esi + 0x4ef], eax
jmp 0x410b2e
cmp edi, 0x31b0
jne 0x410b2e
mov dword [esi + 0x4f3], eax
jmp 0x410b2e
mov dword [esi + 0x4df], eax
jmp 0x410b2e
mov dword [esi + 0x4db], eax
add dword [ebp - 0x20], eax
mov edx, edi
lea ecx, [ebp - 0x40]
call fcn.0041a520
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x38]
push dword [eax]
call dword [sym.imp.WS2_32.dll_htonl]
push eax
mov eax, dword [ebp - 0xae8]
push eax
push edi
push dword [ebp - 0x40]
lea eax, [ebp - 0x18]
push str._s_d:_d:_d____
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
add esp, 0x18
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x38]
inc eax
add edi, 0x19
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], edi
cmp eax, dword [ebp - 0x30]
jb 0x410990
mov edi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x20]
cmp dword [0x4c60a4], 0
jne 0x410cbf
push eax
lea eax, [ebp - 0xaf0]
push 0x4b7db0
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c6278]
add esp, 0xc
push dword [ebp - 0xaf0]
push 0xc
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
push 0x200
lea eax, [ebp - 0x3e4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xae8]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
push 0
push 0
lea eax, [ebp - 0x3e4]
mov byte [ebp - 4], 8
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push dword [esi + 8]
mov edi, dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
lea eax, [ebp - 0x3e4]
push eax
lea eax, [ebp - 0xae8]
push str._sGzxItem
push eax
call edi
add esp, 0x10
push dword [ebp - 0xae8]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0x10
je 0x410c4e
push 0
push dword [ebp - 0xae8]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push dword [esi + 8]
lea eax, [ebp - 0x3e4]
push eax
lea eax, [ebp - 0xae8]
push str._sGzxItem_u.ini
push eax
call edi
push dword [esi + 8]
lea eax, [ebp - 0xaf0]
push 0x4b6b7c
push eax
call edi
push dword [esi + 0x406]
lea eax, [ebp - 0x20]
push str.Item_d
push eax
call edi
add esp, 0x28
push dword [ebp - 0xae8]
push dword [ebp - 0x18]
push dword [ebp - 0xaf0]
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x20]
mov byte [esi + 0x55f], 1
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0xae8]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
cmp dword [0x4c622c], 0
mov eax, dword [ebp - 0xb00]
movzx eax, word [eax + 0xa]
mov word [esi + 0x5ea], ax
mov word [esi + 0x5e6], ax
je 0x410dcd
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 9
mov ecx, dword [0x4c60a0]
push eax
call dword [sym.imp.mfc140u.dll_CWnd::GetWindowTextW]
cmp dword [esi + 0x4cb], 0
jle 0x410dc0
push dword [ebp - 0x20]
mov edi, dword [esi + 0x4cb]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoll]
add esp, 4
cmp edi, eax
jb 0x410dc0
mov eax, dword [esi + 0x43e]
cmp eax, 0x186a0
jge 0x410dc0
test eax, eax
jle 0x410dc0
cmp edi, 0x7530
jge 0x410dc0
cmp dword [0x4c6250], 0
je 0x410d6e
cmp byte [esi + 0x5fd], 0
je 0x410d6e
mov ecx, esi
call fcn.00414030
mov ecx, esi
call fcn.00414030
push 1
mov ecx, esi
mov dword [esi + 0x416], 1
call fcn.00412b70
lea ecx, [ebp - 0x20]
jmp 0x4113a7
cmp dword [0x4c6250], 0
je 0x410da9
cmp byte [esi + 0x5fd], 0
je 0x410da9
mov ecx, esi
call fcn.00414030
mov ecx, esi
call fcn.00414030
mov dword [esi + 0x416], 1
jmp 0x4113a4
mov edi, dword [ebp + 0x10]
jmp 0x410b94
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
movzx eax, word [esi + 0x5ea]
test ax, ax
je 0x41105e
cwde
cmp eax, 0xffff
jge 0x41105e
cmp dword [0x4c60b0], 0
je 0x410df9
mov ecx, esi
call fcn.0040dbf0
mov ecx, dword [0x4c6278]
push 0x4b7840
push 0x12
push dword [ebp + 0x10]
mov byte [esi + 0x54b], 1
mov dword [esi + 0x4a6], 0
mov byte [esi + 0x557], 1
mov byte [esi + 0x5f6], 1
mov byte [esi + 0x5fc], 0
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov ecx, esi
mov dword [esi + 0x476], eax
call fcn.004127b0
mov ecx, esi
call fcn.00419680
push ecx
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 2
push eax
mov ecx, esi
mov word [ebp - 0x24], 0x12
call fcn.00416bc0
mov ecx, esi
call fcn.004157b0
cmp dword [0x4c625c], 0
je 0x410e8a
cmp dword [0x4c6244], 0
je 0x410e8a
mov ecx, esi
call fcn.0041a280
call edi
mov dword [esi + 0x46e], eax
call edi
cmp dword [0x4c6190], 0
mov dword [esi + 0x45e], eax
je 0x410ebc
push 0
lea edi, [esi + 0x60e]
mov ecx, esi
push edi
push 0
call fcn.004147e0
push 0
push edi
push 4
jmp 0x410ed0
cmp dword [0x4c61d8], 0
je 0x410ed7
push 0
lea eax, [esi + 0x60e]
push eax
push 2
mov ecx, esi
call fcn.004147e0
cmp dword [0x4c609c], 0
je 0x410efa
push ecx
push 0x4d2c
mov ecx, esi
call fcn.00414af0
push ecx
push 0x487a
mov ecx, esi
call fcn.00414af0
cmp dword [0x4c6264], 0
je 0x410f10
push ecx
push 0x2813
mov ecx, esi
call fcn.00414af0
cmp dword [0x4c6098], 0
jne 0x410f22
cmp dword [0x4c625c], 0
je 0x410f2f
push ecx
push 0x2724
mov ecx, esi
call fcn.00414af0
cmp dword [0x4c5c94], 0
je 0x410fe4
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0x80000
push eax
mov ecx, esi
mov word [ebp - 0x24], 0
call fcn.0041af50
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0x101
push eax
mov ecx, esi
mov word [ebp - 0x2c], 0x7f00
call fcn.0041af50
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 0x10000
push eax
mov ecx, esi
mov word [ebp - 0x44], 0
call fcn.0041af50
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 0x400001
push eax
mov ecx, esi
mov word [ebp - 0x3c], 0
call fcn.0041af50
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x101
push eax
mov ecx, esi
mov word [ebp - 0x14], 0xf00
call fcn.0041af50
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x101
push eax
mov ecx, esi
mov word [ebp - 0x1c], 0xe00
call fcn.0041af50
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], reloc.WS2_32.dll_accept
push eax
mov ecx, esi
mov word [ebp - 0x34], 0
call fcn.0041af50
cmp dword [0x4c6270], 0
je 0x410ff5
push ecx
mov ecx, esi
call fcn.00414c90
cmp dword [0x4c625c], 0
jne 0x411008
sub esp, 8
mov ecx, esi
call fcn.004149e0
cmp dword [0x4c6270], 0
je 0x411021
cmp dword [esi + 0x4c3], 8
jbe 0x411021
mov byte [esi + 0x562], 1
cmp dword [0x4c6230], 0
je 0x41103e
cmp byte [esi + 0x563], 0
jne 0x41103e
push 1
push 2
mov ecx, esi
call fcn.004169d0
cmp dword [0x4c620c], 0
je 0x4113ad
mov ecx, esi
call fcn.0041a450
mov ecx, esi
call fcn.0041ad70
jmp 0x4113ad
xor eax, eax
mov word [esi + 0x5ea], ax
jmp 0x4113ad
cmp al, 1
jne 0x4112ac
inc byte [esi + 0x5fc]
cmp byte [esi + 0x5fc], 2
jae 0x41109e
push 0x4b77e0
push dword [ebp + 0x10]
mov ecx, esi
mov byte [esi + 0x5fa], 0
call fcn.0040c5e0
jmp 0x4113ad
mov edi, dword [ebp + 0x10]
mov ecx, dword [0x4c6278]
push 0x4b77ec
push 0x12
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov ecx, dword [esi + 8]
mov edx, 0x4b77f4
call fcn.0042ba50
cmp dword [0x4c60b0], 0
je 0x4110d2
mov ecx, esi
call fcn.0040dbf0
cmp dword [0x4c625c], 0
je 0x4110f5
mov eax, dword [ebp - 0xae8]
mov dword [esi + 0x416], 2
test eax, eax
je 0x4110f5
mov dword [eax], 2
cmp dword [0x4c622c], 0
je 0x411114
push 0
push edi
mov ecx, esi
mov byte [esi + 0x5fa], 0
call fcn.0040c5e0
jmp 0x4113ad
cmp dword [0x4c60ac], 0
je 0x4113ad
push 0x100
lea eax, [ebp - 0x180]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov byte [ebp - 4], 3
lea eax, [ebp - 0x18]
mov ecx, dword [0x4c60a8]
xorps xmm0, xmm0
push eax
mov byte [ebp - 0x4c], 0
movq qword [ebp - 0x4b], xmm0
mov byte [ebp - 0x43], 0
call dword [sym.imp.mfc140u.dll_CWnd::GetWindowTextW]
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
cdq
mov ecx, 0x63
idiv ecx
lea eax, [ebp - 0x4c]
push edx
push 0x4b6b70
push eax
call fcn.0041fbe0
mov eax, dword [ebp - 0x18]
add esp, 0xc
cmp dword [eax - 0xc], 0
je 0x411218
push 0x100
lea eax, [ebp - 0x2e4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 8
lea eax, [ebp - 0x18]
mov ecx, esp
lea esi, [ebp - 0x2e4]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__10]
mov ecx, esi
call fcn.0042be40
add esp, 4
mov edx, esi
mov al, byte [edx]
inc edx
test al, al
jne 0x4111c5
lea edi, [ebp - 0x180]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4111d5
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x4c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x4111f0
lea edi, [ebp - 0x180]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411200
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, 3
jmp 0x411246
lea edx, [ebp - 0x4c]
mov esi, edx
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x411220
lea edi, [ebp - 0x180]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411230
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, 6
lea eax, [ebp - 0x180]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.00424c80
mov esi, dword [ebp - 0x28]
add esp, 4
mov eax, dword [ebp - 0xb00]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
movzx eax, word [eax + 0xa]
mov word [esi + 0x5ea], ax
mov word [esi + 0x5e6], ax
mov byte [esi + 0x5f6], 1
mov byte [esi + 0x5fa], 0
call edi
mov dword [esi + 0x46e], eax
call edi
mov dword [esi + 0x45e], eax
mov ecx, esi
lea eax, [ebp - 0x180]
push eax
call fcn.0041ae40
jmp 0x4113a4
cmp al, 0xc
jne 0x4112d5
mov ecx, dword [0x4c6278]
push 0x4b7808
push 0x12
push dword [ebp + 0x10]
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov ecx, dword [esi + 8]
mov edx, 0x4b784c
call fcn.0042ba50
jmp 0x4112ef
cmp al, 5
jne 0x41131f
mov ecx, dword [0x4c6278]
push 0x4b7854
push 0x12
push dword [ebp + 0x10]
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
cmp dword [0x4c625c], 0
je 0x4113ad
mov eax, dword [ebp - 0xae8]
mov dword [esi + 0x416], 2
test eax, eax
je 0x4113ad
mov dword [eax], 2
jmp 0x4113ad
cmp al, 0x38
jne 0x411346
mov edi, dword [ebp + 0x10]
mov ecx, dword [0x4c6278]
push 0x4b7864
push 0x12
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
push 0
push edi
mov ecx, esi
call fcn.0040e140
jmp 0x4113ad
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov byte [ebp - 4], 4
movzx eax, byte [esi + 0x5fa]
push eax
lea eax, [ebp - 0x18]
push 0x4b7870
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c6278]
add esp, 0xc
push dword [ebp - 0x18]
push 0x12
push dword [ebp + 0x10]
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
cmp dword [0x4c625c], 0
je 0x4113a4
mov eax, dword [ebp - 0xae8]
mov dword [esi + 0x416], 2
test eax, eax
je 0x4113a4
mov dword [eax], 2
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0xaf4]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0xaf0]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0xaec]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
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.0044632d
mov esp, ebp
pop ebp
ret 0x10