Function at 0x415e64
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x538
mov dword [ebp - 8], ecx
lea ecx, [ebp - 1]
call fcn.0041e29b
push 0x4282d4
lea ecx, [ebp - 0x10]
call fcn.00406f64
push 0x208
push 0
lea eax, [ebp - 0x538]
push eax
call fcn.0040132f
add esp, 0xc
and dword [ebp - 0x34], 0
and dword [ebp - 0x54], 0
and dword [ebp - 0x50], 0
and dword [ebp - 0x38], 0
push 0x104
push 0
lea eax, [ebp - 0x330]
push eax
call fcn.0040132f
add esp, 0xc
push 0x104
lea eax, [ebp - 0x330]
push eax
push str.firefox.exe
call fcn.00417bc1
add esp, 0xc
test eax, eax
je 0x415ee4
mov byte [ebp - 2], 1
jmp 0x415ee8
mov byte [ebp - 2], 0
mov al, byte [ebp - 2]
mov byte [ebp - 0x15], al
movzx eax, byte [ebp - 0x15]
test eax, eax
jne 0x415f20
and dword [ebp - 0x100], 0
lea ecx, [ebp - 0x10]
call fcn.00406be2
lea ecx, [ebp - 1]
call fcn.0041e292
lea ecx, [ebp + 8]
call fcn.00406be2
mov eax, dword [ebp - 0x100]
jmp 0x416643
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x30]
call fcn.00406f64
push str._firefox.exe
lea eax, [ebp - 0x330]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x330]
push eax
call dword [sym.imp.KERNEL32.dll_GetBinaryTypeW]
cmp dword [ebp - 0x50], 6
jne 0x415fa0
push 1
push ecx
mov ecx, esp
lea eax, [ebp - 0x30]
push eax
call fcn.00406fbc
mov ecx, dword [ebp - 8]
call fcn.004171fc
test eax, eax
jne 0x415f9e
and dword [ebp - 0x64], 0
lea ecx, [ebp - 0x30]
call fcn.00406be2
lea ecx, [ebp - 0x10]
call fcn.00406be2
lea ecx, [ebp - 1]
call fcn.0041e292
lea ecx, [ebp + 8]
call fcn.00406be2
mov eax, dword [ebp - 0x64]
jmp 0x416643
jmp 0x415fe6
push 0
push ecx
mov ecx, esp
lea eax, [ebp - 0x30]
push eax
call fcn.00406fbc
mov ecx, dword [ebp - 8]
call fcn.004171fc
test eax, eax
jne 0x415fe6
and dword [ebp - 0x68], 0
lea ecx, [ebp - 0x30]
call fcn.00406be2
lea ecx, [ebp - 0x10]
call fcn.00406be2
lea ecx, [ebp - 1]
call fcn.0041e292
lea ecx, [ebp + 8]
call fcn.00406be2
mov eax, dword [ebp - 0x68]
jmp 0x416643
push str.MozillaFirefox_
lea ecx, [ebp + 8]
call fcn.00406c53
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x44]
call fcn.00406fbc
push 0x42833c
lea ecx, [ebp - 0x44]
call fcn.00406c53
push 0x428358
lea ecx, [ebp - 0x6c]
call fcn.00406f64
push eax
lea ecx, [ebp - 0x10]
call fcn.00406bfc
lea ecx, [ebp - 0x6c]
call fcn.00406be2
push dword [ebp - 0x34]
lea ecx, [ebp - 0x10]
call fcn.00406cda
lea ecx, [ebp - 0x44]
call fcn.00406f44
mov dword [ebp - 0x70], eax
lea ecx, [ebp - 0x10]
call fcn.00406f44
mov dword [ebp - 0x74], eax
push dword [ebp - 0x70]
push 0x104
lea eax, [ebp - 0x538]
push eax
push 0
push 0x428368
push dword [ebp - 0x74]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
je 0x416603
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
push 0x428374
lea ecx, [ebp - 0x78]
call fcn.00406f64
push eax
lea ecx, [ebp - 0x10]
call fcn.00406bfc
lea ecx, [ebp - 0x78]
call fcn.00406be2
push dword [ebp - 0x34]
lea ecx, [ebp - 0x10]
call fcn.00406cda
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x14]
call fcn.00406fbc
lea eax, [ebp - 0x538]
push eax
lea ecx, [ebp - 0x14]
call fcn.00406c53
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x14]
call fcn.00406e4b
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x84]
mov dword [ebp - 0x7c], eax
lea ecx, [ebp - 0x24]
call fcn.00406b4a
push eax
call dword [ebp - 0x7c]
pop ecx
test eax, eax
je 0x416100
lea ecx, [ebp - 0x24]
call fcn.00406b06
lea ecx, [ebp - 0x14]
call fcn.00406be2
jmp 0x416035
mov eax, dword [ebp - 8]
call dword [eax + 0x9c]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x416127
lea ecx, [ebp - 0x24]
call fcn.00406b06
lea ecx, [ebp - 0x14]
call fcn.00406be2
jmp 0x416035
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x98]
mov dword [ebp - 0x80], eax
push 0
push 1
push dword [ebp - 0x38]
call dword [ebp - 0x80]
add esp, 0xc
test eax, eax
je 0x416159
lea ecx, [ebp - 0x24]
call fcn.00406b06
lea ecx, [ebp - 0x14]
call fcn.00406be2
jmp 0x416035
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x20]
call fcn.00406fbc
push 0x428384
lea ecx, [ebp - 0x20]
call fcn.00406c53
push 0x1a
lea eax, [ebp - 0xc]
push eax
call fcn.0041e9f8
pop ecx
pop ecx
push 0x4283a0
lea ecx, [ebp - 0xc]
call fcn.00406c53
push 8
lea eax, [ebp - 0x84]
push eax
call fcn.00406d2e
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xc]
call fcn.00406cc1
lea ecx, [ebp - 0x84]
call fcn.00406be2
push 0x4283a4
lea ecx, [ebp - 0xc]
call fcn.00406c53
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0041ec89
pop ecx
pop ecx
test eax, eax
jne 0x4161d2
jmp 0x4161de
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x20]
call fcn.00406bfc
lea ecx, [ebp - 0x128]
call fcn.0041f24c
push 1
push 0xc0000000
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x128]
call fcn.0041edb5
test eax, eax
jne 0x416233
lea ecx, [ebp - 0x128]
call fcn.0041edeb
lea ecx, [ebp - 0xc]
call fcn.00406be2
lea ecx, [ebp - 0x20]
call fcn.00406be2
lea ecx, [ebp - 0x24]
call fcn.00406b06
lea ecx, [ebp - 0x14]
call fcn.00406be2
jmp 0x416035
lea ecx, [ebp - 0x4c]
call fcn.00406692
push 0
lea ecx, [ebp - 0x128]
call fcn.0041eddc
push eax
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x128]
call fcn.0041ed2a
push 0x4283b0
lea ecx, [ebp - 0x94]
call fcn.00406b58
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x4c]
call fcn.004064e1
mov dword [ebp - 0x8c], eax
push dword [ebp - 0x88]
push dword [ebp - 0x8c]
call fcn.004148a1
pop ecx
pop ecx
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x90]
call fcn.00406b06
lea ecx, [ebp - 0x94]
call fcn.00406b06
cmp dword [ebp - 0x1c], 0
je 0x416589
lea ecx, [ebp - 0x110]
call fcn.00419976
push 0x4283c4
lea ecx, [ebp - 0xa4]
call fcn.00406b58
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x4c]
call fcn.004064e1
mov dword [ebp - 0x9c], eax
push dword [ebp - 0x1c]
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
lea eax, [ebp - 0x60]
push eax
call fcn.0041490e
add esp, 0x10
lea ecx, [ebp - 0xa0]
call fcn.00406b06
lea ecx, [ebp - 0xa4]
call fcn.00406b06
push 0x4283d0
lea ecx, [ebp - 0xb4]
call fcn.00406b58
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x4c]
call fcn.004064e1
mov dword [ebp - 0xac], eax
push dword [ebp - 0x1c]
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
lea eax, [ebp - 0x5c]
push eax
call fcn.0041490e
add esp, 0x10
lea ecx, [ebp - 0xb0]
call fcn.00406b06
lea ecx, [ebp - 0xb4]
call fcn.00406b06
push 0x4283e4
lea ecx, [ebp - 0xc4]
call fcn.00406b58
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x4c]
call fcn.004064e1
mov dword [ebp - 0xbc], eax
push dword [ebp - 0x1c]
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
lea eax, [ebp - 0x58]
push eax
call fcn.0041490e
add esp, 0x10
lea ecx, [ebp - 0xc0]
call fcn.00406b06
lea ecx, [ebp - 0xc4]
call fcn.00406b06
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x5c]
call fcn.00406b4a
push eax
mov ecx, dword [ebp - 8]
call fcn.00416647
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x58]
call fcn.00406b4a
push eax
mov ecx, dword [ebp - 8]
call fcn.00416647
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x60]
call fcn.00406770
push eax
lea ecx, [ebp - 0x110]
call fcn.00406bfc
lea ecx, [ebp - 0xc8]
call fcn.00406be2
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x28]
mov al, byte [eax]
mov byte [ebp - 0x16], al
inc dword [ebp - 0x28]
cmp byte [ebp - 0x16], 0
jne 0x416438
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
je 0x4164a2
push dword [ebp - 0x3c]
lea ecx, [ebp - 0xdc]
call fcn.00406b58
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 0xd4]
call fcn.00406770
push eax
lea ecx, [ebp - 0x10c]
call fcn.00406bfc
lea ecx, [ebp - 0xd8]
call fcn.00406be2
lea ecx, [ebp - 0xdc]
call fcn.00406b06
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x2c]
mov al, byte [eax]
mov byte [ebp - 0x17], al
inc dword [ebp - 0x2c]
cmp byte [ebp - 0x17], 0
jne 0x4164b2
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0xe0]
mov dword [ebp - 0xe4], eax
je 0x41651c
push dword [ebp - 0x40]
lea ecx, [ebp - 0xf0]
call fcn.00406b58
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0xec]
push eax
mov ecx, dword [ebp - 0xe8]
call fcn.00406770
push eax
lea ecx, [ebp - 0x108]
call fcn.00406bfc
lea ecx, [ebp - 0xec]
call fcn.00406be2
lea ecx, [ebp - 0xf0]
call fcn.00406b06
and dword [ebp - 0x104], 0
mov eax, dword [ebp - 8]
mov dword [ebp - 0xf4], eax
sub esp, 0x10
mov ecx, esp
lea eax, [ebp - 0x110]
push eax
call fcn.00403cd2
mov ecx, dword [ebp - 0xf4]
call fcn.00403e71
push dword [ebp - 0x3c]
call fcn.0040b7df
pop ecx
push dword [ebp - 0x40]
call fcn.0040b7df
pop ecx
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x58]
call fcn.00406b06
lea ecx, [ebp - 0x5c]
call fcn.00406b06
lea ecx, [ebp - 0x60]
call fcn.00406b06
lea ecx, [ebp - 0x110]
call fcn.004018bb
jmp 0x4162af
lea eax, [ebp - 0xc]
push eax
call fcn.0041e9e4
pop ecx
test eax, eax
je 0x4165a9
push ecx
mov ecx, esp
lea eax, [ebp - 0xc]
push eax
call fcn.00406fbc
call fcn.0041ee12
pop ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xa0]
mov dword [ebp - 0xf8], eax
push dword [ebp - 0x38]
call dword [ebp - 0xf8]
pop ecx
mov eax, dword [ebp - 8]
call dword [eax + 0x88]
lea ecx, [ebp - 0x4c]
call fcn.004066da
lea ecx, [ebp - 0x128]
call fcn.0041edeb
lea ecx, [ebp - 0xc]
call fcn.00406be2
lea ecx, [ebp - 0x20]
call fcn.00406be2
lea ecx, [ebp - 0x24]
call fcn.00406b06
lea ecx, [ebp - 0x14]
call fcn.00406be2
jmp 0x416035
mov ecx, dword [ebp - 8]
call fcn.00417176
mov dword [ebp - 0xfc], 1
lea ecx, [ebp - 0x44]
call fcn.00406be2
lea ecx, [ebp - 0x30]
call fcn.00406be2
lea ecx, [ebp - 0x10]
call fcn.00406be2
lea ecx, [ebp - 1]
call fcn.0041e292
lea ecx, [ebp + 8]
call fcn.00406be2
mov eax, dword [ebp - 0xfc]
leave
ret 4