Function at 0x10041921
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0
push ebx
push esi
push edi
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x1004195d
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x94], eax
push 0x2293
push 1
push dword [ebp - 0x94]
push 0x3219
call fcn.1004213e
add esp, 0x10
jmp 0x10042137
lea eax, [ebp + 0x10]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x48]
movzx eax, byte [eax]
test eax, eax
je 0x1004208b
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x60], 0x1d71
cmp dword [ebp - 0x60], 0x63e
jge 0x1004207b
push 0x10cdc2c0
mov ecx, 0x1065cfb8
call fcn.10011ec8
cmp dword [0x10cdc2c0], 1
jne 0x100419d6
push fcn.10016a49
push 1
mov ecx, 0x1065cf10
call fcn.100124b5
mov ecx, eax
call fcn.100124a9
and dword [ebp - 4], 0
jmp 0x100419e3
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp eax, dword [0x10cdc2c0]
jge 0x10041b6c
and dword [ebp - 8], 0
jmp 0x100419ff
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, dword [0x10cdc2c0]
jge 0x10041b67
imul eax, dword [ebp - 4], 0x268
mov ecx, dword [ebp - 8]
lea eax, [eax + ecx*8 + 0x10cdc2d8]
push eax
mov ecx, 0x1065cfb8
call fcn.1002866a
imul eax, dword [ebp - 4], 0x268
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x44]
mov eax, dword [ecx + eax*8 + 0x10cdc2d8]
or eax, dword [esi + edx*8 + 0x10cdc2dc]
jne 0x10041a74
mov eax, dword [ebp - 4]
cdq
mov dword [0x10cfabd8], eax
mov dword [0x10cfabdc], edx
mov eax, dword [ebp - 8]
cdq
mov dword [0x10cfa968], eax
mov dword [0x10cfa96c], edx
imul eax, dword [ebp - 4], 0x268
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov esi, dword [ecx*8 + 0x10cfa970]
add esi, dword [eax + edx*8 + 0x10cdc2d8]
mov ecx, dword [ecx*8 + 0x10cfa974]
adc ecx, dword [eax + edx*8 + 0x10cdc2dc]
mov eax, dword [ebp - 4]
mov dword [eax*8 + 0x10cfa970], esi
mov dword [eax*8 + 0x10cfa974], ecx
imul eax, dword [ebp - 4], 0x268
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov esi, dword [ecx*8 + 0x10cdbf08]
add esi, dword [eax + edx*8 + 0x10cdc2d8]
mov ecx, dword [ecx*8 + 0x10cdbf0c]
adc ecx, dword [eax + edx*8 + 0x10cdc2dc]
mov eax, dword [ebp - 8]
mov dword [eax*8 + 0x10cdbf08], esi
mov dword [eax*8 + 0x10cdbf0c], ecx
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jne 0x10041b20
imul eax, dword [ebp - 4], 0x268
mov ecx, dword [ebp - 8]
mov edx, dword [0x10cfa5e0]
add edx, dword [eax + ecx*8 + 0x10cdc2d8]
mov esi, dword [0x10cfa5e4]
adc esi, dword [eax + ecx*8 + 0x10cdc2dc]
mov dword [0x10cfa5e0], edx
mov dword [0x10cfa5e4], esi
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
lea eax, [ecx + eax + 1]
cmp eax, dword [0x10cdc2c0]
jne 0x10041b62
imul eax, dword [ebp - 4], 0x268
mov ecx, dword [ebp - 8]
mov edx, dword [0x10d0d728]
add edx, dword [eax + ecx*8 + 0x10cdc2d8]
mov esi, dword [0x10d0d72c]
adc esi, dword [eax + ecx*8 + 0x10cdc2dc]
mov dword [0x10d0d728], edx
mov dword [0x10d0d72c], esi
jmp 0x100419f8
jmp 0x100419dc
xorpd xmm0, xmm0
movlpd qword [ebp - 0x10], xmm0
and dword [ebp - 0x20], 0
jmp 0x10041b82
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, dword [0x10cdc2c0]
jge 0x10041bc6
mov eax, dword [ebp - 0x20]
cdq
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov eax, dword [0x10cfabd8]
cmp eax, dword [ebp - 0x7c]
jne 0x10041bab
mov eax, dword [0x10cfabdc]
cmp eax, dword [ebp - 0x78]
je 0x10041bc4
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax*8 + 0x10cfa970]
mov dword [ebp - 0x10], ecx
mov eax, dword [eax*8 + 0x10cfa974]
mov dword [ebp - 0xc], eax
jmp 0x10041bc6
jmp 0x10041b7b
mov eax, dword [0x10cfabd8]
cmp eax, dword [0x10cfa968]
jne 0x10041be0
mov eax, dword [0x10cfabdc]
cmp eax, dword [0x10cfa96c]
je 0x10041c0c
mov eax, dword [0x10cfa5e0]
cmp eax, dword [ebp - 0x10]
jne 0x10041bf4
mov eax, dword [0x10cfa5e4]
cmp eax, dword [ebp - 0xc]
je 0x10041c0c
push fcn.10016a49
push 0xffffffffffffffff
mov ecx, 0x1065cf10
call fcn.100124b5
mov ecx, eax
call fcn.100124a9
mov ecx, dword [0x10cfabd8]
add ecx, dword [0x10cfa968]
mov esi, dword [0x10cfabdc]
adc esi, dword [0x10cfa96c]
add ecx, 1
adc esi, 0
mov eax, dword [0x10cdc2c0]
cdq
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xac], esi
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebp - 0x50]
jne 0x10041c58
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x4c]
je 0x10041c84
mov eax, dword [0x10d0d728]
cmp eax, dword [ebp - 0x10]
jne 0x10041c6c
mov eax, dword [0x10d0d72c]
cmp eax, dword [ebp - 0xc]
je 0x10041c84
push fcn.10016a49
push 0xffffffffffffffff
mov ecx, 0x1065cf10
call fcn.100124b5
mov ecx, eax
call fcn.100124a9
and dword [ebp - 0x14], 0
jmp 0x10041c91
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [0x10cdc2c0]
jge 0x10041d5d
mov eax, dword [ebp - 0x14]
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x5c]
cmp eax, dword [0x10cfabd8]
jne 0x10041cc0
mov eax, dword [ebp - 0x58]
cmp eax, dword [0x10cfabdc]
je 0x10041cfc
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax*8 + 0x10cfa970]
cmp eax, dword [ebp - 0x10]
jne 0x10041ce4
mov eax, dword [ebp - 0x40]
mov eax, dword [eax*8 + 0x10cfa974]
cmp eax, dword [ebp - 0xc]
je 0x10041cfc
push fcn.10016a49
push 0xffffffffffffffff
mov ecx, 0x1065cf10
call fcn.100124b5
mov ecx, eax
call fcn.100124a9
mov eax, dword [ebp - 0x14]
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x68]
cmp eax, dword [0x10cfa968]
jne 0x10041d1c
mov eax, dword [ebp - 0x64]
cmp eax, dword [0x10cfa96c]
je 0x10041d58
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax*8 + 0x10cdbf08]
cmp eax, dword [ebp - 0x10]
jne 0x10041d40
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax*8 + 0x10cdbf0c]
cmp eax, dword [ebp - 0xc]
je 0x10041d58
push fcn.10016a49
push 0xffffffffffffffff
mov ecx, 0x1065cf10
call fcn.100124b5
mov ecx, eax
call fcn.100124a9
jmp 0x10041c8a
push 0
push 8
push dword [0x10cfabdc]
push dword [0x10cfabd8]
call fcn.10056300
mov esi, dword [ebp - 0x10]
sub esi, dword [eax + 0x10cfa970]
mov edi, dword [ebp - 0xc]
sbb edi, dword [eax + 0x10cfa974]
push 0
push 0x268
push dword [0x10cfabdc]
push dword [0x10cfabd8]
call fcn.10056300
mov ebx, eax
push 0
push 8
push dword [0x10cfa96c]
push dword [0x10cfa968]
call fcn.10056300
mov dword [ebx + eax + 0x10cdc2d8], esi
mov dword [ebx + eax + 0x10cdc2dc], edi
push 0
push 0x268
push dword [0x10cfabdc]
push dword [0x10cfabd8]
call fcn.10056300
mov esi, eax
push 0
push 8
push dword [0x10cfa96c]
push dword [0x10cfa968]
call fcn.10056300
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
cmp dword [ecx + eax + 0x10cdc2dc], 0
jl 0x10041e92
jg 0x10041e1c
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
cmp dword [ecx + eax + 0x10cdc2d8], 0
jbe 0x10041e92
push 0
push 8
push dword [0x10cfa96c]
push dword [0x10cfa968]
call fcn.10056300
mov esi, eax
push 0
push 0x268
push dword [0x10cfabdc]
push dword [0x10cfabd8]
call fcn.10056300
mov edi, eax
push 0
push 8
push dword [0x10cfa96c]
push dword [0x10cfa968]
call fcn.10056300
mov ecx, dword [esi + 0x10cdbf08]
add ecx, dword [edi + eax + 0x10cdc2d8]
mov edx, dword [esi + 0x10cdbf0c]
adc edx, dword [edi + eax + 0x10cdc2dc]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x10]
jne 0x10041e92
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0xc]
je 0x10041eaa
push fcn.10016a49
push 0xffffffffffffffff
mov ecx, 0x1065cf10
call fcn.100124b5
mov ecx, eax
call fcn.100124a9
mov eax, dword [0x10cfabd8]
cmp eax, dword [0x10cfa968]
jne 0x10041f45
mov eax, dword [0x10cfabdc]
cmp eax, dword [0x10cfa96c]
jne 0x10041f45
push 0
push 0x268
push dword [0x10cfabdc]
push dword [0x10cfabd8]
call fcn.10056300
mov esi, eax
push 0
push 8
push dword [0x10cfa96c]
push dword [0x10cfa968]
call fcn.10056300
mov ecx, dword [0x10cfa5e0]
add ecx, dword [esi + eax + 0x10cdc2d8]
mov edx, dword [0x10cfa5e4]
adc edx, dword [esi + eax + 0x10cdc2dc]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x10]
jne 0x10041f2d
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0xc]
je 0x10041f45
push fcn.10016a49
push 0xffffffffffffffff
mov ecx, 0x1065cf10
call fcn.100124b5
mov ecx, eax
call fcn.100124a9
mov ecx, dword [0x10cfabd8]
add ecx, dword [0x10cfa968]
mov esi, dword [0x10cfabdc]
adc esi, dword [0x10cfa96c]
add ecx, 1
adc esi, 0
mov eax, dword [0x10cdc2c0]
cdq
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp - 0x9c]
jne 0x10042028
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x98]
jne 0x10042028
push 0
push 0x268
push dword [0x10cfabdc]
push dword [0x10cfabd8]
call fcn.10056300
mov esi, eax
push 0
push 8
push dword [0x10cfa96c]
push dword [0x10cfa968]
call fcn.10056300
mov ecx, dword [0x10d0d728]
add ecx, dword [esi + eax + 0x10cdc2d8]
mov edx, dword [0x10d0d72c]
adc edx, dword [esi + eax + 0x10cdc2dc]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x10]
jne 0x10042010
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0xc]
je 0x10042028
push fcn.10016a49
push 0xffffffffffffffff
mov ecx, 0x1065cf10
call fcn.100124b5
mov ecx, eax
call fcn.100124a9
push fcn.10016a49
push 0
push 0x268
push dword [0x10cfabdc]
push dword [0x10cfabd8]
call fcn.10056300
mov esi, eax
push 0
push 8
push dword [0x10cfa96c]
push dword [0x10cfa968]
call fcn.10056300
push dword [esi + eax + 0x10cdc2dc]
push dword [esi + eax + 0x10cdc2d8]
mov ecx, 0x1065cf10
call fcn.100125c7
mov ecx, eax
call fcn.100124a9
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
jmp 0x10042137
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [eax], 0
jmp 0x100420b0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [ebp - 0x28]
cmp dword [eax], 0xfffffffe
je 0x10042137
mov dword [ebp - 0x1c], 0xcfe04822
mov dword [ebp - 0x24], 0
jmp 0x100420cf
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 4
jge 0x100420e5
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xc0], 0xfffffff8
jmp 0x100420c8
mov dword [ebp - 0x1c], 3
jmp 0x100420f5
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jl 0x10042132
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xc0]
mov dword [ebp + ecx*4 - 0xc0], eax
mov byte [ebp - 0x15], 0
movzx eax, byte [ebp - 0x15]
test eax, eax
je 0x10042130
push 0
push 0x71f
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
jmp 0x100420ee
jmp 0x100420a5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret