Function at 0x30015b3d
Capabilities:
Read .ini file

Disassembly:
push ebp
mov eax, 0x1024
lea ebp, [esp - 0xfa4]
call fcn.3001fd80
mov eax, dword [0x30034b3c]
push ebx
push esi
xor esi, esi
push edi
push dword [ebp + 0xfac]
mov dword [ebp + 0xfa0], eax
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x7c], esi
call fcn.3001592b
mov ebx, eax
cmp ebx, esi
je 0x30015b8c
push 0x30006578
jmp 0x30015cc4
push dword [0x30077294]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
call edi
lea eax, [eax + eax + 2]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, esi
mov dword [ebp - 0x64], eax
jne 0x30015bb8
mov ebx, 0x8007000e
jmp 0x300161b3
push dword [0x30077294]
call edi
inc eax
push eax
push dword [ebp - 0x64]
push dword [0x30077294]
call fcn.30014100
test eax, eax
je 0x30015be3
call fcn.30014098
mov ebx, 0xffffff35
jmp 0x300161b3
call fcn.30012cfd
mov ebx, eax
cmp ebx, esi
je 0x30015c00
push 0x30006538
call fcn.300105be
push 3
pop ebx
jmp 0x300161b3
call fcn.30018710
cmp dword [0x300771f4], esi
jne 0x300161bb
call fcn.30011306
cmp dword [0x30077284], esi
je 0x30015c35
push 0x300064f8
call fcn.300105be
push dword [ebp - 0x64]
call fcn.300131d5
jmp 0x300160b7
lea eax, [ebp - 0x80]
push eax
call fcn.3001a0c8
mov ebx, eax
cmp ebx, esi
je 0x30015c4b
push 0x300064d4
jmp 0x30015cc4
cmp dword [ebp - 0x80], esi
je 0x30015c95
cmp dword [0x30077280], esi
je 0x30015c77
push 0x30006488
call fcn.300105be
push dword [ebp - 0x64]
call fcn.3001b03c
mov ebx, eax
push ebx
call fcn.300112d8
jmp 0x300161b3
push 0x30006438
call fcn.300105be
push 1
call fcn.3001a4b0
mov ebx, eax
cmp ebx, esi
je 0x30015c95
push 0x30006418
jmp 0x30015cc4
mov edi, 0x300562b8
push edi
call fcn.30014e18
mov ebx, eax
cmp ebx, esi
je 0x30015cad
push 0x300063f8
jmp 0x30015cc4
push dword [0x30077294]
push edi
call fcn.3001507c
mov ebx, eax
cmp ebx, esi
je 0x30015ccf
push 0x300063d0
call fcn.30010597
pop ecx
jmp 0x300161b3
push esi
call fcn.30010474
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.30013e92
test eax, eax
jne 0x30015d19
push dword [ebp - 0x68]
lea eax, [ebp - 0x60]
push dword [ebp - 0x78]
push 0x800
push eax
call fcn.30013b0b
cmp word [ebp - 0x60], si
je 0x30015d0f
lea eax, [ebp - 0x60]
push eax
push esi
call fcn.3000d876
mov ebx, 0xffffff37
jmp 0x300161b3
lea eax, [ebp - 0x64]
push eax
call fcn.30014c7e
test eax, eax
jne 0x30015d3a
push 0x30006390
call fcn.300105be
mov ebx, 0xffffff34
jmp 0x300161b3
call fcn.30012f42
cmp eax, esi
jge 0x30015d58
push eax
push 0x30001420
call fcn.30010597
push 0x30006378
jmp 0x30015e09
call fcn.300183c1
cmp dword [0x3003402c], esi
mov ebx, eax
mov dword [ebp + 0xfac], ebx
jne 0x30015d75
cmp dword [0x30076f94], esi
je 0x30015de6
cmp dword [0x30077240], esi
je 0x30015d84
mov eax, 0x300062a8
jmp 0x30015dce
cmp dword [0x300771e4], esi
je 0x30015d93
mov eax, 0x300061f8
jmp 0x30015dce
cmp dword [0x30077244], esi
je 0x30015da2
mov eax, 0x30006140
jmp 0x30015dce
call fcn.30010edd
test eax, eax
jne 0x30015db2
mov eax, 0x300060c0
jmp 0x30015dce
cmp dword [0x30076f90], esi
je 0x30015dc1
mov eax, 0x30006000
jmp 0x30015dce
cmp dword [0x300771a8], esi
je 0x30015ddc
mov eax, 0x30005fb0
push eax
mov dword [0x3003402c], esi
call fcn.300105be
jmp 0x30015de6
mov dword [0x3003402c], 1
lea eax, [ebp - 0x6c]
push eax
push 0x728
push esi
call fcn.3001f4b9
cmp eax, esi
jge 0x30015e16
push eax
push 0x30001420
call fcn.30010597
push 0x30005f80
call fcn.30010597
add esp, 0xc
jmp 0x300161b3
cmp dword [0x3003402c], esi
je 0x30015efb
push 0x30005f4c
mov dword [ebp - 0x68], esi
call fcn.300105be
call fcn.30018cd7
push dword [ebp - 0x6c]
push dword [0x3007bda0]
call fcn.30019743
cmp eax, esi
jne 0x30015e75
cmp dword [0x30077200], esi
jne 0x30015e99
cmp dword [0x300771f8], esi
jne 0x30015e99
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
test eax, eax
push esi
push esi
push 6
je 0x30015e71
push 0x74
push esi
call fcn.3000de9e
jmp 0x30015e99
push 0x78
jmp 0x30015e69
cmp eax, 0x80004004
jne 0x30015e88
push 0x30005f10
call fcn.300105be
jmp 0x30015e99
cmp eax, esi
jge 0x30015e99
push eax
push 0x30005eb8
call fcn.300106d0
pop ecx
pop ecx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
lea edx, [ebp - 0x68]
push edx
push 0x30004f00
push eax
call dword [ecx + 0x14]
test eax, eax
jl 0x30015ec3
mov eax, dword [ebp - 0x68]
cmp eax, esi
je 0x30015ec3
cmp word [eax + 0x104], si
jne 0x300161b3
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
lea edx, [ebp - 0x68]
push edx
push 0x30005ea4
push eax
call dword [ecx + 0x14]
test eax, eax
jl 0x30015efb
mov eax, dword [ebp - 0x68]
cmp eax, esi
je 0x30015efb
add eax, 0x104
cmp word [eax], si
je 0x30015efb
push esi
push 0x30076d50
push eax
push 0x30005e98
call fcn.30011df1
call fcn.30013056
push 0x300566d8
push esi
push 0x30002ca0
push 0x30002b2c
mov dword [0x300771ec], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x30015f5a
cmp dword [0x300771ec], esi
je 0x30015f5a
push esi
push 0x54
push esi
call fcn.3000da9e
cmp eax, 7
jne 0x30015f49
push 0x30005e48
call fcn.300105be
mov ebx, 0x642
jmp 0x300161b3
cmp dword [0x300771ec], esi
je 0x30015f5a
push 1
push 1
call fcn.3001d467
cmp dword [0x300771e0], esi
jne 0x30015f6a
cmp dword [0x300771e8], esi
je 0x30015f9e
cmp dword [0x30077240], esi
jne 0x30015f9e
call fcn.3001d37d
test eax, eax
je 0x30015f9e
call fcn.30012a10
cmp eax, 0x642
mov edi, 0xfffffecd
je 0x3001608f
cmp eax, edi
je 0x3001608f
mov dword [ebp + 0xfac], esi
cmp dword [0x30077250], esi
je 0x300160a0
call fcn.3001cd83
cmp dword [0x300771e8], esi
je 0x30015fed
lea eax, [ebp - 0x64]
push eax
push dword [ebp - 0x70]
call fcn.3001238d
mov ebx, eax
mov eax, dword [0x30034020]
cmp eax, 0xffffffff
mov dword [ebp + 0xfac], ebx
je 0x30015fe1
push 0x1388
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp ebx, 0xffffff31
je 0x300161b3
cmp dword [0x300771e4], esi
jne 0x300160be
cmp dword [0x30077244], esi
jne 0x300160be
cmp dword [0x300771ec], esi
jne 0x300160be
call fcn.3001ca98
test eax, eax
je 0x300160be
call fcn.3001cc00
mov ebx, eax
cmp ebx, 0x80070522
jne 0x30016034
mov dword [ebp - 0x7c], 1
cmp ebx, esi
jne 0x30016070
push 0x30005e10
mov edi, 0x104
push edi
push str.REINSTALLALL
call fcn.3000d4b9
push 0x30005df0
push edi
push str.REINSTALLMODEvomu
call fcn.3000d4b9
push esi
push esi
mov dword [0x300771ec], 1
call fcn.3001d467
cmp ebx, esi
jge 0x300160be
push ebx
push 0x30001420
call fcn.30010597
push 0x30005da8
call fcn.30010597
add esp, 0xc
jmp 0x300161ad
push 0x30005d38
call fcn.300105be
mov ebx, edi
jmp 0x300161b3
cmp dword [0x3007724c], esi
je 0x30015faf
push dword [0x30077294]
call fcn.30012155
mov ebx, eax
jmp 0x300161b3
call fcn.300173b5
test eax, eax
jl 0x300160e4
cmp dword [0x30076f88], esi
jne 0x300160e4
call fcn.3001113e
test eax, eax
je 0x300160e4
cmp dword [0x3007bcc4], esi
jne 0x3001616b
lea ecx, [ebp - 0x74]
call fcn.3000d430
push 6
lea ecx, [ebp - 0x74]
call fcn.3000d531
cmp eax, esi
mov dword [ebp + 0xfac], eax
jle 0x3001610c
and eax, 0xffff
or eax, 0x80070000
cmp eax, esi
jge 0x30016130
push eax
push 0x30001420
call fcn.30010597
push 0x30005d20
call fcn.30010597
add esp, 0xc
lea ecx, [ebp - 0x74]
call fcn.3000d43a
jmp 0x300161ad
push dword [0x30076d54]
lea eax, [ebp - 0x74]
push eax
mov edi, 0x30002cfc
push edi
call fcn.30011ffa
push dword [ebp - 0x74]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x30016163
push esi
push 0x30076d54
push 0x300044ac
push edi
call fcn.30011df1
lea ecx, [ebp - 0x74]
call fcn.3000d43a
push dword [ebp - 0x64]
call fcn.300157bc
cmp eax, esi
mov dword [ebp + 0xfac], eax
je 0x3001618a
push 0x30005cfc
call fcn.30010597
pop ecx
jmp 0x300161ad
push dword [ebp - 0x64]
call fcn.3001b03c
cmp eax, 0xfffffe0a
mov dword [ebp + 0xfac], eax
jne 0x300161a7
xor eax, eax
mov dword [ebp + 0xfac], eax
push eax
call fcn.300112d8
mov ebx, dword [ebp + 0xfac]
cmp dword [0x300771f4], esi
je 0x300161c0
call fcn.30014098
cmp dword [ebp - 0x7c], esi
je 0x300161cd
push 0x73
push esi
call fcn.3000d8cd
push 0x30076d50
call fcn.30014057
call fcn.3001408d
push dword [0x30034030]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [ebp - 0x64], esi
je 0x300161f6
push dword [ebp - 0x64]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [ebp - 0x6c]
push dword [0x30077294]
push ebx
call fcn.30013683
mov ecx, dword [ebp + 0xfa0]
pop edi
pop esi
pop ebx
call fcn.3001fd67
add ebp, 0xfa4
leave
ret 0x10