Function at 0x40e9d0
Capabilities:
Create directory
Get common file path
Get file attributes
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a2815
mov eax, dword fs:[0]
push eax
sub esp, 0xec8
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 - 0x30], esi
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 0xe54]
mov edi, dword [ebp + 8]
mov dword [ebp - 0xed0], edi
mov dword [ebp - 0xe50], eax
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov dword [ebp - 4], 0
push dword [edi + 0x23]
call dword [sym.imp.WS2_32.dll_htonl]
lea ecx, [ebp - 0xe58]
mov byte [esi + 0x5df], 1
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea eax, [edi + 0x37]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__7]
mov edi, dword [ebp + 0x10]
mov byte [ebp - 4], 2
push dword [eax]
mov ecx, dword [0x4c613c]
push 5
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0xed0]
push dword [eax + 0x4e]
call dword [sym.imp.WS2_32.dll_htonl]
mov ecx, eax
call fcn.00428f00
push eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0xe54]
push 0x4b7d9c
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c613c]
add esp, 0xc
push dword [ebp - 0xe54]
push 6
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x4c3], eax
mov eax, dword [ebp - 0xed0]
push dword [eax + 0x52]
call dword [sym.imp.WS2_32.dll_htonl]
push eax
mov dword [esi + 0x43a], eax
lea eax, [ebp - 0xe54]
push 0x4b7d9c
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c613c]
add esp, 0xc
push dword [ebp - 0xe54]
push 7
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov eax, dword [ebp - 0xed0]
push dword [eax + 0x82]
call dword [sym.imp.WS2_32.dll_htonl]
push eax
mov dword [esi + 0x4c7], eax
lea eax, [ebp - 0xe54]
push 0x4b7d9c
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c613c]
add esp, 0xc
push dword [ebp - 0xe54]
push 9
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov eax, dword [ebp - 0xed0]
push dword [eax + 0x8e]
call dword [sym.imp.WS2_32.dll_htonl]
push eax
mov dword [esi + 0x43e], eax
lea eax, [ebp - 0xe54]
push 0x4b7d9c
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c613c]
add esp, 0xc
push dword [ebp - 0xe54]
push 8
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov eax, dword [ebp - 0xed0]
push dword [eax + 0x6a]
call dword [sym.imp.WS2_32.dll_htonl]
push eax
mov dword [esi + 0x4cb], eax
lea eax, [ebp - 0xe54]
push 0x4b7d9c
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c613c]
add esp, 0xc
push dword [ebp - 0xe54]
push 0xa
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov eax, dword [ebp - 0xed0]
push dword [eax + 0xa2]
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0xe60], eax
lea ecx, [ebp - 0xe60]
lea eax, [ebp - 0xe84]
mov dword [ebp - 0xe5c], 0
push eax
call fcn.00420990
test eax, eax
je 0x40ec0c
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x28], eax
jmp 0x40ec13
mov dword [ebp - 0x28], 0
lea eax, [ebp - 0xea8]
push eax
lea ecx, [ebp - 0xe60]
call fcn.00420990
test eax, eax
je 0x40ec32
mov eax, dword [eax + 0x10]
inc eax
mov dword [ebp - 0x38], eax
jmp 0x40ec39
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0xecc]
push eax
lea ecx, [ebp - 0xe60]
call fcn.00420990
test eax, eax
je 0x40ec59
mov eax, dword [eax + 0x14]
add eax, 0x76c
jmp 0x40ec5b
xor eax, eax
push dword [ebp - 0x28]
push dword [ebp - 0x38]
push eax
lea eax, [ebp - 0xe54]
push 0x4b6ec8
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c613c]
add esp, 0x14
push dword [ebp - 0xe54]
push 0xd
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov eax, dword [esi + 8]
mov edi, dword [ebp - 0xed0]
add eax, eax
push 0x100
mov dword [ebp - 0x20], eax
add edi, 0xa6
lea eax, [ebp - 0x64c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp - 0x20]
mov eax, ecx
shr eax, 0x18
push eax
movzx eax, cl
push eax
lea eax, [ebp - 0x64c]
push 0x4b7718
push eax
call fcn.00420410
lea eax, [ebp - 0x64c]
push eax
push edi
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 0x24
test eax, eax
jne 0x40ecf0
mov dword [esi + 0x44a], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x4c6120], 0
mov edi, dword [ebp + 0x10]
mov dword [esi + 0x510], eax
je 0x40f1c5
mov ecx, dword [0x4c613c]
push 0x4b7d98
push 4
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
push 0x400
lea eax, [ebp - 0xe4c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x400
lea eax, [ebp - 0xa4c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x18
mov byte [ebp - 0xe80], 0
lea eax, [ebp - 0xe4c]
mov dword [ebp - 0xe67], 0
xorps xmm0, xmm0
mov byte [ebp - 0xe63], 0
movups xmmword [ebp - 0xe7f], xmm0
push 0
push 0
push eax
push 0
movq qword [ebp - 0xe6f], xmm0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0xe4c]
push eax
lea eax, [ebp - 0xa4c]
push 0x4b6ef8
push eax
call fcn.004203f0
push dword [esi + 8]
lea eax, [ebp - 0xe80]
push 0x4b6b64
push eax
call fcn.00420430
add esp, 0x18
lea eax, [ebp - 0xa4c]
push eax
push 0
lea eax, [ebp - 0xe80]
push eax
push 0x4b708c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
lea ecx, [edx - 1]
cmp ecx, 0xc8
ja 0x40f1c5
mov cl, byte [esi + 0x5c6]
mov byte [ebp - 0xed1], cl
movzx ecx, cl
cmp ecx, dword [0x4c418c]
jb 0x40ee0c
mov cl, byte [esi + 0x5c7]
cmp cl, 3
je 0x40ee66
cmp cl, 4
je 0x40ee66
cmp byte [ebp - 0xed1], 0xf
jb 0x40ee25
mov cl, byte [esi + 0x5c7]
cmp cl, 3
je 0x40ee25
cmp cl, 4
jne 0x40ee66
cmp edx, 0x5a
jb 0x40ee66
cmp dword [esi + 0x43a], 0x12c
jb 0x40ee66
mov ecx, dword [esi + 0x4c7]
cmp ecx, 1
jb 0x40ee52
cmp ecx, 0x1f4
jae 0x40ee52
cmp dword [0x4c5b7c], 0
jne 0x40ee66
cmp dword [esi + 0x4cb], 0x4e20
jb 0x40ee66
test eax, eax
je 0x40f1c5
push 0x100
lea eax, [ebp - 0x14c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
push dword [esi + 0x4cb]
push dword [esi + 0x4c7]
push dword [esi + 0x43a]
push eax
lea eax, [ebp - 0x14c]
push 0x4b7734
push eax
call fcn.00420410
push 0x400
lea eax, [ebp - 0xa4c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x400
lea eax, [ebp - 0x54c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x40
mov byte [ebp - 0xe80], 0
lea eax, [ebp - 0xa4c]
mov dword [ebp - 0xe67], 0
xorps xmm0, xmm0
mov byte [ebp - 0xe63], 0
movups xmmword [ebp - 0xe7f], xmm0
push 0
push 0
push eax
push 0
movq qword [ebp - 0xe6f], xmm0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0xa4c]
push eax
lea eax, [ebp - 0x54c]
push 0x4b6ef8
push eax
call fcn.004203f0
push dword [esi + 8]
lea eax, [ebp - 0xe80]
push 0x4b6b64
push eax
call fcn.00420430
mov eax, dword [ebp - 0xed0]
add esp, 0x18
push dword [eax + 0x23]
call dword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [0x4c613c]
mov dword [esi + 0x416], 2
cmp eax, dword [esi + 8]
je 0x40efb6
push str.penc
push 0x12
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
lea eax, [ebp - 0x54c]
mov byte [esi + 0x5c6], 0
push eax
push 0x4b776c
lea eax, [ebp - 0xe80]
push eax
push 0x4b708c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x14c]
call fcn.0042c310
mov eax, dword [ebp - 0xe50]
test eax, eax
je 0x40fc92
mov dword [eax], 7
jmp 0x40fc92
push 0x4b7770
push 0x12
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x40f19d
cmp dword [ebp - 0x18], 0x5a
jae 0x40f01a
lea eax, [ebp - 0x54c]
push eax
push 0x4b7784
lea eax, [ebp - 0xe80]
push eax
push 0x4b708c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [ebp - 0xe50]
test eax, eax
je 0x40f1b2
mov dword [eax], 2
lea edx, [ebp - 0x14c]
mov ecx, dword [esi + 8]
call fcn.0042c310
jmp 0x40fc92
cmp dword [esi + 0x43a], 0x12c
jae 0x40f06b
lea eax, [ebp - 0x54c]
push eax
push 0x4b76a8
lea eax, [ebp - 0xe80]
push eax
push 0x4b708c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [ebp - 0xe50]
test eax, eax
je 0x40f1b2
mov dword [eax], 4
lea edx, [ebp - 0x14c]
mov ecx, dword [esi + 8]
call fcn.0042c310
jmp 0x40fc92
cmp dword [esi + 0x4cb], 0x4e20
jae 0x40f0ca
lea eax, [ebp - 0x54c]
push eax
push 0x4b7788
lea eax, [ebp - 0xe80]
push eax
push 0x4b708c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x14c]
call fcn.0042c310
mov eax, dword [ebp - 0xe50]
test eax, eax
je 0x40f1b2
mov dword [eax], 5
lea edx, [ebp - 0x14c]
mov ecx, dword [esi + 8]
call fcn.0042c310
jmp 0x40fc92
cmp dword [0x4c5b7c], 0
je 0x40f138
mov eax, dword [esi + 0x4c7]
cmp eax, 1
jb 0x40f138
cmp eax, 0x1f4
jae 0x40f138
lea eax, [ebp - 0x54c]
push eax
push 0x4b778c
lea eax, [ebp - 0xe80]
push eax
push 0x4b708c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x14c]
call fcn.0042c310
mov eax, dword [ebp - 0xe50]
test eax, eax
je 0x40f1b2
mov dword [eax], 6
lea edx, [ebp - 0x14c]
mov ecx, dword [esi + 8]
call fcn.0042c310
jmp 0x40fc92
movzx eax, byte [esi + 0x5c6]
cmp eax, dword [0x4c418c]
jb 0x40f1b2
lea eax, [ebp - 0x54c]
mov byte [esi + 0x5c6], 0
push eax
push 0x4b776c
lea eax, [ebp - 0xe80]
push eax
push 0x4b708c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x14c]
call fcn.0042c310
mov eax, dword [ebp - 0xe50]
test eax, eax
je 0x40f1b2
mov dword [eax], 8
lea edx, [ebp - 0x14c]
mov ecx, dword [esi + 8]
call fcn.0042c310
jmp 0x40fc92
cmp eax, 1
jne 0x40f1b2
mov eax, dword [ebp - 0xe50]
test eax, eax
je 0x40f1b2
mov dword [eax], 1
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x14c]
call fcn.0042c310
jmp 0x40fc92
mov ecx, dword [ebp - 0xed0]
mov al, byte [ecx + 0x11]
add ecx, 0x152
mov byte [esi + 0x5f9], al
test al, al
jne 0x40f95a
lea ecx, [ebp - 0x30]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0x30]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
cmp dword [0x4c60d0], 0
jne 0x40f20a
cmp dword [0x4c5b6c], 0
je 0x40f5f2
mov edi, dword [ebp - 0xed0]
add edi, 0x156
push dword [edi]
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x20], eax
add edi, 4
je 0x40f5f2
movzx ecx, word [edi]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
cmp ax, 0x19
jne 0x40f5f2
inc dword [esi + 0x406]
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
xor eax, eax
mov byte [ebp - 4], 7
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x20], eax
jbe 0x40f5ea
add edi, 0xa
mov dword [ebp - 0x38], edi
nop dword [eax + eax]
movzx eax, word [edi - 0xa]
push eax
call dword [sym.imp.WS2_32.dll_htons]
cmp ax, 0x19
jne 0x40f46e
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 - 0xe50], eax
mov eax, dword [ebp - 0x38]
push dword [eax]
call dword [sym.imp.WS2_32.dll_htonl]
cmp dword [0x4c5b6c], 0
je 0x40f30e
cmp byte [esi + 0x580], 0
jne 0x40f30e
cmp edi, 0x2a27
jne 0x40f455
cmp eax, 0xffffffff
je 0x40f455
push eax
lea eax, [ebp - 0xe58]
mov byte [esi + 0x580], 1
push 0x4b7d9c
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 [0x4c613c]
push dword [ebp - 0xe58]
push 0xc
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
jmp 0x40f471
mov eax, dword [ebp - 0xe50]
cmp edi, 0x55dc
jne 0x40f324
mov dword [esi + 0x366], eax
jmp 0x40f362
cmp edi, 0x55e2
jne 0x40f334
mov dword [esi + 0x36a], eax
jmp 0x40f362
cmp edi, 0x55e8
jne 0x40f344
mov dword [esi + 0x36e], eax
jmp 0x40f362
cmp edi, 0x5600
jne 0x40f354
mov dword [esi + 0x372], eax
jmp 0x40f362
cmp edi, 0x560c
jne 0x40f362
mov dword [esi + 0x376], eax
mov ecx, dword [esi + 0x42e]
test ecx, ecx
je 0x40f37c
cmp edi, dword [esi + 0x432]
jne 0x40f37c
cmp eax, ecx
jae 0x40f5b8
cmp edi, 0x27df
je 0x40f408
cmp edi, 0x3988
je 0x40f400
cmp edi, 0x3987
je 0x40f3b8
cmp edi, 0x4981
je 0x40f3b0
cmp edi, 0x615b
je 0x40f3b0
cmp edi, 0x5da8
jne 0x40f411
cmp edi, 0x3987
jne 0x40f3c0
mov dword [esi + 0x4e3], eax
jmp 0x40f40e
cmp edi, 0x4981
jne 0x40f3d0
mov dword [esi + 0x4e7], eax
jmp 0x40f40e
cmp edi, 0x615b
jne 0x40f3e0
mov dword [esi + 0x4eb], eax
jmp 0x40f40e
cmp edi, 0x5da8
jne 0x40f3f0
mov dword [esi + 0x4ef], eax
jmp 0x40f40e
cmp edi, 0x31b0
jne 0x40f40e
mov dword [esi + 0x4f3], eax
jmp 0x40f40e
mov dword [esi + 0x4df], eax
jmp 0x40f40e
mov dword [esi + 0x4db], eax
add dword [ebp - 0x18], eax
mov edx, edi
lea ecx, [ebp - 0x40]
call fcn.0041ae70
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x38]
push dword [eax]
call dword [sym.imp.WS2_32.dll_htonl]
push eax
mov eax, dword [ebp - 0xe50]
push eax
push edi
push dword [ebp - 0x40]
lea eax, [ebp - 0x28]
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], 7
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 - 0x20]
jb 0x40f270
mov edi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x18]
cmp dword [0x4c5b6c], 0
jne 0x40f5a9
push eax
lea eax, [ebp - 0xe58]
push 0x4b7d9c
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c613c]
add esp, 0xc
push dword [ebp - 0xe58]
push 0xc
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
push 0x200
lea eax, [ebp - 0x34c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xe50]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
push 0
push 0
lea eax, [ebp - 0x34c]
mov byte [ebp - 4], 0xa
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push dword [esi + 8]
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0xe50]
push str._sGzxItem
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
add esp, 0x10
push dword [ebp - 0xe50]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0x10
je 0x40f52c
push 0
push dword [ebp - 0xe50]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push dword [esi + 8]
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0xe50]
push str._sGzxItem_u.ini
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
push dword [esi + 8]
lea eax, [ebp - 0xe58]
push 0x4b6b6c
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
push dword [esi + 0x406]
lea eax, [ebp - 0x18]
push str.Item_d
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
add esp, 0x28
push dword [ebp - 0xe50]
push dword [ebp - 0x28]
push dword [ebp - 0xe58]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x18]
mov byte [esi + 0x55f], 1
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0xe50]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
jmp 0x40f5f5
cmp dword [0x4c6114], 0
je 0x40f5d8
cmp byte [esi + 0x5fc], 0
je 0x40f5d8
mov ecx, esi
call fcn.004147a0
mov ecx, esi
call fcn.004147a0
mov dword [esi + 0x416], 1
lea ecx, [ebp - 0x28]
jmp 0x40fc8c
mov edi, dword [ebp + 0x10]
jmp 0x40f474
mov edi, dword [ebp + 0x10]
cmp dword [0x4c60f0], 0
mov eax, dword [ebp - 0xed0]
movzx eax, word [eax + 0xa]
mov word [esi + 0x5ea], ax
mov word [esi + 0x5e6], ax
je 0x40f6bd
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0xb
mov ecx, dword [0x4c5b68]
push eax
call dword [sym.imp.mfc140u.dll_CWnd::GetWindowTextW]
cmp dword [esi + 0x4cb], 0
jbe 0x40f6b0
mov eax, dword [esi + 0x4cb]
push dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoll]
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, eax
jb 0x40f6b0
mov eax, dword [esi + 0x43e]
cmp eax, 0x186a0
jae 0x40f6b0
test eax, eax
je 0x40f6b0
cmp ecx, 0x7530
jae 0x40f6b0
cmp dword [0x4c6114], 0
je 0x40f695
cmp byte [esi + 0x5fc], 0
je 0x40f695
mov ecx, esi
call fcn.004147a0
mov ecx, esi
call fcn.004147a0
push 1
mov ecx, esi
mov dword [esi + 0x416], 1
call fcn.004132e0
lea ecx, [ebp - 0x18]
jmp 0x40fc8c
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
movzx eax, word [esi + 0x5ea]
test ax, ax
je 0x40f94c
cwde
cmp eax, 0xffff
jge 0x40f94c
cmp dword [0x4c5b78], 0
je 0x40f6e9
mov ecx, esi
call fcn.0040d920
mov ecx, dword [0x4c613c]
push 0x4b77f0
push 0x12
push edi
mov byte [esi + 0x54b], 1
mov dword [esi + 0x4a6], 0
mov byte [esi + 0x557], 1
mov byte [esi + 0x5f6], 1
mov byte [esi + 0x5fb], 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.00412f20
mov ecx, esi
call fcn.00419fd0
push ecx
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 2
push eax
mov ecx, esi
mov word [ebp - 0x2c], 0x12
call fcn.004173e0
mov ecx, esi
call fcn.00415f20
cmp dword [0x4c6120], 0
je 0x40f778
cmp dword [0x4c6108], 0
je 0x40f778
mov ecx, esi
call fcn.0041abd0
call edi
mov dword [esi + 0x46e], eax
call edi
cmp dword [0x4c5c58], 0
mov dword [esi + 0x45e], eax
je 0x40f7aa
push 0
lea edi, [esi + 0x60d]
mov ecx, esi
push edi
push 0
call fcn.00414f50
push 0
push edi
push 4
jmp 0x40f7be
cmp dword [0x4c609c], 0
je 0x40f7c5
push 0
lea eax, [esi + 0x60d]
push eax
push 2
mov ecx, esi
call fcn.00414f50
cmp dword [0x4c5b64], 0
je 0x40f7e8
push ecx
push 0x4d2c
mov ecx, esi
call fcn.00415260
push ecx
push 0x487a
mov ecx, esi
call fcn.00415260
cmp dword [0x4c6128], 0
je 0x40f7fe
push ecx
push 0x2813
mov ecx, esi
call fcn.00415260
cmp dword [0x4c5b60], 0
jne 0x40f810
cmp dword [0x4c6120], 0
je 0x40f81d
push ecx
push 0x2724
mov ecx, esi
call fcn.00415260
cmp dword [0x4c5b5c], 0
je 0x40f8d2
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0x80000
push eax
mov ecx, esi
mov word [ebp - 0x2c], 0
call fcn.0041b8a0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x101
push eax
mov ecx, esi
mov word [ebp - 0x1c], 0x7f00
call fcn.0041b8a0
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 0x10000
push eax
mov ecx, esi
mov word [ebp - 0x44], 0
call fcn.0041b8a0
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 0x400001
push eax
mov ecx, esi
mov word [ebp - 0x3c], 0
call fcn.0041b8a0
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0x101
push eax
mov ecx, esi
mov word [ebp - 0x24], 0xf00
call fcn.0041b8a0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x101
push eax
mov ecx, esi
mov word [ebp - 0x14], 0xe00
call fcn.0041b8a0
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.0041b8a0
cmp dword [0x4c6134], 0
je 0x40f8e3
push ecx
mov ecx, esi
call fcn.00415400
cmp dword [0x4c6120], 0
jne 0x40f8f6
sub esp, 8
mov ecx, esi
call fcn.00415150
cmp dword [0x4c6134], 0
je 0x40f90f
cmp dword [esi + 0x4c3], 8
jbe 0x40f90f
mov byte [esi + 0x562], 1
cmp dword [0x4c60f4], 0
je 0x40f92c
cmp byte [esi + 0x563], 0
jne 0x40f92c
push 1
push 2
mov ecx, esi
call fcn.004171f0
cmp dword [0x4c60d0], 0
je 0x40fc92
mov ecx, esi
call fcn.0041ada0
mov ecx, esi
call fcn.0041b6c0
jmp 0x40fc92
xor eax, eax
mov word [esi + 0x5ea], ax
jmp 0x40fc92
cmp al, 1
jne 0x40fb9f
inc byte [esi + 0x5fb]
cmp byte [esi + 0x5fb], 2
jae 0x40f98a
push 0x4b7790
push edi
mov ecx, esi
mov byte [esi + 0x5f9], 0
call fcn.0040c310
jmp 0x40fc92
mov ecx, dword [0x4c613c]
push 0x4b779c
push 0x12
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov ecx, dword [esi + 8]
mov edx, 0x4b77a4
call fcn.0042c310
cmp dword [0x4c5b78], 0
je 0x40f9bb
mov ecx, esi
call fcn.0040d920
cmp dword [0x4c6120], 0
je 0x40f9de
mov eax, dword [ebp - 0xe50]
mov dword [esi + 0x416], 2
test eax, eax
je 0x40f9de
mov dword [eax], 2
cmp dword [0x4c60f0], 0
je 0x40f9fd
push 0
push edi
mov ecx, esi
mov byte [esi + 0x5f9], 0
call fcn.0040c310
jmp 0x40fc92
cmp dword [0x4c5b74], 0
je 0x40fc92
push 0x100
lea eax, [ebp - 0x14c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
mov byte [ebp - 4], 3
lea eax, [ebp - 0x28]
mov ecx, dword [0x4c5b70]
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 0x4b6b60
push eax
call fcn.00420450
mov eax, dword [ebp - 0x28]
add esp, 0xc
cmp dword [eax - 0xc], 0
je 0x40fb08
push 0x100
lea eax, [ebp - 0x24c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 8
lea eax, [ebp - 0x28]
mov ecx, esp
lea esi, [ebp - 0x24c]
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.0042c700
add esp, 4
mov edx, esi
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x40fab0
lea edi, [ebp - 0x14c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40fac0
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
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x40fae0
lea edi, [ebp - 0x14c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40faf0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, 3
jmp 0x40fb36
lea edx, [ebp - 0x4c]
mov esi, edx
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x40fb10
lea edi, [ebp - 0x14c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40fb20
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, 6
lea eax, [ebp - 0x14c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.004255f0
mov esi, dword [ebp - 0x30]
add esp, 4
mov eax, dword [ebp - 0xed0]
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 + 0x5f9], 0
call edi
mov dword [esi + 0x46e], eax
call edi
mov dword [esi + 0x45e], eax
mov ecx, esi
lea eax, [ebp - 0x14c]
push eax
call fcn.0041b790
lea ecx, [ebp - 0x28]
jmp 0x40fc8c
cmp al, 0xc
jne 0x40fc0a
push 0x4b77ac
push ecx
call dword [sym.imp.VCRUNTIME140.dll_strstr]
mov ecx, dword [0x4c613c]
add esp, 8
push 0x4b77b8
push 0x12
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov edx, dword [ebp - 0xed0]
mov ecx, dword [esi + 8]
lea edx, [edx + 0x152]
call fcn.0042c310
cmp dword [0x4c6120], 0
je 0x40fc92
mov eax, dword [ebp - 0xe50]
mov dword [esi + 0x416], 2
test eax, eax
je 0x40fc92
mov dword [eax], 2
jmp 0x40fc92
push ecx
lea ecx, [ebp - 0x20]
cmp al, 5
jne 0x40fc1e
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__7]
mov byte [ebp - 4], 4
jmp 0x40fc54
cmp al, 0x38
jne 0x40fc4a
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__7]
mov byte [ebp - 4], 5
push dword [ebp - 0x20]
mov ecx, dword [0x4c613c]
push 0x12
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
push 0
push edi
mov ecx, esi
call fcn.0040de70
jmp 0x40fc89
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__7]
mov byte [ebp - 4], 6
push dword [ebp - 0x20]
mov ecx, dword [0x4c613c]
push 0x12
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
cmp dword [0x4c6120], 0
je 0x40fc89
mov eax, dword [ebp - 0xe50]
mov dword [esi + 0x416], 2
test eax, eax
je 0x40fc89
mov dword [eax], 2
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0xe58]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0xe54]
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.0044627d
mov esp, ebp
pop ebp
ret 0x10