Function at 0x40de10
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2084
call fcn.0041bb90
mov eax, dword [0x41e038]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
mov edi, ecx
xor ecx, ecx
push eax
mov dword [ebp - 0x2080], eax
mov dword [ebp - 0x204c], eax
mov word [ebp - 0x205c], cx
mov esi, 7
push 0x41e63c
or eax, 0xffffffff
lea ecx, [ebp - 0x205c]
mov dword [ebp - 0x2048], esi
call fcn.00408480
push 0xd
mov eax, 0x401524
lea ecx, [ebp - 0x205c]
call fcn.00408790
lea edx, [ebp - 0x205c]
lea ecx, [ebp - 0x2040]
call fcn.004113e0
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push edi
push 0x40
lea edx, [ebp - 0x2008]
push edx
push 0x40135c
push 0x40195c
push 0x401968
call ebx
test eax, eax
je 0x40e31b
lea eax, [ebp - 0x2008]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40deb7
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
mov esi, 0x41e578
call fcn.004088c0
push edi
push 0x40
lea eax, [ebp - 0x2008]
push eax
push 0x40135c
push 0x402490
push 0x401968
call ebx
lea eax, [ebp - 0x2008]
lea edx, [eax + 2]
jmp 0x40df00
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40df00
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
mov esi, 0x41e594
call fcn.004088c0
push edi
push 0x40
lea ecx, [ebp - 0x2008]
push ecx
push 0x40135c
push 0x4024a0
push 0x401968
call ebx
lea eax, [ebp - 0x2008]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40df44
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
mov esi, 0x41e5b0
call fcn.004088c0
push edi
push 0x1000
lea edx, [ebp - 0x2008]
push edx
push 0x40135c
push 0x4024b0
push 0x401968
call ebx
test eax, eax
je 0x40e023
lea eax, [ebp - 0x2008]
push 0x4024c8
push eax
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
push edi
push 0x1000
test eax, eax
jne 0x40dfe2
lea ecx, [ebp - 0x2008]
push ecx
push 0x40135c
push 0x4024d4
push 0x401968
call ebx
lea eax, [ebp - 0x2008]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40dfd0
mov esi, 0x41e700
jmp 0x40e013
lea edx, [ebp - 0x2008]
push edx
push 0x40135c
push 0x4024d4
push 0x401968
call ebx
lea eax, [ebp - 0x2008]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40e003
mov esi, 0x41e6e4
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
call fcn.004088c0
push edi
push 0x1000
lea eax, [ebp - 0x2008]
push eax
push 0x40135c
push 0x401984
push 0x401968
call ebx
test eax, eax
je 0x40e056
cmp word [ebp - 0x2008], 0x31
sete cl
mov byte [0x41e576], cl
push edi
push 0x1000
lea edx, [ebp - 0x2008]
push edx
push 0x40135c
push 0x4024f0
push 0x401968
call ebx
test eax, eax
je 0x40e099
mov ax, word [ebp - 0x2008]
cmp ax, 0x31
je 0x40e092
mov byte [0x41e574], 0
cmp ax, 0x32
jne 0x40e099
mov byte [0x41e574], 1
push edi
push 0x1000
lea eax, [ebp - 0x2008]
push eax
push 0x40135c
push 0x4024fc
push 0x401968
call ebx
test eax, eax
je 0x40e0e4
lea eax, [ebp - 0x2008]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40e0c4
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
mov esi, 0x41e71c
call fcn.004088c0
push edi
push 0x1000
lea ecx, [ebp - 0x2008]
push ecx
push 0x40135c
push 0x4019ac
push 0x401968
call ebx
test eax, eax
je 0x40e16f
xor edx, edx
lea eax, [ebp - 0x2008]
mov word [ebp - 0x2024], dx
mov dword [ebp - 0x2010], 7
mov dword [ebp - 0x2014], 0
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40e130
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
lea esi, [ebp - 0x2024]
call fcn.004088c0
lea edx, [ebp - 0x2040]
mov ecx, esi
mov ebx, 1
call fcn.00411110
cmp eax, ebx
jne 0x40e175
mov byte [ebp - 0x2079], bl
jmp 0x40e17c
mov bl, byte [ebp - 0x2080]
mov byte [ebp - 0x2079], 0
mov edi, 8
test bl, 1
je 0x40e1a2
cmp dword [ebp - 0x2010], edi
jb 0x40e1a2
mov eax, dword [ebp - 0x2024]
mov esi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
push eax
call esi
add esp, 4
jmp 0x40e1a8
mov esi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
cmp byte [ebp - 0x2079], 0
je 0x40e2c3
xor ebx, ebx
xor ecx, ecx
push 0x28
mov eax, 0x402510
lea esi, [ebp - 0x2024]
mov dword [ebp - 0x2010], 7
mov dword [ebp - 0x2014], ebx
mov word [ebp - 0x2024], cx
call fcn.004088c0
lea eax, [ebp - 0x2008]
lea edx, [eax + 2]
jmp 0x40e1f0
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40e1f0
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
lea ecx, [ebp - 0x2024]
call fcn.00408790
push 0x47
mov eax, 0x402568
lea ecx, [ebp - 0x2024]
call fcn.00408790
mov eax, dword [ebp - 0x2024]
cmp dword [ebp - 0x2010], edi
jae 0x40e237
lea eax, [ebp - 0x2024]
push 0x10
push 0x401968
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp dword [ebp - 0x2010], edi
jb 0x40e25e
mov edx, dword [ebp - 0x2024]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov esi, 7
mov dword [ebp - 0x2010], esi
mov dword [ebp - 0x2014], ebx
mov word [ebp - 0x2024], ax
cmp dword [ebp - 0x202c], edi
jb 0x40e290
mov ecx, dword [ebp - 0x2040]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edx, edx
mov dword [ebp - 0x202c], esi
mov dword [ebp - 0x2030], ebx
mov word [ebp - 0x2040], dx
cmp dword [ebp - 0x2048], edi
jb 0x40e9e2
mov eax, dword [ebp - 0x205c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
jmp 0x40e9df
cmp dword [ebp - 0x202c], edi
jb 0x40e2d7
mov ecx, dword [ebp - 0x2040]
push ecx
call esi
add esp, 4
xor edx, edx
mov dword [ebp - 0x202c], 7
mov dword [ebp - 0x2030], 0
mov word [ebp - 0x2040], dx
cmp dword [ebp - 0x2048], edi
jb 0x40e308
mov eax, dword [ebp - 0x205c]
push eax
call esi
add esp, 4
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret
push edi
push 0x40
lea ecx, [ebp - 0x2008]
push ecx
push 0x40135c
push 0x4025f8
push 0x402610
call ebx
test eax, eax
je 0x40e996
lea eax, [ebp - 0x2008]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40e347
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
mov esi, 0x41e578
call fcn.004088c0
push edi
push 0x40
lea edx, [ebp - 0x2008]
push edx
push 0x40135c
push 0x402620
push 0x402610
call ebx
lea eax, [ebp - 0x2008]
lea edx, [eax + 2]
jmp 0x40e390
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40e390
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
mov esi, 0x41e594
call fcn.004088c0
push edi
push 0x40
lea eax, [ebp - 0x2008]
push eax
push 0x40135c
push 0x40263c
push 0x402610
call ebx
lea eax, [ebp - 0x2008]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40e3d4
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
mov esi, 0x41e5b0
call fcn.004088c0
push edi
push 0x1000
lea ecx, [ebp - 0x2008]
push ecx
push 0x40135c
push 0x40265c
push 0x402610
call ebx
test eax, eax
je 0x40e440
lea eax, [ebp - 0x2008]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40e420
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
mov esi, 0x41e6e4
call fcn.004088c0
push edi
push 0x1000
lea edx, [ebp - 0x2008]
push edx
push 0x40135c
push 0x402670
push 0x402610
call ebx
test eax, eax
je 0x40e490
lea eax, [ebp - 0x2008]
lea edx, [eax + 2]
jmp 0x40e470
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40e470
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
mov esi, 0x41e700
call fcn.004088c0
push edi
push 0x1000
lea eax, [ebp - 0x2008]
push eax
push 0x40135c
push 0x402684
push 0x402610
call ebx
test eax, eax
je 0x40e4d2
lea ecx, [ebp - 0x2008]
push 0x4026a0
push ecx
call dword [sym.imp.MSVCR100.dll__wcsicmp]
add esp, 8
test eax, eax
sete dl
mov byte [0x41e576], dl
push edi
push 0x1000
lea eax, [ebp - 0x2008]
push eax
push 0x40135c
push 0x4026b4
push 0x402610
call ebx
test eax, eax
je 0x40e505
cmp word [ebp - 0x2008], 0x31
sete cl
mov byte [0x41e574], cl
push edi
push 0x1000
lea edx, [ebp - 0x2008]
push edx
push 0x40135c
push 0x4026cc
push 0x402610
call ebx
test eax, eax
je 0x40e550
lea eax, [ebp - 0x2008]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40e530
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
mov esi, 0x41e71c
call fcn.004088c0
push edi
push 0x1000
lea eax, [ebp - 0x2008]
push eax
push 0x40135c
push 0x4026e8
push 0x402610
call ebx
test eax, eax
je 0x40e5e4
xor ecx, ecx
lea eax, [ebp - 0x2008]
mov dword [ebp - 0x2010], 7
mov dword [ebp - 0x2014], 0
mov word [ebp - 0x2024], cx
lea edx, [eax + 2]
jmp 0x40e5a0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40e5a0
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
lea esi, [ebp - 0x2024]
call fcn.004088c0
lea edx, [ebp - 0x2040]
mov ecx, esi
mov dword [ebp - 0x2080], 2
call fcn.00411110
mov byte [ebp - 0x2079], 1
cmp eax, 1
je 0x40e5eb
mov byte [ebp - 0x2079], 0
test byte [ebp - 0x2080], 2
je 0x40e614
and dword [ebp - 0x2080], 0xfffffffd
cmp dword [ebp - 0x2010], 8
jb 0x40e614
mov edx, dword [ebp - 0x2024]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp byte [ebp - 0x2079], 0
je 0x40e72c
xor eax, eax
xor ebx, ebx
mov word [ebp - 0x2024], ax
push 0x28
mov eax, 0x402510
lea esi, [ebp - 0x2024]
mov dword [ebp - 0x2010], 7
mov dword [ebp - 0x2014], ebx
call fcn.004088c0
lea eax, [ebp - 0x2008]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40e657
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
lea ecx, [ebp - 0x2024]
call fcn.00408790
push 0x47
mov eax, 0x402568
lea ecx, [ebp - 0x2024]
call fcn.00408790
mov eax, dword [ebp - 0x2024]
mov esi, 8
cmp dword [ebp - 0x2010], esi
jae 0x40e6a3
lea eax, [ebp - 0x2024]
push 0x10
push 0x401968
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov edi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
cmp dword [ebp - 0x2010], esi
jb 0x40e6cc
mov ecx, dword [ebp - 0x2024]
push ecx
call edi
add esp, 4
xor edx, edx
mov dword [ebp - 0x2010], 7
mov dword [ebp - 0x2014], ebx
mov word [ebp - 0x2024], dx
cmp dword [ebp - 0x202c], esi
jb 0x40e6f9
mov eax, dword [ebp - 0x2040]
push eax
call edi
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x202c], 7
mov dword [ebp - 0x2030], ebx
mov word [ebp - 0x2040], cx
cmp dword [ebp - 0x2048], esi
jb 0x40e9e2
mov edx, dword [ebp - 0x205c]
push edx
call edi
jmp 0x40e9df
push edi
push 0x1000
lea eax, [ebp - 0x2008]
push eax
push 0x40135c
push 0x40270c
push 0x402610
call ebx
test eax, eax
je 0x40e792
lea eax, [ebp - 0x2008]
lea ecx, [ebp - 0x2024]
call fcn.00408290
mov eax, dword [ebp - 0x2080]
or eax, 0xc
lea ecx, [ebp - 0x2078]
mov dword [ebp - 0x2080], eax
call fcn.00411510
mov edx, eax
lea ecx, [ebp - 0x2024]
call fcn.00411110
mov byte [ebp - 0x2079], 1
cmp eax, 1
je 0x40e799
mov byte [ebp - 0x2079], 0
test byte [ebp - 0x2080], 8
je 0x40e7b4
and dword [ebp - 0x2080], 0xfffffff7
lea esi, [ebp - 0x2078]
call fcn.00412770
test byte [ebp - 0x2080], 4
je 0x40e7cf
and dword [ebp - 0x2080], 0xfffffffb
lea esi, [ebp - 0x2024]
call fcn.00412770
cmp byte [ebp - 0x2079], 0
je 0x40e881
mov eax, 0x402728
lea ecx, [ebp - 0x2024]
call fcn.00408290
lea eax, [ebp - 0x2008]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40e7f5
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2008]
lea ecx, [ebp - 0x2024]
call fcn.00408790
push 0x4b
mov eax, 0x402788
lea ecx, [ebp - 0x2024]
call fcn.00408790
cmp dword [ebp - 0x2010], 8
mov eax, dword [ebp - 0x2024]
jae 0x40e83d
lea eax, [ebp - 0x2024]
push 0x10
push 0x401968
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea esi, [ebp - 0x2024]
call fcn.00412770
lea esi, [ebp - 0x2040]
call fcn.00412770
lea esi, [ebp - 0x205c]
call fcn.00412770
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret
push edi
push 0x1000
lea ecx, [ebp - 0x2008]
push ecx
push 0x40135c
push 0x402820
push 0x402610
call ebx
test eax, eax
je 0x40e8e2
lea eax, [ebp - 0x2008]
lea ecx, [ebp - 0x2024]
call fcn.00408290
mov ebx, dword [ebp - 0x2080]
lea ecx, [ebp - 0x2078]
or ebx, 0x30
call fcn.004115f0
mov edx, eax
lea ecx, [ebp - 0x2024]
call fcn.00411110
cmp eax, 1
jne 0x40e8e8
mov byte [ebp - 0x2079], al
jmp 0x40e8ef
mov ebx, dword [ebp - 0x2080]
mov byte [ebp - 0x2079], 0
test bl, 0x20
je 0x40e902
lea esi, [ebp - 0x2078]
and ebx, 0xffffffdf
call fcn.00412770
test bl, 0x10
je 0x40e912
lea esi, [ebp - 0x2024]
call fcn.00412770
cmp byte [ebp - 0x2079], 0
je 0x40e96d
mov eax, 0x402840
lea ecx, [ebp - 0x2024]
call fcn.00408290
lea edx, [ebp - 0x2024]
push edx
lea eax, [ebp - 0x2008]
call fcn.00408300
lea eax, [ebp - 0x2024]
push eax
mov eax, 0x402880
call fcn.00408300
cmp dword [ebp - 0x2010], 8
mov eax, dword [ebp - 0x2024]
jae 0x40e963
lea eax, [ebp - 0x2024]
push 0x40010
jmp 0x40e83f
lea esi, [ebp - 0x2040]
call fcn.00412770
lea esi, [ebp - 0x205c]
call fcn.00412770
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret
mov ebx, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
mov edi, 8
cmp dword [ebp - 0x202c], edi
jb 0x40e9b5
mov ecx, dword [ebp - 0x2040]
push ecx
call ebx
add esp, 4
xor edx, edx
mov dword [ebp - 0x202c], esi
mov dword [ebp - 0x2030], 0
mov word [ebp - 0x2040], dx
cmp dword [ebp - 0x2048], edi
jb 0x40e9e2
mov eax, dword [ebp - 0x205c]
push eax
call ebx
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor al, al
pop ebx
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret