Function at 0x41e010
Capabilities:
Create process on windows
Read .ini file
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x43828a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48c
push ebx
push ebp
push esi
mov esi, ecx
push edi
xor ebx, ebx
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x295]
mov byte [esp + 0x294], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x14d]
mov byte [esp + 0x14c], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x49]
mov byte [esp + 0x48], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x294]
push 0x104
push eax
call fcn.00402c90
add esp, 8
mov ecx, 0x104
lea eax, [esp + 0x294]
cmp byte [eax], 0
je 0x41e0a7
inc eax
dec ecx
jne 0x41e09c
jmp 0x41e0ee
test ecx, ecx
je 0x41e0ee
lea edx, [esp + 0x18]
test edx, edx
je 0x41e0bc
mov eax, 0x104
sub eax, ecx
jmp 0x41e0c0
mov eax, dword [esp + 0x18]
mov edx, 0x104
sub edx, eax
lea eax, [esp + eax + 0x294]
je 0x41e0ee
mov edi, 0x44190c
sub edi, eax
mov cl, byte [eax + edi]
test cl, cl
je 0x41e0e6
mov byte [eax], cl
inc eax
dec edx
jne 0x41e0d7
jmp 0x41e0ea
test edx, edx
jne 0x41e0eb
dec eax
mov byte [eax], 0
lea eax, [esp + 0x14c]
push 0x104
push eax
call fcn.004039a0
add esp, 8
lea ecx, [esp + 0x14c]
push ecx
push 0
push 0x44a6fc
push 0x441828
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ebp, dword [esp + 0x4ac]
mov dword [esp + 0x14], eax
test ebp, ebp
je 0x41e13c
mov eax, dword [esp + 0x4b0]
test eax, eax
je 0x41e13c
mov ebx, 1
mov edx, 0x441898
lea ecx, [esp + 0x48]
mov edi, 0x104
lea eax, [esp + 0x48]
sub edx, ecx
mov cl, byte [eax + edx]
test cl, cl
je 0x41e15f
mov byte [eax], cl
inc eax
dec edi
jne 0x41e150
jmp 0x41e163
test edi, edi
jne 0x41e164
dec eax
push 0
mov byte [eax], 0
push 0
lea edx, [esp + 0x154]
push ebx
lea eax, [esp + 0x54]
push edx
push eax
push 0x441828
call fcn.00402f00
add esp, 0x18
cmp eax, 0xffffffff
jne 0x41e202
mov ecx, dword [esi + 0x528]
push 0x441898
push 0x448d90
push ecx
call fcn.004112c0
add esp, 0xc
test ebp, ebp
jne 0x41f181
mov ebp, dword [sym.imp.USER32.dll_MessageBoxA]
mov ebx, 1
mov edi, 0x443710
mov edx, dword [edi + 0x104]
lea eax, [edi - 0x104]
push 0
push edx
lea ecx, [esp + 0x154]
push 0
push ecx
push edi
push eax
call fcn.00402f00
add esp, 0x18
cmp eax, 0xffffffff
jne 0x41e4e9
mov edx, dword [esi + 0x528]
push edi
push 0x448d90
push edx
call fcn.004112c0
add esp, 0xc
jmp 0x41e5a6
cmp eax, 3
jne 0x41e24d
mov edx, dword [esi + 0x528]
push 0x441898
push 0x448d74
push edx
call fcn.004112c0
mov eax, dword [esi + 0x20]
add esp, 0xc
push 0x1000
push 0x44114c
push 0x448d58
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
jmp 0x41e1a4
cmp eax, 4
jne 0x41e2c7
mov eax, dword [esp + 0x14]
mov dword [0x44f670], 1
test eax, eax
push 0x441898
jne 0x41e284
mov ecx, dword [esi + 0x528]
push 0x448d44
push ecx
call fcn.004112c0
add esp, 0xc
xor eax, eax
jmp 0x41f186
mov edx, dword [esi + 0x528]
push 0x448d74
push edx
call fcn.004112c0
mov eax, dword [esi + 0x20]
add esp, 0xc
push 0x1000
push 0x44114c
push 0x448d58
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
xor eax, eax
jmp 0x41f186
cmp eax, 1
jne 0x41e1a4
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esi + 0x528]
push 0x441898
push 0x448d30
push ecx
mov dword [esp + 0x4b0], 0
call fcn.004112c0
add esp, 0xc
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x441898
lea edx, [esp + 0x18]
push 0x448d20
push edx
call sub.MFC42.DLL_CString::Format
add esp, 8
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
call fcn.004150f0
lea ecx, [esp + 0x14]
mov dword [esp + 0x4a4], 0xffffffff
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x398]
push 0x104
push ecx
mov dword [esp + 0x4ac], 1
call fcn.00402c90
add esp, 8
mov ecx, 0x104
lea eax, [esp + 0x398]
cmp byte [eax], 0
je 0x41e387
inc eax
dec ecx
jne 0x41e37c
jmp 0x41e3ce
test ecx, ecx
je 0x41e3ce
lea edx, [esp + 0x18]
test edx, edx
je 0x41e39c
mov eax, 0x104
sub eax, ecx
jmp 0x41e3a0
mov eax, dword [esp + 0x18]
mov edx, 0x104
sub edx, eax
lea eax, [esp + eax + 0x398]
je 0x41e3ce
mov edi, 0x441898
sub edi, eax
mov cl, byte [eax + edi]
test cl, cl
je 0x41e3c6
mov byte [eax], cl
inc eax
dec edx
jne 0x41e3b7
jmp 0x41e3ca
test edx, edx
jne 0x41e3cb
dec eax
mov byte [eax], 0
lea eax, [esp + 0x14c]
lea ecx, [esp + 0x14]
push eax
push 0x104
push 0x104
call sub.MFC42.DLL_CString::GetBuffer
xor ebx, ebx
push eax
push ebx
push 0x4418e4
push 0x441828
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x294]
push ecx
push 0x104
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0x4418e4
push 0x441828
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov edx, dword [0x44f740]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
call edi
mov dword [0x44f740], ebx
mov eax, dword [esi + 0x2f8]
cmp eax, ebx
je 0x41e44c
push eax
call edi
mov dword [esi + 0x2f8], ebx
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0x250]
lea edx, [esp + 0x250]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], eax
push ecx
mov dword [esp + 0x38], eax
push edx
push ebx
mov dword [esp + 0x44], eax
push ebx
push ebx
mov dword [esp + 0x50], eax
push ebx
push ebx
lea eax, [esp + 0x3b4]
push ebx
push eax
push ebx
mov dword [esp + 0x278], 0x44
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x41e4b8
lea ecx, [esp + 0x14]
mov dword [esp + 0x4a4], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
jmp 0x41f186
mov ecx, dword [esi + 0x20]
push 0x7d9
push ecx
call dword [sym.imp.USER32.dll_KillTimer]
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov dword [esp + 0x4a4], 0xffffffff
lea ecx, [esp + 0x14]
jmp 0x41f17c
cmp eax, 3
jne 0x41e529
mov eax, dword [esi + 0x528]
push edi
push 0x448d74
push eax
call fcn.004112c0
mov ecx, dword [esi + 0x20]
add esp, 0xc
push 0x1000
push 0x44114c
push 0x448d58
push ecx
call ebp
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
jmp 0x41e5a6
cmp eax, 4
je 0x41e5e3
cmp eax, 1
jne 0x41e5a6
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_4
mov edx, dword [esi + 0x528]
push edi
push 0x448d30
push edx
mov dword [esp + 0x4b0], 2
call fcn.004112c0
add esp, 0xc
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push edi
lea eax, [esp + 0x14]
push 0x448d20
push eax
call sub.MFC42.DLL_CString::Format
add esp, 8
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
call fcn.004150f0
lea ecx, [esp + 0x10]
mov dword [esp + 0x4a4], 0xffffffff
call sub.MFC42.DLL_CString::CString
add edi, 0x20c
inc ebx
cmp edi, 0x4459dc
jb 0x41e1bc
mov edx, 0x448bc4
lea ecx, [esp + 0x48]
mov edi, 0x104
lea eax, [esp + 0x48]
sub edx, ecx
mov cl, byte [eax + edx]
test cl, cl
je 0x41e673
mov byte [eax], cl
inc eax
dec edi
jne 0x41e5cd
jmp 0x41e677
mov eax, dword [esp + 0x14]
mov dword [0x44f670], 1
test eax, eax
jne 0x41e622
mov eax, ebx
shl eax, 6
add eax, ebx
lea ecx, [ebx + eax*2]
mov eax, dword [esi + 0x528]
lea edx, [ecx*4 + 0x443504]
push edx
push 0x448d44
push eax
call fcn.004112c0
add esp, 0xc
xor eax, eax
jmp 0x41f186
mov ecx, ebx
shl ecx, 6
add ecx, ebx
lea edx, [ebx + ecx*2]
mov ecx, dword [esi + 0x528]
lea eax, [edx*4 + 0x443504]
push eax
push 0x448d74
push ecx
call fcn.004112c0
mov edx, dword [esi + 0x20]
add esp, 0xc
push 0x1000
push 0x44114c
push 0x448d58
push edx
call ebp
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
xor eax, eax
jmp 0x41f186
test edi, edi
jne 0x41e678
dec eax
push 0
mov byte [eax], 0
push 1
lea edx, [esp + 0x154]
push 0
lea eax, [esp + 0x54]
push edx
push eax
push 0x4418fc
call fcn.00402f00
add esp, 0x18
cmp eax, 0xffffffff
jne 0x41e6be
mov ecx, dword [esi + 0x528]
push 0x44a728
push 0x448d90
push ecx
call fcn.004112c0
add esp, 0xc
jmp 0x41e7e6
cmp eax, 3
jne 0x41e707
mov edx, dword [esi + 0x528]
push 0x44a728
push 0x448d74
push edx
call fcn.004112c0
mov eax, dword [esi + 0x20]
add esp, 0xc
push 0x1000
push 0x44114c
push 0x448d58
push eax
call ebp
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ebx, dword [sym.imp.KERNEL32.dll_TerminateProcess]
push eax
call ebx
jmp 0x41e7ec
cmp eax, 4
jne 0x41e76a
mov eax, dword [esp + 0x14]
mov dword [0x44f670], 1
test eax, eax
push 0x44a728
jne 0x41e73e
mov ecx, dword [esi + 0x528]
push 0x448d44
push ecx
call fcn.004112c0
add esp, 0xc
xor eax, eax
jmp 0x41f186
mov edx, dword [esi + 0x528]
push 0x448d74
push edx
call fcn.004112c0
mov eax, dword [esi + 0x20]
add esp, 0xc
push 0x1000
push 0x44114c
push 0x448d58
push eax
jmp 0x41e65b
cmp eax, 1
jne 0x41e7e6
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esi + 0x528]
push 0x44a728
push 0x448d30
push ecx
mov dword [esp + 0x4b0], 3
call fcn.004112c0
add esp, 0xc
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x44a728
lea edx, [esp + 0x14]
push 0x448d20
push edx
call sub.MFC42.DLL_CString::Format
add esp, 8
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
call fcn.004150f0
lea ecx, [esp + 0x10]
mov dword [esp + 0x4a4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ebx, dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov edx, 0x44a6a4
lea ecx, [esp + 0x48]
mov edi, 0x104
lea eax, [esp + 0x48]
sub edx, ecx
mov cl, byte [eax + edx]
test cl, cl
je 0x41e80f
mov byte [eax], cl
inc eax
dec edi
jne 0x41e800
jmp 0x41e813
test edi, edi
jne 0x41e814
dec eax
push 0
mov byte [eax], 0
push 2
lea edx, [esp + 0x154]
push 0
lea eax, [esp + 0x54]
push edx
push eax
push 0x44a69c
call fcn.00402f00
mov edx, 0x44a68c
lea ecx, [esp + 0x60]
add esp, 0x18
mov edi, 0x104
lea eax, [esp + 0x48]
sub edx, ecx
mov cl, byte [eax + edx]
test cl, cl
je 0x41e85a
mov byte [eax], cl
inc eax
dec edi
jne 0x41e84b
jmp 0x41e85e
test edi, edi
jne 0x41e85f
dec eax
push 0
mov byte [eax], 0
push 2
lea edx, [esp + 0x154]
push 0
lea eax, [esp + 0x54]
push edx
push eax
push 0x44a680
call fcn.00402f00
mov edx, 0x448dbc
lea ecx, [esp + 0x60]
add esp, 0x18
mov edi, 0x104
lea eax, [esp + 0x48]
sub edx, ecx
mov cl, byte [eax + edx]
test cl, cl
je 0x41e8a5
mov byte [eax], cl
inc eax
dec edi
jne 0x41e896
jmp 0x41e8a9
test edi, edi
jne 0x41e8aa
dec eax
push 0
mov byte [eax], 0
push 4
lea edx, [esp + 0x154]
push 0
lea eax, [esp + 0x54]
push edx
push eax
push 0x448db4
call fcn.00402f00
add esp, 0x18
cmp eax, 0xffffffff
jne 0x41e8f0
mov ecx, dword [esi + 0x528]
push 0x448da4
push 0x448d90
push ecx
call fcn.004112c0
add esp, 0xc
jmp 0x41e9d4
cmp eax, 3
jne 0x41e933
mov edx, dword [esi + 0x528]
push 0x448da4
push 0x448d74
push edx
call fcn.004112c0
mov eax, dword [esi + 0x20]
add esp, 0xc
push 0x1000
push 0x44114c
push 0x448d58
push eax
call ebp
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call ebx
jmp 0x41e9d4
cmp eax, 4
jne 0x41e958
mov eax, dword [esp + 0x14]
mov dword [0x44f670], 1
test eax, eax
push 0x448da4
jne 0x41ed5e
jmp 0x41ebf7
cmp eax, 1
jne 0x41e9d4
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esi + 0x528]
push 0x448da4
push 0x448d30
push ecx
mov dword [esp + 0x4b0], 4
call fcn.004112c0
add esp, 0xc
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x448da4
lea edx, [esp + 0x14]
push 0x448d20
push edx
call sub.MFC42.DLL_CString::Format
add esp, 8
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
call fcn.004150f0
lea ecx, [esp + 0x10]
mov dword [esp + 0x4a4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov edx, 0x448d14
lea ecx, [esp + 0x48]
mov edi, 0x104
lea eax, [esp + 0x48]
sub edx, ecx
mov cl, byte [eax + edx]
test cl, cl
je 0x41e9f7
mov byte [eax], cl
inc eax
dec edi
jne 0x41e9e8
jmp 0x41e9fb
test edi, edi
jne 0x41e9fc
dec eax
push 0
mov byte [eax], 0
push 4
lea edx, [esp + 0x154]
push 0
lea eax, [esp + 0x54]
push edx
push eax
push 0x448d0c
call fcn.00402f00
add esp, 0x18
cmp eax, 0xffffffff
jne 0x41ea42
mov ecx, dword [esi + 0x528]
push 0x448cfc
push 0x448d90
push ecx
call fcn.004112c0
add esp, 0xc
jmp 0x41eb26
cmp eax, 3
jne 0x41ea85
mov edx, dword [esi + 0x528]
push 0x448cfc
push 0x448d74
push edx
call fcn.004112c0
mov eax, dword [esi + 0x20]
add esp, 0xc
push 0x1000
push 0x44114c
push 0x448d58
push eax
call ebp
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call ebx
jmp 0x41eb26
cmp eax, 4
jne 0x41eaaa
mov eax, dword [esp + 0x14]
mov dword [0x44f670], 1
test eax, eax
push 0x448cfc
jne 0x41ed5e
jmp 0x41ebf7
cmp eax, 1
jne 0x41eb26
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esi + 0x528]
push 0x448cfc
push 0x448d30
push ecx
mov dword [esp + 0x4b0], 5
call fcn.004112c0
add esp, 0xc
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x448cfc
lea edx, [esp + 0x14]
push 0x448d20
push edx
call sub.MFC42.DLL_CString::Format
add esp, 8
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
call fcn.004150f0
lea ecx, [esp + 0x10]
mov dword [esp + 0x4a4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov edx, 0x448cf0
lea ecx, [esp + 0x48]
mov edi, 0x104
lea eax, [esp + 0x48]
sub edx, ecx
mov cl, byte [eax + edx]
test cl, cl
je 0x41eb49
mov byte [eax], cl
inc eax
dec edi
jne 0x41eb3a
jmp 0x41eb4d
test edi, edi
jne 0x41eb4e
dec eax
push 0
mov byte [eax], 0
push 4
lea edx, [esp + 0x154]
push 0
lea eax, [esp + 0x54]
push edx
push eax
push 0x448ce8
call fcn.00402f00
add esp, 0x18
cmp eax, 0xffffffff
jne 0x41eb94
mov ecx, dword [esi + 0x528]
push 0x448cd8
push 0x448d90
push ecx
call fcn.004112c0
add esp, 0xc
jmp 0x41ec8e
cmp eax, 3
jne 0x41ebd7
mov edx, dword [esi + 0x528]
push 0x448cd8
push 0x448d74
push edx
call fcn.004112c0
mov eax, dword [esi + 0x20]
add esp, 0xc
push 0x1000
push 0x44114c
push 0x448d58
push eax
call ebp
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call ebx
jmp 0x41ec8e
cmp eax, 4
jne 0x41ec12
mov eax, dword [esp + 0x14]
mov dword [0x44f670], 1
test eax, eax
push 0x448cd8
jne 0x41ed5e
mov ecx, dword [esi + 0x528]
push 0x448d44
push ecx
call fcn.004112c0
add esp, 0xc
xor eax, eax
jmp 0x41f186
cmp eax, 1
jne 0x41ec8e
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esi + 0x528]
push 0x448cd8
push 0x448d30
push ecx
mov dword [esp + 0x4b0], 6
call fcn.004112c0
add esp, 0xc
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x448cd8
lea edx, [esp + 0x14]
push 0x448d20
push edx
call sub.MFC42.DLL_CString::Format
add esp, 8
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
call fcn.004150f0
lea ecx, [esp + 0x10]
mov dword [esp + 0x4a4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov edx, 0x448cb4
lea ecx, [esp + 0x48]
mov edi, 0x104
lea eax, [esp + 0x48]
sub edx, ecx
mov cl, byte [eax + edx]
test cl, cl
je 0x41ecb1
mov byte [eax], cl
inc eax
dec edi
jne 0x41eca2
jmp 0x41ecb5
test edi, edi
jne 0x41ecb6
dec eax
push 0
mov byte [eax], 0
push 1
lea edx, [esp + 0x154]
push 0
lea eax, [esp + 0x54]
push edx
push eax
push 0x448ca8
call fcn.00402f00
add esp, 0x18
cmp eax, 0xffffffff
jne 0x41ecfc
mov ecx, dword [esi + 0x528]
push 0x448c94
push 0x448d90
push ecx
call fcn.004112c0
add esp, 0xc
jmp 0x41ee15
cmp eax, 3
jne 0x41ed3f
mov edx, dword [esi + 0x528]
push 0x448c94
push 0x448d74
push edx
call fcn.004112c0
mov eax, dword [esi + 0x20]
add esp, 0xc
push 0x1000
push 0x44114c
push 0x448d58
push eax
call ebp
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call ebx
jmp 0x41ee15
cmp eax, 4
jne 0x41ed99
mov eax, dword [esp + 0x14]
mov dword [0x44f670], 1
test eax, eax
push 0x448c94
jmp 0x41ebf1
mov edx, dword [esi + 0x528]
push 0x448d74
push edx
call fcn.004112c0
mov eax, dword [esi + 0x20]
add esp, 0xc
push 0x1000
push 0x44114c
push 0x448d58
push eax
call ebp
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call ebx
xor eax, eax
jmp 0x41f186
cmp eax, 1
jne 0x41ee15
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esi + 0x528]
push 0x448c94
push 0x448d30
push ecx
mov dword [esp + 0x4b0], 7
call fcn.004112c0
add esp, 0xc
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x448c94
lea edx, [esp + 0x28]
push 0x448d20
push edx
call sub.MFC42.DLL_CString::Format
add esp, 8
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
call fcn.004150f0
lea ecx, [esp + 0x24]
mov dword [esp + 0x4a4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ebx, dword [0x44f62c]
mov edi, dword [ebx]
cmp edi, ebx
je 0x41ee56
mov esi, edi
mov edi, dword [edi]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [eax], ecx
mov edx, dword [esi]
mov eax, dword [esi + 4]
lea ecx, [esi + 8]
mov dword [edx + 4], eax
call sub.MFC42.DLL_CString::CString
push esi
call fcn.0042a030
mov ecx, dword [0x44f630]
add esp, 4
dec ecx
cmp edi, ebx
mov dword [0x44f630], ecx
jne 0x41ee21
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString_4
mov ebp, 0x104
mov dword [esp + 0x4a4], 8
push ebp
call sub.MFC42.DLL_operatornew
mov esi, eax
mov ecx, 0x41
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
add esp, 4
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x14c]
mov dword [esp + 0x18], esi
push ecx
push ebp
push esi
push eax
push eax
push eax
mov dword [esp + 0x34], esi
call ebx
mov dword [esp + 0x10], eax
add eax, 2
cmp eax, ebp
jl 0x41eef9
push esi
add ebp, ebp
call fcn.0042a030
push ebp
call sub.MFC42.DLL_operatornew
mov ecx, ebp
mov esi, eax
mov edx, ecx
xor eax, eax
mov edi, esi
add esp, 8
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
mov dword [esp + 0x18], esi
and ecx, 3
mov dword [esp + 0x1c], esi
rep stosb byte es:[edi], al
lea eax, [esp + 0x14c]
push eax
push ebp
push esi
push 0
push 0
push 0
call ebx
mov dword [esp + 0x10], eax
add eax, 2
cmp eax, ebp
jge 0x41eead
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x14], 0
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x10]
not ecx
dec ecx
test eax, eax
mov ebx, ecx
je 0x41f160
mov ebp, dword [esp + 0x1c]
test ebx, ebx
je 0x41f160
push 0x4418bc
push ebp
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
je 0x41f135
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x48]
mov edx, ebp
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x48]
mov esi, 0x104
lea eax, [esp + 0x48]
sub edx, ecx
mov cl, byte [eax + edx]
test cl, cl
je 0x41ef68
mov byte [eax], cl
inc eax
dec esi
jne 0x41ef59
jmp 0x41ef6c
test esi, esi
jne 0x41ef6d
dec eax
mov byte [eax], 0
mov ecx, 0x104
lea eax, [esp + 0x48]
cmp byte [eax], 0
je 0x41ef84
inc eax
dec ecx
jne 0x41ef79
jmp 0x41efcc
test ecx, ecx
je 0x41efcc
lea edx, [esp + 0x1c]
test edx, edx
je 0x41ef9d
mov eax, 0x104
sub eax, ecx
mov dword [esp + 0x1c], eax
jmp 0x41efa1
mov eax, dword [esp + 0x1c]
mov edx, 0x104
sub edx, eax
lea eax, [esp + eax + 0x48]
je 0x41efcc
mov esi, 0x4418dc
sub esi, eax
mov cl, byte [eax + esi]
test cl, cl
je 0x41efc4
mov byte [eax], cl
inc eax
dec edx
jne 0x41efb5
jmp 0x41efc8
test edx, edx
jne 0x41efc9
dec eax
mov byte [eax], 0
push 0x104
push 0x104
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::GetBuffer
push eax
call fcn.00402c90
add esp, 8
lea ecx, [esp + 0x20]
push 0x104
call sub.MFC42.DLL_CString::GetBuffer
mov edx, 0x104
mov ecx, eax
cmp byte [ecx], 0
je 0x41f008
inc ecx
dec edx
jne 0x41effd
jmp 0x41f04f
test edx, edx
je 0x41f04f
lea ecx, [esp + 0x28]
test ecx, ecx
je 0x41f021
mov ecx, 0x104
sub ecx, edx
mov dword [esp + 0x28], ecx
jmp 0x41f025
mov ecx, dword [esp + 0x28]
mov edx, 0x104
lea eax, [ecx + eax]
sub edx, ecx
je 0x41f04f
mov esi, 0x441c8c
sub esi, eax
mov cl, byte [eax + esi]
test cl, cl
je 0x41f047
mov byte [eax], cl
inc eax
dec edx
jne 0x41f038
jmp 0x41f04b
test edx, edx
jne 0x41f04c
dec eax
mov byte [eax], 0
push 0x104
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::GetBuffer
mov edx, 0x104
mov ecx, eax
cmp byte [ecx], 0
je 0x41f06f
inc ecx
dec edx
jne 0x41f064
jmp 0x41f0b5
test edx, edx
je 0x41f0b5
lea ecx, [esp + 0x2c]
test ecx, ecx
je 0x41f088
mov ecx, 0x104
sub ecx, edx
mov dword [esp + 0x2c], ecx
jmp 0x41f08c
mov ecx, dword [esp + 0x2c]
mov edx, 0x104
lea eax, [ecx + eax]
sub edx, ecx
je 0x41f0b5
lea esi, [esp + 0x48]
sub esi, eax
mov cl, byte [eax + esi]
test cl, cl
je 0x41f0ad
mov byte [eax], cl
inc eax
dec edx
jne 0x41f09e
jmp 0x41f0b1
test edx, edx
jne 0x41f0b2
dec eax
mov byte [eax], 0
mov esi, dword [0x44f62c]
push 0xc
mov edi, dword [esi + 4]
call sub.MFC42.DLL_operatornew
add esp, 4
mov ecx, esi
test esi, esi
jne 0x41f0d0
mov ecx, eax
mov dword [eax], ecx
mov ecx, edi
test edi, edi
jne 0x41f0da
mov ecx, eax
mov dword [eax + 4], ecx
mov dword [esi + 4], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
lea ecx, [eax + 8]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], ecx
test ecx, ecx
mov byte [esp + 0x4a4], 9
je 0x41f106
lea edx, [esp + 0x20]
push edx
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [0x44f630]
push 0
inc eax
push 3
mov dword [0x44f630], eax
lea eax, [esp + 0x154]
push 0
lea ecx, [esp + 0x54]
push eax
push ecx
push ebp
mov byte [esp + 0x4bc], 8
call fcn.00402f00
add esp, 0x18
mov eax, dword [esp + 0x14]
inc ebx
add eax, ebx
add ebp, ebx
mov dword [esp + 0x14], eax
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
not ecx
dec ecx
cmp edx, eax
mov ebx, ecx
jne 0x41ef1f
mov eax, dword [esp + 0x18]
push eax
call fcn.0042a030
add esp, 4
mov dword [esp + 0x4a4], 0xffffffff
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString
mov eax, 1
mov ecx, dword [esp + 0x49c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x498
ret 8