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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49ef45
mov eax, dword fs:[0]
push eax
sub esp, 0xec8
mov eax, dword [0x4be014]
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 + 0x5da], 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 [0x4c10fc]
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.00425d30
push eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0xe54]
push 0x4b3d1c
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c10fc]
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 0x4b3d1c
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c10fc]
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 0x4b3d1c
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c10fc]
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 0x4b3d1c
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c10fc]
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 0x4b3d1c
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c10fc]
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.0041dfe0
test eax, eax
je 0x40e44c
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x28], eax
jmp 0x40e453
mov dword [ebp - 0x28], 0
lea eax, [ebp - 0xea8]
push eax
lea ecx, [ebp - 0xe60]
call fcn.0041dfe0
test eax, eax
je 0x40e472
mov eax, dword [eax + 0x10]
inc eax
mov dword [ebp - 0x38], eax
jmp 0x40e479
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0xecc]
push eax
lea ecx, [ebp - 0xe60]
call fcn.0041dfe0
test eax, eax
je 0x40e499
mov eax, dword [eax + 0x14]
add eax, 0x76c
jmp 0x40e49b
xor eax, eax
push dword [ebp - 0x28]
push dword [ebp - 0x38]
push eax
lea eax, [ebp - 0xe54]
push 0x4b2e94
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c10fc]
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 0x4b3694
push eax
call fcn.0041da60
lea eax, [ebp - 0x64c]
push eax
push edi
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 0x24
test eax, eax
jne 0x40e530
mov dword [esi + 0x44a], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x4c10e0], 0
mov edi, dword [ebp + 0x10]
mov dword [esi + 0x510], eax
je 0x40ea05
mov ecx, dword [0x4c10fc]
push 0x4b3d18
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 0x4b2ec4
push eax
call fcn.0041da40
push dword [esi + 8]
lea eax, [ebp - 0xe80]
push 0x4b2b54
push eax
call fcn.0041da80
add esp, 0x18
lea eax, [ebp - 0xa4c]
push eax
push 0
lea eax, [ebp - 0xe80]
push eax
push 0x4b3090
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 0x40ea05
mov cl, byte [esi + 0x5c1]
mov byte [ebp - 0xed1], cl
movzx ecx, cl
cmp ecx, dword [0x4bf188]
jb 0x40e64c
mov cl, byte [esi + 0x5c2]
cmp cl, 3
je 0x40e6a6
cmp cl, 4
je 0x40e6a6
cmp byte [ebp - 0xed1], 0xf
jb 0x40e665
mov cl, byte [esi + 0x5c2]
cmp cl, 3
je 0x40e665
cmp cl, 4
jne 0x40e6a6
cmp edx, 0x5a
jb 0x40e6a6
cmp dword [esi + 0x43a], 0x12c
jb 0x40e6a6
mov ecx, dword [esi + 0x4c7]
cmp ecx, 1
jb 0x40e692
cmp ecx, 0x1f4
jae 0x40e692
cmp dword [0x4c0e44], 0
jne 0x40e6a6
cmp dword [esi + 0x4cb], 0x4e20
jb 0x40e6a6
test eax, eax
je 0x40ea05
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 0x4b36b0
push eax
call fcn.0041da60
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 0x4b2ec4
push eax
call fcn.0041da40
push dword [esi + 8]
lea eax, [ebp - 0xe80]
push 0x4b2b54
push eax
call fcn.0041da80
mov eax, dword [ebp - 0xed0]
add esp, 0x18
push dword [eax + 0x23]
call dword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [0x4c10fc]
mov dword [esi + 0x416], 2
cmp eax, dword [esi + 8]
je 0x40e7f6
push str.penc
push 0x12
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
lea eax, [ebp - 0x54c]
mov byte [esi + 0x5c1], 0
push eax
push 0x4b36e8
lea eax, [ebp - 0xe80]
push eax
push 0x4b3090
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x14c]
call fcn.00428eb0
mov eax, dword [ebp - 0xe50]
test eax, eax
je 0x40f4b2
mov dword [eax], 7
jmp 0x40f4b2
push 0x4b36ec
push 0x12
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x40e9dd
cmp dword [ebp - 0x18], 0x5a
jae 0x40e85a
lea eax, [ebp - 0x54c]
push eax
push 0x4b3700
lea eax, [ebp - 0xe80]
push eax
push 0x4b3090
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [ebp - 0xe50]
test eax, eax
je 0x40e9f2
mov dword [eax], 2
lea edx, [ebp - 0x14c]
mov ecx, dword [esi + 8]
call fcn.00428eb0
jmp 0x40f4b2
cmp dword [esi + 0x43a], 0x12c
jae 0x40e8ab
lea eax, [ebp - 0x54c]
push eax
push 0x4b3624
lea eax, [ebp - 0xe80]
push eax
push 0x4b3090
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [ebp - 0xe50]
test eax, eax
je 0x40e9f2
mov dword [eax], 4
lea edx, [ebp - 0x14c]
mov ecx, dword [esi + 8]
call fcn.00428eb0
jmp 0x40f4b2
cmp dword [esi + 0x4cb], 0x4e20
jae 0x40e90a
lea eax, [ebp - 0x54c]
push eax
push 0x4b3704
lea eax, [ebp - 0xe80]
push eax
push 0x4b3090
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x14c]
call fcn.00428eb0
mov eax, dword [ebp - 0xe50]
test eax, eax
je 0x40e9f2
mov dword [eax], 5
lea edx, [ebp - 0x14c]
mov ecx, dword [esi + 8]
call fcn.00428eb0
jmp 0x40f4b2
cmp dword [0x4c0e44], 0
je 0x40e978
mov eax, dword [esi + 0x4c7]
cmp eax, 1
jb 0x40e978
cmp eax, 0x1f4
jae 0x40e978
lea eax, [ebp - 0x54c]
push eax
push 0x4b3708
lea eax, [ebp - 0xe80]
push eax
push 0x4b3090
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x14c]
call fcn.00428eb0
mov eax, dword [ebp - 0xe50]
test eax, eax
je 0x40e9f2
mov dword [eax], 6
lea edx, [ebp - 0x14c]
mov ecx, dword [esi + 8]
call fcn.00428eb0
jmp 0x40f4b2
movzx eax, byte [esi + 0x5c1]
cmp eax, dword [0x4bf188]
jb 0x40e9f2
lea eax, [ebp - 0x54c]
mov byte [esi + 0x5c1], 0
push eax
push 0x4b36e8
lea eax, [ebp - 0xe80]
push eax
push 0x4b3090
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x14c]
call fcn.00428eb0
mov eax, dword [ebp - 0xe50]
test eax, eax
je 0x40e9f2
mov dword [eax], 8
lea edx, [ebp - 0x14c]
mov ecx, dword [esi + 8]
call fcn.00428eb0
jmp 0x40f4b2
cmp eax, 1
jne 0x40e9f2
mov eax, dword [ebp - 0xe50]
test eax, eax
je 0x40e9f2
mov dword [eax], 1
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x14c]
call fcn.00428eb0
jmp 0x40f4b2
mov ecx, dword [ebp - 0xed0]
mov al, byte [ecx + 0x11]
add ecx, 0x152
mov byte [esi + 0x5f4], al
test al, al
jne 0x40f184
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 [0x4c0f90], 0
jne 0x40ea4a
cmp dword [0x4c0e34], 0
je 0x40ee32
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 0x40ee32
movzx ecx, word [edi]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
cmp ax, 0x19
jne 0x40ee32
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 0x40ee2a
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 0x40ecae
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 [0x4c0e34], 0
je 0x40eb4e
cmp byte [esi + 0x57f], 0
jne 0x40eb4e
cmp edi, 0x2a27
jne 0x40ec95
cmp eax, 0xffffffff
je 0x40ec95
push eax
lea eax, [ebp - 0xe58]
mov byte [esi + 0x57f], 1
push 0x4b3d1c
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 [0x4c10fc]
push dword [ebp - 0xe58]
push 0xc
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
jmp 0x40ecb1
mov eax, dword [ebp - 0xe50]
cmp edi, 0x55dc
jne 0x40eb64
mov dword [esi + 0x366], eax
jmp 0x40eba2
cmp edi, 0x55e2
jne 0x40eb74
mov dword [esi + 0x36a], eax
jmp 0x40eba2
cmp edi, 0x55e8
jne 0x40eb84
mov dword [esi + 0x36e], eax
jmp 0x40eba2
cmp edi, 0x5600
jne 0x40eb94
mov dword [esi + 0x372], eax
jmp 0x40eba2
cmp edi, 0x560c
jne 0x40eba2
mov dword [esi + 0x376], eax
mov ecx, dword [esi + 0x42e]
test ecx, ecx
je 0x40ebbc
cmp edi, dword [esi + 0x432]
jne 0x40ebbc
cmp eax, ecx
jae 0x40edf8
cmp edi, 0x27df
je 0x40ec48
cmp edi, 0x3988
je 0x40ec40
cmp edi, 0x3987
je 0x40ebf8
cmp edi, 0x4981
je 0x40ebf0
cmp edi, 0x615b
je 0x40ebf0
cmp edi, 0x5da8
jne 0x40ec51
cmp edi, 0x3987
jne 0x40ec00
mov dword [esi + 0x4e3], eax
jmp 0x40ec4e
cmp edi, 0x4981
jne 0x40ec10
mov dword [esi + 0x4e7], eax
jmp 0x40ec4e
cmp edi, 0x615b
jne 0x40ec20
mov dword [esi + 0x4eb], eax
jmp 0x40ec4e
cmp edi, 0x5da8
jne 0x40ec30
mov dword [esi + 0x4ef], eax
jmp 0x40ec4e
cmp edi, 0x31b0
jne 0x40ec4e
mov dword [esi + 0x4f3], eax
jmp 0x40ec4e
mov dword [esi + 0x4df], eax
jmp 0x40ec4e
mov dword [esi + 0x4db], eax
add dword [ebp - 0x18], eax
mov edx, edi
lea ecx, [ebp - 0x40]
call fcn.004185f0
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 0x40eab0
mov edi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x18]
cmp dword [0x4c0e34], 0
jne 0x40ede9
push eax
lea eax, [ebp - 0xe58]
push 0x4b3d1c
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
mov ecx, dword [0x4c10fc]
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 0x40ed6c
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 0x4b2b5c
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 + 0x55e], 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 0x40ee35
cmp dword [0x4c0fd4], 0
je 0x40ee18
cmp byte [esi + 0x5f7], 0
je 0x40ee18
mov ecx, esi
call fcn.004121b0
mov ecx, esi
call fcn.004121b0
mov dword [esi + 0x416], 1
lea ecx, [ebp - 0x28]
jmp 0x40f4ac
mov edi, dword [ebp + 0x10]
jmp 0x40ecb4
mov edi, dword [ebp + 0x10]
cmp dword [0x4c0fb0], 0
mov eax, dword [ebp - 0xed0]
movzx eax, word [eax + 0xa]
mov word [esi + 0x5e5], ax
mov word [esi + 0x5e1], ax
je 0x40eefd
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0xb
mov ecx, dword [0x4c0e30]
push eax
call dword [sym.imp.mfc140u.dll_CWnd::GetWindowTextW]
cmp dword [esi + 0x4cb], 0
jbe 0x40eef0
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 0x40eef0
mov eax, dword [esi + 0x43e]
cmp eax, 0x186a0
jae 0x40eef0
test eax, eax
je 0x40eef0
cmp ecx, 0x7530
jae 0x40eef0
cmp dword [0x4c0fd4], 0
je 0x40eed5
cmp byte [esi + 0x5f7], 0
je 0x40eed5
mov ecx, esi
call fcn.004121b0
mov ecx, esi
call fcn.004121b0
push 1
mov ecx, esi
mov dword [esi + 0x416], 1
call fcn.00410cf0
lea ecx, [ebp - 0x18]
jmp 0x40f4ac
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
movzx eax, word [esi + 0x5e5]
test ax, ax
je 0x40f176
cwde
cmp eax, 0xffff
jge 0x40f176
cmp dword [0x4c0e40], 0
je 0x40ef29
mov ecx, esi
call fcn.0040d170
mov ecx, dword [0x4c10fc]
push 0x4b376c
push 0x12
push edi
mov byte [esi + 0x54b], 1
mov dword [esi + 0x4a6], 0
mov byte [esi + 0x556], 1
mov byte [esi + 0x5f1], 1
mov byte [esi + 0x5f6], 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.00410930
mov ecx, esi
call fcn.00417750
push ecx
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 2
push eax
mov ecx, esi
mov word [ebp - 0x2c], 0x12
call fcn.00414eb0
mov ecx, esi
call fcn.00413a90
cmp dword [0x4c10e0], 0
je 0x40efb8
cmp dword [0x4c0fc8], 0
je 0x40efb8
mov ecx, esi
call fcn.00418350
call edi
mov dword [esi + 0x46e], eax
call edi
cmp dword [0x4c0f24], 0
mov dword [esi + 0x45e], eax
je 0x40efef
push 0
lea edi, [esi + 0x608]
mov ecx, esi
push edi
push 0
call fcn.00412960
push 0
push edi
push 4
mov ecx, esi
call fcn.00412960
cmp dword [0x4c0e2c], 0
je 0x40f012
push ecx
push 0x4d2c
mov ecx, esi
call fcn.00412c70
push ecx
push 0x487a
mov ecx, esi
call fcn.00412c70
cmp dword [0x4c10e8], 0
je 0x40f028
push ecx
push 0x2813
mov ecx, esi
call fcn.00412c70
cmp dword [0x4c0e28], 0
jne 0x40f03a
cmp dword [0x4c10e0], 0
je 0x40f047
push ecx
push 0x2724
mov ecx, esi
call fcn.00412c70
cmp dword [0x4c0e24], 0
je 0x40f0fc
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0x80000
push eax
mov ecx, esi
mov word [ebp - 0x2c], 0
call fcn.00419020
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x101
push eax
mov ecx, esi
mov word [ebp - 0x1c], 0x7f00
call fcn.00419020
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 0x10000
push eax
mov ecx, esi
mov word [ebp - 0x44], 0
call fcn.00419020
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 0x400001
push eax
mov ecx, esi
mov word [ebp - 0x3c], 0
call fcn.00419020
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0x101
push eax
mov ecx, esi
mov word [ebp - 0x24], 0xf00
call fcn.00419020
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x101
push eax
mov ecx, esi
mov word [ebp - 0x14], 0xe00
call fcn.00419020
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.00419020
cmp dword [0x4c10f4], 0
je 0x40f10d
push ecx
mov ecx, esi
call fcn.00412e10
cmp dword [0x4c10e0], 0
jne 0x40f120
sub esp, 8
mov ecx, esi
call fcn.00412b60
cmp dword [0x4c10f4], 0
je 0x40f139
cmp dword [esi + 0x4c3], 8
jbe 0x40f139
mov byte [esi + 0x561], 1
cmp dword [0x4c0fb4], 0
je 0x40f156
cmp byte [esi + 0x562], 0
jne 0x40f156
push 1
push 2
mov ecx, esi
call fcn.00414cc0
cmp dword [0x4c0f90], 0
je 0x40f4b2
mov ecx, esi
call fcn.00418520
mov ecx, esi
call fcn.00418e40
jmp 0x40f4b2
xor eax, eax
mov word [esi + 0x5e5], ax
jmp 0x40f4b2
cmp al, 1
jne 0x40f3bf
inc byte [esi + 0x5f6]
cmp byte [esi + 0x5f6], 2
jae 0x40f1b4
push 0x4b370c
push edi
mov ecx, esi
mov byte [esi + 0x5f4], 0
call fcn.0040bb70
jmp 0x40f4b2
mov ecx, dword [0x4c10fc]
push 0x4b3718
push 0x12
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
mov ecx, dword [esi + 8]
mov edx, 0x4b3720
call fcn.00428eb0
cmp dword [0x4c0e40], 0
je 0x40f1e5
mov ecx, esi
call fcn.0040d170
cmp dword [0x4c10e0], 0
je 0x40f208
mov eax, dword [ebp - 0xe50]
mov dword [esi + 0x416], 2
test eax, eax
je 0x40f208
mov dword [eax], 2
cmp dword [0x4c0fb0], 0
je 0x40f227
push 0
push edi
mov ecx, esi
mov byte [esi + 0x5f4], 0
call fcn.0040bb70
jmp 0x40f4b2
cmp dword [0x4c0e3c], 0
je 0x40f4b2
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 [0x4c0e38]
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 0x4b2b50
push eax
call fcn.0041dac0
mov eax, dword [ebp - 0x28]
add esp, 0xc
cmp dword [eax - 0xc], 0
je 0x40f32b
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.004292a0
add esp, 4
mov edx, esi
mov al, byte [edx]
inc edx
test al, al
jne 0x40f2d8
lea edi, [ebp - 0x14c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40f2e8
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 0x40f303
lea edi, [ebp - 0x14c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40f313
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, 3
jmp 0x40f356
lea edx, [ebp - 0x4c]
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x40f330
lea edi, [ebp - 0x14c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40f340
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.00422bf0
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 + 0x5e5], ax
mov word [esi + 0x5e1], ax
mov byte [esi + 0x5f1], 1
mov byte [esi + 0x5f4], 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.00418f10
lea ecx, [ebp - 0x28]
jmp 0x40f4ac
cmp al, 0xc
jne 0x40f42a
push 0x4b3728
push ecx
call dword [sym.imp.VCRUNTIME140.dll_strstr]
mov ecx, dword [0x4c10fc]
add esp, 8
push 0x4b3734
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.00428eb0
cmp dword [0x4c10e0], 0
je 0x40f4b2
mov eax, dword [ebp - 0xe50]
mov dword [esi + 0x416], 2
test eax, eax
je 0x40f4b2
mov dword [eax], 2
jmp 0x40f4b2
push ecx
lea ecx, [ebp - 0x20]
cmp al, 5
jne 0x40f43e
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 0x40f474
cmp al, 0x38
jne 0x40f46a
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 [0x4c10fc]
push 0x12
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
push 0
push edi
mov ecx, esi
call fcn.0040d6c0
jmp 0x40f4a9
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 [0x4c10fc]
push 0x12
push edi
call dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
cmp dword [0x4c10e0], 0
je 0x40f4a9
mov eax, dword [ebp - 0xe50]
mov dword [esi + 0x416], 2
test eax, eax
je 0x40f4a9
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.004429bd
mov esp, ebp
pop ebp
ret 0x10