Function at 0x100231a0
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x1013681c
mov eax, dword fs:[0]
push eax
mov eax, 0x217c
call fcn.10126240
mov eax, dword [0x1017455c]
xor eax, esp
mov dword [esp + 0x2178], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1017455c]
xor eax, esp
push eax
lea eax, [esp + 0x2190]
mov dword fs:[0], eax
mov eax, dword [0x1018cc30]
mov esi, ecx
xor ebx, ebx
push 0x103
lea ecx, [esp + 0x259]
mov edi, edx
push ebx
push ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], eax
mov byte [esp + 0x260], bl
call fcn.10116880
add esp, 0xc
push 0x103
lea edx, [esp + 0x571]
push ebx
push edx
mov byte [esp + 0x578], bl
call fcn.10116880
add esp, 0xc
push str.KERNEL32.DLL
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
cmp eax, ebx
je 0x10023257
push 0x10156808
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x10023257
call eax
mov dword [esp + 0x14], eax
jmp 0x1002325b
mov dword [esp + 0x14], ebx
xor ebp, ebp
mov dword [esp + 0x1c], ebp
cmp byte [0x1019c818], bl
jne 0x1002328a
push 0x104
push 0x1019c818
push str.English
mov edx, str.Language
mov ecx, str.eScan
call fcn.100436c0
add esp, 0xc
cmp esi, ebx
je 0x10023290
mov byte [esi], bl
cmp edi, ebx
je 0x100232ae
cmp byte [edi], bl
je 0x100232ae
push edi
lea eax, [esp + 0x258]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, 1
jmp 0x100232e5
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x570]
push edx
lea edi, [esp + 0x25c]
call fcn.10022ee0
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x10023977
cmp byte [esp + 0x254], bl
je 0x10023977
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
cmp edi, ebx
je 0x100232fc
push esi
push str._CVA__ReadVulAvsFileResult:_u
push ebx
call fcn.10053700
add esp, 0xc
cmp esi, 2
jne 0x10023369
call fcn.10027a70
cmp edi, ebx
je 0x10023318
push str._CVA__Putting_into_map...
push ebx
call fcn.10053700
add esp, 8
xor esi, esi
mov dword [esp + 0x28], ebx
call fcn.1004f190
lea edi, [ebp + 0x80]
push edi
mov dword [esp + 0x34], eax
call fcn.1004e860
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
jne 0x10023376
cmp dword [esp + 0x14], ebx
je 0x10023352
push ebp
push str.Unable_to_allocate_memory_of__u_bytes__n
call fcn.1010e391
add esp, 8
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x100239b0
push ebp
push str.Unable_to_allocate_memory_of__u_bytes_
jmp 0x100239a7
cmp esi, 4
jne 0x10023306
lea eax, [esi - 2]
jmp 0x100239cd
lea ecx, [esp + 0x254]
push ecx
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
mov ecx, eax
mov dword [esp + 0x2c], ecx
cmp ecx, ebx
je 0x10023914
add edi, 0xfffffffe
cmp ecx, edi
je 0x10023914
xor edx, edx
mov dword [esp + 0x18], edx
cmp ecx, ebx
jbe 0x100238e2
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, dword [esp + 0x1c]
mov al, byte [edx + edi]
cmp al, bl
jne 0x100238c6
mov byte [esp + esi + 0x35c], bl
mov dword [esp + 0x14], ebx
cmp byte [edx + edi + 1], bl
jne 0x100233db
mov dword [esp + 0x28], 1
mov edi, dword [esp + 0x24]
cmp edi, ebx
je 0x100233f9
lea edx, [esp + 0x35c]
push edx
push str._CVA__Sec__:___s_
push ebx
call fcn.10053700
add esp, 0xc
cmp esi, 4
jle 0x1002341d
lea ecx, [esp + esi + 0x358]
mov eax, str._x64
call fcn.10031940
test eax, eax
jne 0x1002341d
cmp dword [esp + 0x30], ebx
je 0x100238b1
push 0x103
lea eax, [esp + 0x469]
push ebx
push eax
mov byte [esp + 0x470], bl
call fcn.10116880
add esp, 0xc
push 0x7ff
lea ecx, [esp + 0x991]
push ebx
push ecx
mov byte [esp + 0x998], bl
call fcn.10116880
add esp, 0xc
push 0x7ff
lea edx, [esp + 0x1191]
push ebx
push edx
mov byte [esp + 0x1198], bl
call fcn.10116880
add esp, 0xc
push 0x7ff
lea eax, [esp + 0x1991]
push ebx
push eax
mov byte [esp + 0x1998], bl
call fcn.10116880
add esp, 0xc
push 0x103
lea ecx, [esp + 0x889]
push ebx
push ecx
mov byte [esp + 0x890], bl
call fcn.10116880
add esp, 0xc
cmp byte [0x1019c818], bl
je 0x1002351b
push str.English
push 0x1019c818
call fcn.1011c280
add esp, 8
test eax, eax
je 0x1002351b
push 0x1019c818
lea edx, [esp + 0x678]
push str._s_Ver
push edx
call fcn.1010d6a8
add esp, 0xc
lea eax, [esp + 0x254]
push eax
push 0x104
lea ecx, [esp + 0x46c]
push ecx
push 0x1013f817
lea edx, [esp + 0x684]
push edx
lea eax, [esp + 0x370]
push eax
call ebp
cmp byte [esp + 0x464], bl
jne 0x10023576
lea ecx, [esp + 0x254]
push ecx
push 0x104
lea edx, [esp + 0x46c]
push edx
push 0x1013f817
push str.PVer
lea eax, [esp + 0x370]
push eax
call ebp
cmp byte [esp + 0x464], bl
jne 0x10023576
lea ecx, [esp + 0x254]
push ecx
push 0x104
lea edx, [esp + 0x46c]
push edx
push 0x1013f817
push 0x1014d4d4
lea eax, [esp + 0x370]
push eax
call ebp
cmp byte [0x1019c818], bl
je 0x1002361d
push str.English
push 0x1019c818
call fcn.1011c280
add esp, 8
test eax, eax
je 0x1002361d
push 0x1019c818
lea ecx, [esp + 0x678]
push str._s_DownloadLink
push ecx
call fcn.1010d6a8
add esp, 0xc
lea edx, [esp + 0x254]
push edx
push 0x800
lea eax, [esp + 0x994]
push eax
push 0x1013f817
lea ecx, [esp + 0x684]
push ecx
lea edx, [esp + 0x370]
push edx
call ebp
cmp byte [esp + 0x98c], bl
jne 0x10023646
lea eax, [esp + 0x254]
push eax
push 0x800
lea ecx, [esp + 0x994]
push ecx
push 0x1013f817
push 0x1019c818
lea edx, [esp + 0x370]
push edx
call ebp
cmp byte [esp + 0x98c], bl
jne 0x10023646
lea eax, [esp + 0x254]
push eax
push 0x800
lea ecx, [esp + 0x994]
push ecx
push 0x1013f817
push str.DownloadLink
lea edx, [esp + 0x370]
push edx
call ebp
lea eax, [esp + 0x254]
push eax
push 0x800
lea ecx, [esp + 0x1194]
push ecx
push 0x1013f817
push 0x1014d500
lea edx, [esp + 0x370]
push edx
call ebp
lea eax, [esp + 0x254]
push eax
push 0x800
lea ecx, [esp + 0x1994]
push ecx
push 0x1013f817
push 0x1014d504
lea edx, [esp + 0x370]
push edx
call ebp
lea eax, [esp + 0x254]
push eax
push 0x104
lea ecx, [esp + 0x88c]
push ecx
push 0x1013f817
push str.CmdParam
lea edx, [esp + 0x370]
push edx
call ebp
lea eax, [esp + 0x35c]
push eax
call dword [sym.imp.USER32.dll_CharLowerA]
cmp edi, ebx
je 0x100236f9
lea ecx, [esp + 0x98c]
push ecx
lea edx, [esp + 0x468]
push edx
lea eax, [esp + 0x364]
push eax
push str._CVA___s__:_VDatVer:__s___Dwn:__s_
push ebx
call fcn.10053700
add esp, 0x14
cmp byte [esp + 0x464], bl
je 0x100238b1
cmp byte [esp + 0x98c], bl
jne 0x10023725
cmp byte [esp + 0x118c], bl
jne 0x10023725
cmp byte [esp + 0x198c], bl
je 0x100238b1
lea eax, [esp + 0x1bc]
call fcn.10023a00
push 0x103
lea ecx, [esp + 0x781]
push ebx
mov dword [esp + 0x21a0], ebx
push ecx
mov byte [esp + 0x788], bl
call fcn.10116880
add esp, 0xc
lea edx, [esp + 0x98c]
push edx
lea ecx, [esp + 0x1c0]
call fcn.10008e90
lea eax, [esp + 0x118c]
push eax
lea ecx, [esp + 0x1dc]
call fcn.10008e90
lea ecx, [esp + 0x198c]
push ecx
lea ecx, [esp + 0x1f8]
call fcn.10008e90
lea edx, [esp + 0x884]
push edx
lea ecx, [esp + 0x214]
call fcn.10008e90
lea eax, [esp + 0x24c]
push eax
lea edi, [esp + 0x24c]
lea esi, [esp + 0x468]
call fcn.1006adf0
mov eax, dword [esp + 0x250]
lea ecx, [esp + 0x780]
add esp, 4
push ecx
mov ecx, dword [esp + 0x24c]
call fcn.1006adc0
add esp, 4
lea edx, [esp + 0x77c]
push edx
lea ecx, [esp + 0x230]
call fcn.10008e90
lea eax, [esp + 0x35c]
push eax
lea ecx, [esp + 0x38]
call fcn.10008e20
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x60]
push edx
lea edi, [esp + 0x1c4]
mov byte [esp + 0x21a0], 1
call fcn.10027b30
lea ecx, [esp + 0x10c]
push ecx
mov ecx, eax
mov byte [esp + 0x219c], 2
call fcn.10028840
lea edx, [esp + 0x10c]
push edx
lea ebx, [esp + 0x54]
mov byte [esp + 0x219c], 3
call fcn.10027920
lea edi, [esp + 0x10c]
call fcn.10023ae0
lea esi, [esp + 0x78]
call fcn.10023a40
cmp dword [esp + 0x74], 0x10
jb 0x1002387d
mov eax, dword [esp + 0x60]
push eax
call fcn.1010e8a3
add esp, 4
xor eax, eax
lea ecx, [esp + 0x34]
mov dword [esp + 0x74], 0xf
mov dword [esp + 0x70], eax
mov byte [esp + 0x60], al
call fcn.10008e60
lea esi, [esp + 0x1bc]
mov dword [esp + 0x2198], 0xffffffff
call fcn.10023a40
xor ebx, ebx
cmp dword [esp + 0x28], 1
je 0x100238e2
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
jmp 0x100238d5
mov byte [esp + esi + 0x35c], al
mov byte [esp + esi + 0x35d], bl
inc esi
inc edx
mov dword [esp + 0x18], edx
cmp edx, ecx
jb 0x100233b3
cmp dword [esp + 0x20], ebx
jne 0x100238fd
cmp byte [esp + 0x254], bl
je 0x100238fd
lea eax, [esp + 0x254]
call fcn.10033960
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.1010dc10
add esp, 4
mov eax, 1
jmp 0x100239cd
cmp dword [esp + 0x14], ebx
je 0x1002392f
lea edx, [esp + 0x254]
push edx
push str.Unable_to_read_section_names_from__s__n
call fcn.1010e391
add esp, 8
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x1002394d
lea ecx, [esp + 0x254]
push ecx
push str.Unable_to_read_section_names_from__s_
push eax
call fcn.1010d6a8
add esp, 0xc
cmp dword [esp + 0x20], ebx
jne 0x10023968
cmp byte [esp + 0x254], bl
je 0x10023968
lea eax, [esp + 0x254]
call fcn.10033960
mov edx, dword [esp + 0x1c]
push edx
call fcn.1010dc10
add esp, 4
jmp 0x100239cb
cmp dword [esp + 0x14], ebx
je 0x10023992
lea eax, [esp + 0x56c]
push eax
push str.Error_reading_VUL.AVS___s___n
call fcn.1010e391
add esp, 8
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x100239b0
lea ecx, [esp + 0x56c]
push ecx
push str.Error_reading_VUL.AVS___s__
push eax
call fcn.1010d6a8
add esp, 0xc
cmp dword [esp + 0x20], ebx
jne 0x100239cb
cmp byte [esp + 0x254], bl
je 0x100239cb
lea eax, [esp + 0x254]
call fcn.10033960
xor eax, eax
mov ecx, dword [esp + 0x2190]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2178]
xor ecx, esp
call fcn.1010d699
add esp, 0x2188
ret