Function at 0x100245e0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x101367bd
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x21bc
call fcn.10126240
mov eax, dword [0x1017455c]
xor eax, esp
mov dword [esp + 0x21b8], eax
push ebx
push esi
push edi
mov eax, dword [0x1017455c]
xor eax, esp
push eax
lea eax, [esp + 0x21d0]
mov dword fs:[0], eax
xor ebx, ebx
push 0x103
lea eax, [esp + 0x10c1]
mov edi, ecx
push ebx
push eax
mov dword [esp + 0x48], edi
mov esi, edx
mov byte [esp + 0x10c8], bl
call fcn.10116880
add esp, 0xc
push 0x103
lea ecx, [esp + 0xda9]
push ebx
push ecx
mov byte [esp + 0xdb0], bl
call fcn.10116880
add esp, 0xc
lea ecx, [esp + 0x184]
call fcn.10062b90
lea ecx, [esp + 0xec]
mov dword [esp + 0x21d8], ebx
call fcn.10062b90
lea ecx, [esp + 0x21c]
mov byte [esp + 0x21d8], 1
call fcn.10062b90
lea ecx, [esp + 0x54]
mov byte [esp + 0x21d8], 2
call fcn.10062b90
mov byte [esp + 0x21d8], 3
lea ecx, [esp + 0x3e4]
mov dword [esp + 0x34], ebx
call fcn.10062b90
mov byte [esp + 0x21d8], 4
lea ecx, [esp + 0x34c]
mov dword [esp + 0x2c], ebx
call fcn.10062b90
mov byte [esp + 0x21d8], 5
lea ecx, [esp + 0x2b4]
mov dword [esp + 0x40], ebx
call fcn.10062b90
push 0x103
lea edx, [esp + 0x481]
mov byte [esp + 0x21dc], 6
push ebx
push edx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x50], ebx
mov byte [esp + 0x488], bl
call fcn.10116880
add esp, 0xc
push 0x103
lea eax, [esp + 0xeb1]
push ebx
push eax
mov byte [esp + 0xeb8], bl
call fcn.10116880
add esp, 0xc
push 0x103
lea ecx, [esp + 0x8a1]
push ebx
push ecx
mov dword [esp + 0x28], ebx
mov byte [esp + 0x8a8], bl
call fcn.10116880
add esp, 0xc
push str.KERNEL32.DLL
mov dword [esp + 0x24], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
cmp eax, ebx
je 0x1002478f
push 0x10156808
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x1002478f
call eax
mov dword [esp + 0x18], eax
jmp 0x10024793
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x20], ebx
jne 0x100247b2
lea edx, [esp + 0x20]
push edx
push str.VulDebug
mov ecx, str.SoftwareMicroWorld
mov edx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.10031670
push 0x104
lea eax, [esp + 0x8a0]
push eax
push 0x1013f817
mov edx, str.Language
mov ecx, str.eScan
call fcn.100436c0
add esp, 0xc
cmp esi, ebx
je 0x100247dc
mov byte [esi], bl
cmp edi, ebx
je 0x100247e2
mov byte [edi], bl
mov edi, dword [esp + 0x3c]
lea ecx, [esp + 0xeac]
push ecx
lea edx, [esp + 0x480]
push edx
call fcn.10022c30
add esp, 8
test eax, eax
jne 0x10024840
cmp dword [esp + 0x18], ebx
je 0x1002481d
lea eax, [esp + 0xeac]
push eax
push str.Error_reading_VUL.AVS:__s_n
call fcn.1010e391
add esp, 8
cmp esi, ebx
je 0x10025573
lea ecx, [esp + 0xeac]
push ecx
push str.Error_reading_VUL.AVS:__s
push esi
call fcn.1010d6a8
add esp, 0xc
jmp 0x10025573
push 1
push ebx
lea edx, [esp + 0x24]
lea ecx, [esp + 0x484]
call fcn.10044660
add esp, 8
test eax, eax
je 0x10024898
cmp dword [esp + 0x18], ebx
je 0x10024875
lea edx, [esp + 0x47c]
push edx
push str.Unable_to_locate_VULDAT_file:__s_n
call fcn.1010e391
add esp, 8
cmp esi, ebx
je 0x10025573
lea eax, [esp + 0x47c]
push eax
push str.Unable_to_locate_VULDAT_file:__s
push esi
call fcn.1010d6a8
add esp, 0xc
jmp 0x10025573
cmp dword [esp + 0x1c], ebx
jne 0x100248e4
cmp dword [esp + 0x18], ebx
je 0x100248b9
lea ecx, [esp + 0x47c]
push ecx
push str.Possibly_Corrupt_VULDAT_file:__s_n
call fcn.1010e391
add esp, 8
cmp esi, ebx
je 0x100248d3
lea edx, [esp + 0x47c]
push edx
push str.Possibly_Corrupt_VULDAT_file:__s
push esi
call fcn.1010d6a8
add esp, 0xc
lea eax, [esp + 0x47c]
call fcn.10033960
jmp 0x10025573
mov dword [esp + 0x30], ebx
call fcn.1004f190
mov edi, dword [esp + 0x1c]
sub edi, 0xffffff80
push edi
mov dword [esp + 0x54], eax
call fcn.1004e860
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, ebx
jne 0x10024941
cmp dword [esp + 0x18], ebx
je 0x10024921
mov eax, dword [esp + 0x1c]
push eax
push str.Unable_to_allocate_memory_of__u_bytes__n
call fcn.1010e391
add esp, 8
cmp esi, ebx
je 0x10025573
mov ecx, dword [esp + 0x1c]
push ecx
push str.Unable_to_allocate_memory_of__u_bytes_
push esi
call fcn.1010d6a8
add esp, 0xc
jmp 0x10025573
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x47c]
push edx
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
mov dword [esp + 0x24], eax
cmp eax, ebx
je 0x10025525
add edi, 0xfffffffe
cmp eax, edi
je 0x10025525
call fcn.1004f190
test eax, eax
je 0x10024986
lea ecx, [esp + 0x4c]
push ecx
call fcn.1004f240
add esp, 4
mov dword [esp + 0x48], eax
xor edx, edx
mov dword [esp + 0x28], edx
cmp dword [esp + 0x24], ebx
jbe 0x10024e12
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, dword [esp + 0x38]
mov ecx, edx
mov al, byte [edx + edi]
cmp al, bl
jne 0x10024df4
mov byte [esp + ecx + 0x584], bl
mov eax, ecx
mov dword [esp + 0x14], ebx
cmp byte [edx + edi + 1], bl
jne 0x100249c8
mov dword [esp + 0x30], 1
cmp eax, 4
jle 0x100249ec
lea ecx, [esp + eax + 0x580]
mov eax, str._x64
call fcn.10031940
test eax, eax
jne 0x100249ec
cmp dword [esp + 0x50], ebx
je 0x10024dd9
push 0x103
lea edx, [esp + 0x691]
push ebx
push edx
mov byte [esp + 0x698], bl
call fcn.10116880
add esp, 0xc
push 0x7ff
lea eax, [esp + 0x11c9]
push ebx
push eax
mov byte [esp + 0x11d0], bl
call fcn.10116880
add esp, 0xc
push 0x103
lea ecx, [esp + 0x799]
push ebx
push ecx
mov byte [esp + 0x7a0], bl
call fcn.10116880
add esp, 0xc
cmp byte [esp + 0x89c], bl
je 0x10024ab7
lea edx, [esp + 0x89c]
push str.English
push edx
call fcn.1011c280
add esp, 8
test eax, eax
je 0x10024ab7
lea eax, [esp + 0x89c]
push eax
lea ecx, [esp + 0xfb8]
push str._s_Ver
push ecx
call fcn.1010d6a8
add esp, 0xc
lea edx, [esp + 0x47c]
push edx
push 0x104
lea eax, [esp + 0x694]
push eax
push 0x1013f817
lea ecx, [esp + 0xfc4]
push ecx
lea edx, [esp + 0x598]
push edx
call esi
cmp byte [esp + 0x68c], bl
jne 0x10024ae0
lea eax, [esp + 0x47c]
push eax
push 0x104
lea ecx, [esp + 0x694]
push ecx
push 0x1013f817
push 0x1014d4d4
lea edx, [esp + 0x598]
push edx
call esi
cmp byte [esp + 0x89c], bl
je 0x10024b91
lea eax, [esp + 0x89c]
push str.English
push eax
call fcn.1011c280
add esp, 8
test eax, eax
je 0x10024b91
lea ecx, [esp + 0x89c]
push ecx
lea edx, [esp + 0xfb8]
push str._s_DownloadLink
push edx
call fcn.1010d6a8
add esp, 0xc
lea eax, [esp + 0x47c]
push eax
push 0x800
lea ecx, [esp + 0x11cc]
push ecx
push 0x1013f817
lea edx, [esp + 0xfc4]
push edx
lea eax, [esp + 0x598]
push eax
call esi
cmp byte [esp + 0x11c4], bl
jne 0x10024bba
lea ecx, [esp + 0x47c]
push ecx
push 0x800
lea edx, [esp + 0x11cc]
push edx
push 0x1013f817
lea eax, [esp + 0x8ac]
push eax
lea ecx, [esp + 0x598]
push ecx
call esi
cmp byte [esp + 0x11c4], bl
jne 0x10024bba
lea edx, [esp + 0x47c]
push edx
push 0x800
lea eax, [esp + 0x11cc]
push eax
push 0x1013f817
push str.DownloadLink
lea ecx, [esp + 0x598]
push ecx
call esi
lea edx, [esp + 0x47c]
push edx
push 0x104
lea eax, [esp + 0x79c]
push eax
push 0x1013f817
push 0x1014d77c
lea ecx, [esp + 0x598]
push ecx
call esi
cmp byte [esp + 0x68c], bl
je 0x10024dd9
cmp byte [esp + 0x11c4], bl
je 0x10024dd9
cmp byte [esp + 0x794], bl
je 0x10024dd9
lea eax, [esp + 0x68c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10024c14
sub eax, edx
mov esi, eax
lea eax, [esp + 0x11c4]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10024c30
sub eax, edx
mov edx, eax
lea eax, [esp + 0x584]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10024c45
sub eax, edi
add eax, edx
lea edx, [eax + esi + 0xa]
push edx
call fcn.1010dced
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x10024dd9
lea eax, [esp + 0x584]
push eax
lea ecx, [esp + 0x11c8]
push ecx
lea edx, [esp + 0x694]
push edx
push 0x1014d780
push edi
xor esi, esi
call fcn.1010d6a8
add esp, 0x14
lea eax, [esp + 0x794]
push 0x2a
push eax
call fcn.1010d780
add esp, 8
test eax, eax
jne 0x10024cbb
lea ecx, [esp + 0x794]
push 0x3f
push ecx
call fcn.1010d780
add esp, 8
test eax, eax
je 0x10024cc0
mov esi, 1
lea edx, [esp + 0x794]
push 0x5c
push edx
call fcn.1010d780
add esp, 8
test eax, eax
je 0x10024d81
lea eax, [esp + 0x794]
push 0x5c
push eax
call fcn.1010e930
add esp, 8
cmp eax, ebx
jne 0x10024cf9
lea eax, [esp + 0x794]
jmp 0x10024cfa
inc eax
push 1
push edi
mov ecx, eax
lea edx, [esp + 0x5c]
call fcn.10062ec0
test eax, eax
jne 0x10024d15
push edi
call fcn.1010dc10
add esp, 4
push 1
push ebx
lea ecx, [esp + 0x79c]
lea edx, [esp + 0x3ec]
call fcn.10062ec0
test eax, eax
je 0x10024d44
push ebx
push 0x2c
lea ecx, [esp + 0x79c]
push ecx
lea edx, [esp + 0x40]
push edx
call sym.EncDec.dll_AddToCommaList_Malloc
push 1
push ebx
lea ecx, [esp + 0x58c]
lea edx, [esp + 0x2bc]
call fcn.10062ec0
test eax, eax
je 0x10024d73
push ebx
push 0x2c
lea eax, [esp + 0x58c]
push eax
lea ecx, [esp + 0x4c]
push ecx
call sym.EncDec.dll_AddToCommaList_Malloc
cmp esi, ebx
je 0x10024dd9
mov dword [esp + 0x44], 1
jmp 0x10024dd9
cmp esi, ebx
jne 0x10024dd0
push 1
push edi
lea ecx, [esp + 0x79c]
lea edx, [esp + 0x224]
call fcn.10062ec0
test eax, eax
je 0x10024dd0
push 1
push ebx
lea ecx, [esp + 0x58c]
lea edx, [esp + 0x2bc]
call fcn.10062ec0
test eax, eax
je 0x10024dd9
push ebx
push 0x2c
lea edx, [esp + 0x58c]
push edx
lea eax, [esp + 0x4c]
push eax
call sym.EncDec.dll_AddToCommaList_Malloc
jmp 0x10024dd9
push edi
call fcn.1010dc10
add esp, 4
cmp dword [esp + 0x30], 1
je 0x10024e12
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x38]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edx, dword [esp + 0x28]
jmp 0x10024e03
mov byte [esp + ecx + 0x584], al
mov byte [esp + ecx + 0x585], bl
inc ecx
inc edx
mov dword [esp + 0x28], edx
cmp edx, dword [esp + 0x24]
jb 0x100249a2
mov edi, dword [esp + 0x34]
push ebx
push ebx
push ebx
push ebx
lea ecx, [esp + 0xdb4]
push ecx
xor ecx, ecx
lea edx, [esp + 0x10d0]
call fcn.10059340
push ebx
push 0x1013f817
lea edx, [esp + 0xdac]
push 0x1014d78c
push edx
call fcn.10047ed0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
push eax
push ecx
push edx
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0x23c]
push ecx
lea edx, [esp + 0x1a8]
push edx
lea eax, [esp + 0xdcc]
push eax
call fcn.10022570
add esp, 0x2c
cmp dword [esp + 0x44], ebx
je 0x1002522c
cmp edi, ebx
je 0x1002522c
push 1
lea ecx, [esp + 0x18]
push 0x2c
push ecx
lea edx, [esp + 0x9b0]
mov ecx, edi
mov dword [esp + 0x20], ebx
call fcn.10045850
add esp, 0xc
cmp dword [esp + 0x14], 0xffffffff
je 0x100253c4
push 0x103
lea edx, [esp + 0x691]
push ebx
push edx
mov byte [esp + 0x698], bl
call fcn.10116880
add esp, 0xc
push 1
lea eax, [esp + 0x9a8]
push eax
mov dword [esp + 0x38], ebx
call sym.EncDec.dll_IsItEnvStringType
lea ecx, [esp + 0x9a4]
push 0x2a
push ecx
call fcn.1010d780
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x100251d4
lea edx, [esp + 0x9a4]
push edx
xor ecx, ecx
lea edx, [esp + 0x58]
mov dword [esp + 0x2c], ebx
call fcn.100635a0
cmp eax, ebx
je 0x10024f28
mov eax, dword [eax + 0x10]
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x9a4]
push 0x5c
push ecx
call fcn.1010e930
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x10024f67
inc esi
push 0x2a
push esi
call fcn.1010d780
add esp, 8
test eax, eax
jne 0x10024f5f
push 0x3f
push esi
call fcn.1010d780
add esp, 8
test eax, eax
je 0x10024f67
mov dword [esp + 0x30], 1
cmp dword [esp + 0x28], ebx
jne 0x10024f90
push esi
xor ecx, ecx
lea edx, [esp + 0x58]
call fcn.100635a0
cmp eax, ebx
je 0x10025203
mov eax, dword [eax + 0x10]
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x10025203
push 0x5c
inc edi
push edi
mov dword [esp + 0x24], ebx
call fcn.1010d780
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x10025168
mov byte [edi], bl
cmp dword [esp + 0x20], 2
jne 0x10024fe6
cmp dword [esp + 0x18], ebx
je 0x10024fd0
lea edx, [esp + 0x9a4]
push edx
push str.GFN__s__n
call fcn.1010e391
add esp, 8
jmp 0x10024fe6
lea eax, [esp + 0x9a4]
push eax
push str._VUL__GFN__s__n
push ebx
call fcn.10053700
add esp, 0xc
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x9a8]
call fcn.10022ab0
add esp, 4
cmp dword [esp + 0x20], 2
jne 0x1002503e
cmp dword [esp + 0x18], ebx
je 0x10025023
mov edx, dword [esp + 0x1c]
push edx
lea eax, [esp + 0x9a8]
push eax
push str.Ent__s___FNs__s__n
call fcn.1010e391
add esp, 0xc
jmp 0x1002503e
mov ecx, dword [esp + 0x1c]
push ecx
lea edx, [esp + 0x9a8]
push edx
push str._VUL__Ent__s___FNs__s__n
push ebx
call fcn.10053700
add esp, 0x10
mov byte [edi], 0x5c
inc edi
push edi
lea eax, [esp + 0x11c8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [esp + 0x1c], ebx
je 0x1002519f
push 1
lea ecx, [esp + 0x28]
push 0x2c
push ecx
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x19d0]
mov dword [esp + 0x30], ebx
call fcn.10045850
add esp, 0xc
cmp dword [esp + 0x24], 0xffffffff
je 0x10025159
jmp 0x10025090
lea ecx, [esp + 0x19c4]
call fcn.10049c40
lea edx, [esp + 0x11c4]
push edx
lea eax, [esp + 0x19c8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edi, [esp + 0x1dc4]
lea ecx, [esp + 0x19c4]
call fcn.10044170
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
push ecx
push edx
lea eax, [esp + 0x694]
push eax
lea ecx, [esp + 0x60]
mov edx, esi
mov ebx, edi
call fcn.100228d0
add esp, 0xc
cmp dword [esp + 0x20], 2
jne 0x10025130
cmp dword [esp + 0x18], 0
je 0x10025110
lea ecx, [esp + 0x68c]
push ecx
push esi
mov edx, edi
push edx
push str.nfoldn__s___fn__s___FFN__s__n
call fcn.1010e391
add esp, 0x10
jmp 0x10025130
lea eax, [esp + 0x68c]
push eax
push esi
lea ecx, [esp + 0x1dcc]
push ecx
push str._VUL__nfoldn__s___fn__s___FFN__s__n
push 0
call fcn.10053700
add esp, 0x14
mov ecx, dword [esp + 0x1c]
push 1
lea edx, [esp + 0x28]
push 0x2c
push edx
lea edx, [esp + 0x19d0]
call fcn.10045850
add esp, 0xc
cmp dword [esp + 0x24], 0xffffffff
jne 0x10025090
xor ebx, ebx
mov eax, dword [esp + 0x1c]
push eax
call fcn.1010dc10
add esp, 4
jmp 0x1002519f
lea edi, [esp + 0x11c4]
lea ecx, [esp + 0x9a4]
call fcn.10044170
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
push ecx
push edx
lea eax, [esp + 0x694]
push eax
lea ecx, [esp + 0x60]
mov edx, esi
mov ebx, edi
call fcn.100228d0
add esp, 0xc
xor ebx, ebx
cmp byte [esp + 0x68c], bl
je 0x10025203
push 1
push ebx
lea ecx, [esp + 0x694]
lea edx, [esp + 0x354]
call fcn.10062ec0
test eax, eax
je 0x10025203
push ebx
push 0x2c
lea ecx, [esp + 0x694]
push ecx
lea edx, [esp + 0x38]
push edx
jmp 0x100251fe
push 1
push ebx
lea ecx, [esp + 0x9ac]
lea edx, [esp + 0x354]
call fcn.10062ec0
test eax, eax
je 0x10025203
push ebx
push 0x2c
lea eax, [esp + 0x9ac]
push eax
lea ecx, [esp + 0x38]
push ecx
call sym.EncDec.dll_AddToCommaList_Malloc
mov ecx, dword [esp + 0x34]
push 1
lea edx, [esp + 0x18]
push 0x2c
push edx
lea edx, [esp + 0x9b0]
call fcn.10045850
add esp, 0xc
cmp dword [esp + 0x14], 0xffffffff
jne 0x10024eba
jmp 0x10025234
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
cmp dword [esp + 0x2c], ebx
je 0x100253c4
mov ecx, dword [esp + 0x2c]
push 1
lea eax, [esp + 0x18]
push 0x2c
push eax
lea edx, [esp + 0x9b0]
mov dword [esp + 0x20], ebx
call fcn.10045850
add esp, 0xc
cmp dword [esp + 0x14], 0xffffffff
je 0x100253c4
mov esi, dword [esp + 0x2c]
lea ecx, [esp + 0x9a4]
push 0x2a
push ecx
call fcn.1010d780
add esp, 8
test eax, eax
jne 0x1002539f
lea edx, [esp + 0x9a4]
push 0x3f
push edx
call fcn.1010d780
add esp, 8
test eax, eax
jne 0x1002539f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
push eax
push ecx
lea edi, [esp + 0x9ac]
call fcn.10022be0
add esp, 8
test eax, eax
je 0x10025372
cmp dword [esp + 0x50], ebx
je 0x1002539f
push ebx
push str._syswow64_
mov eax, edi
push str._system32_
push eax
call fcn.10047ed0
add esp, 0x10
test eax, eax
je 0x10025317
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push ecx
push edx
call fcn.10022be0
add esp, 8
test eax, eax
jne 0x1002539f
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x18c]
push edx
mov eax, edi
push eax
jmp 0x1002538c
push ebx
push 0x1013f817
lea ecx, [esp + 0x9ac]
push str.__x86_
push ecx
call fcn.10047ed0
add esp, 0x10
test eax, eax
jne 0x10025355
push ebx
push str.progra1_
lea edx, [esp + 0x9ac]
push str.progra2_
push edx
call fcn.10047ed0
add esp, 0x10
test eax, eax
je 0x1002539f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
push eax
push ecx
lea edi, [esp + 0x9ac]
call fcn.10022be0
add esp, 8
test eax, eax
jne 0x1002539f
mov edx, dword [esp + 0x20]
push edx
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x18c]
push ecx
lea edx, [esp + 0x9b0]
push edx
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0xfc]
call fcn.10021fa0
add esp, 0x10
push 1
lea eax, [esp + 0x18]
push 0x2c
push eax
lea edx, [esp + 0x9b0]
mov ecx, esi
call fcn.10045850
add esp, 0xc
cmp dword [esp + 0x14], 0xffffffff
jne 0x1002526d
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x100253d5
push eax
call fcn.1010dc10
add esp, 4
mov eax, dword [esp + 0x34]
cmp eax, ebx
je 0x100253e6
push eax
call fcn.1010dc10
add esp, 4
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x100253f7
push eax
call fcn.1010dc10
add esp, 4
mov ecx, dword [esp + 0x1f0]
push ecx
call fcn.1003c460
add esp, 4
lea ecx, [esp + 0x184]
call fcn.10062ce0
mov edx, dword [esp + 0x158]
push edx
call fcn.1003c460
add esp, 4
lea ecx, [esp + 0xec]
call fcn.10062ce0
mov eax, dword [esp + 0x288]
push eax
call fcn.1003c460
add esp, 4
lea ecx, [esp + 0x21c]
call fcn.10062ce0
mov ecx, dword [esp + 0xc0]
push ecx
call fcn.1003c460
add esp, 4
lea ecx, [esp + 0x54]
call fcn.10062ce0
cmp dword [esp + 0x48], ebx
je 0x10025477
mov edx, dword [esp + 0x4c]
push edx
call fcn.1004f2c0
add esp, 4
lea eax, [esp + 0x47c]
call fcn.10033960
mov eax, dword [esp + 0x38]
push eax
call fcn.1010dc10
add esp, 4
lea ecx, [esp + 0x2b4]
mov byte [esp + 0x21d8], 5
call fcn.10062c60
lea ecx, [esp + 0x34c]
mov byte [esp + 0x21d8], 4
call fcn.10062c60
lea ecx, [esp + 0x3e4]
mov byte [esp + 0x21d8], 3
call fcn.10062c60
lea ecx, [esp + 0x54]
mov byte [esp + 0x21d8], 2
call fcn.10062c60
lea ecx, [esp + 0x21c]
mov byte [esp + 0x21d8], 1
call fcn.10062c60
lea ecx, [esp + 0xec]
mov byte [esp + 0x21d8], bl
call fcn.10062c60
lea ecx, [esp + 0x184]
mov dword [esp + 0x21d8], 0xffffffff
call fcn.10062c60
mov eax, 1
jmp 0x10025600
cmp dword [esp + 0x18], ebx
je 0x10025540
lea ecx, [esp + 0x47c]
push ecx
push str.Unable_to_read_section_names_from__s__n
call fcn.1010e391
add esp, 8
cmp esi, ebx
je 0x1002555a
lea edx, [esp + 0x47c]
push edx
push str.Unable_to_read_section_names_from__s_
push esi
call fcn.1010d6a8
add esp, 0xc
lea eax, [esp + 0x47c]
call fcn.10033960
mov eax, dword [esp + 0x38]
push eax
call fcn.1010dc10
add esp, 4
lea ecx, [esp + 0x2b4]
mov byte [esp + 0x21d8], 5
call fcn.10062c60
lea ecx, [esp + 0x34c]
mov byte [esp + 0x21d8], 4
call fcn.10062c60
lea ecx, [esp + 0x3e4]
mov byte [esp + 0x21d8], 3
call fcn.10062c60
lea ecx, [esp + 0x54]
mov byte [esp + 0x21d8], 2
call fcn.10062c60
lea ecx, [esp + 0x21c]
mov byte [esp + 0x21d8], 1
call fcn.10062c60
lea ecx, [esp + 0xec]
mov byte [esp + 0x21d8], bl
call fcn.10062c60
lea ecx, [esp + 0x184]
mov dword [esp + 0x21d8], 0xffffffff
call fcn.10062c60
xor eax, eax
mov ecx, dword [esp + 0x21d0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x21b8]
xor ecx, esp
call fcn.1010d699
mov esp, ebp
pop ebp
ret