Function at 0x430490
Capabilities:
Accept command line arguments
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49c65c
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push esi
push edi
mov eax, dword [0x4cf06c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x1c], edi
push 0
push 0x91b
call fcn.00465810
mov dword [ebp - 4], 0
lea ecx, [edi + 0x80]
mov dword [edi], vtable.TMainDlg.0
call fcn.00412b20
lea esi, [edi + 0x1488]
mov byte [ebp - 4], 1
mov ecx, esi
call fcn.0042da60
lea ecx, [edi + 0x1698]
mov dword [edi + 0x1690], 0
call fcn.0042da60
xorps xmm0, xmm0
lea ecx, [edi + 0x18d8]
movq qword [edi + 0x18a0], xmm0
mov dword [edi + 0x18a8], 0
mov dword [edi + 0x18ac], 0
mov dword [edi + 0x18b0], 0
mov dword [edi + 0x18b8], 0
mov dword [edi + 0x18bc], 0
mov dword [edi + 0x18c0], 0
mov dword [edi + 0x18c8], 0
mov dword [edi + 0x18cc], 0
call fcn.0040e690
mov dword [edi + 0x1c10], 1
xorps xmm0, xmm0
movq qword [edi + 0x1c20], xmm0
mov dword [edi + 0x1c28], 0
mov dword [edi + 0x1c2c], 0
mov dword [edi + 0x1c30], 0
mov dword [edi + 0x1c38], 0
mov dword [edi + 0x1c3c], 0
mov dword [edi + 0x1c40], 0
mov dword [edi + 0x1c48], 0
mov dword [edi + 0x1c4c], 0
mov dword [edi + 0x2330], 0
mov dword [edi + 0x2338], 0
mov dword [edi + 0x233c], 0
mov dword [edi + 0x2364], 0
mov dword [edi + 0x2368], 0xffffffff
push edi
lea ecx, [edi + 0x3670]
call fcn.00443cb0
push edi
lea eax, [edi + 0x18d8]
mov byte [ebp - 4], 4
push eax
lea ecx, [edi + 0x36ec]
call fcn.00452df0
push edi
push esi
lea esi, [edi + 0x18d8]
push esi
lea ecx, [edi + 0x37f0]
call fcn.0042ec00
push edi
push esi
lea ecx, [edi + 0x387c]
call fcn.00445be0
push edi
push esi
lea ecx, [edi + 0x3900]
call fcn.00446640
push edi
lea ecx, [edi + 0x3984]
call fcn.00465710
mov dword [edi + 0x3984], 0x4c326c
mov dword [edi + 0x39ec], 0xa
mov dword [edi + 0x39f0], 0
mov dword [edi + 0x39f4], 0
push edi
lea ecx, [edi + 0x39f8]
call fcn.00448580
push edi
lea ecx, [edi + 0x3a60]
call fcn.00448580
push edi
lea ecx, [edi + 0x3ac8]
call fcn.00465710
push edi
lea ecx, [edi + 0x3b30]
call fcn.00465710
push edi
lea ecx, [edi + 0x3b98]
call fcn.00465710
push edi
lea ecx, [edi + 0x3c00]
call fcn.00465710
push edi
lea ecx, [edi + 0x3c68]
call fcn.00465710
push edi
lea ecx, [edi + 0x3cd0]
call fcn.00465710
push edi
lea ecx, [edi + 0x3d38]
call fcn.00465710
push edi
lea ecx, [edi + 0x3da0]
call fcn.00465710
push edi
lea ecx, [edi + 0x3e08]
call fcn.00465710
push edi
lea ecx, [edi + 0x3e70]
call fcn.00465710
push edi
lea ecx, [edi + 0x3ed8]
call fcn.00465710
push edi
lea ecx, [edi + 0x3f40]
call fcn.00448af0
add edi, 0x4028
mov dword [ebp - 0x20], edi
mov dword [edi], 0
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0xffffffff
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov byte [ebp - 4], 0x1b
lea esi, [edi + 0x38]
push 0
mov dword [ebp - 0x18], esi
push 0
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.0042e890
mov dword [esi], eax
mov ecx, edi
mov byte [ebp - 4], 0x1c
call fcn.00430140
mov byte [ebp - 4], 0x1d
mov edi, dword [ebp - 0x1c]
mov ecx, edi
mov dword [edi + 0x4068], 0
call fcn.0043a300
lea esi, [edi + 0x2340]
mov dword [ebp - 0x18], 0
push esi
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movups xmm0, xmmword [esi]
mov dword [edi + 0x22cc], 0
movups xmmword [edi + 0x2350], xmm0
cmp dword [0x4d3d8c], 6
jb 0x43083b
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call dword [sym.imp.KERNEL32.dll_ProcessIdToSessionId]
test eax, eax
je 0x43083b
cmp dword [ebp - 0x20], 0
jne 0x43083b
mov dword [edi + 0x22cc], 2
mov dword [edi + 0x1c6c], 1
mov dword [edi + 0x1c68], 1
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call fcn.004889e7
add esp, 4
lea edx, [edi + 0x18d0]
mov ecx, eax
call fcn.0045cc50
cmp dword [edi + 0x18d0], 2
mov dword [edi + 0x18d4], eax
jne 0x430890
push str._install
push dword [eax + 4]
call fcn.0048b155
add esp, 8
test eax, eax
jne 0x430890
mov dword [edi + 0x1c78], 1
mov dword [edi + 0x18d0], 1
jmp 0x43089a
mov dword [edi + 0x1c78], 0
xor ecx, ecx
call fcn.00461010
mov dword [edi + 0x18b8], eax
mov ecx, edi
lea eax, [ebp - 0x10]
mov dword [edi + 0x18bc], edx
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00439d50
test eax, eax
jne 0x4308cf
lea eax, [ebp - 0x10]
mov ecx, edi
push eax
call fcn.00439e20
cmp dword [0x4d3d8c], 6
jb 0x4308ff
call fcn.0045ac90
test eax, eax
je 0x4308ff
mov ecx, 0x233
call fcn.0045b070
mov ecx, 0x4a
call fcn.0045b070
mov ecx, 0x49
call fcn.0045b070
push dword [ebp - 0x10]
lea ecx, [edi + 0x18d8]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.0040ec00
test eax, eax
jne 0x430942
push eax
call fcn.00458e60
push eax
push str.Cant_initialize...
mov ecx, edi
call fcn.00437040
call fcn.004683f0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x1984]
test ecx, ecx
jle 0x430951
call fcn.0045a8e0
lea ecx, [edi + 0x18d8]
call fcn.004102b0
push ecx
mov ecx, dword [edi + 0x1ab8]
call fcn.00467880
add esp, 4
mov ecx, edi
call fcn.00430f90
xor ecx, ecx
cmp dword [edi + 0x14f8], 1
sete cl
call fcn.00458da0
mov ecx, edi
call fcn.00437d40
mov eax, dword [edi + 0x1a18]
lea edx, [edi + 0x1c88]
mov dword [edi + 0x22a0], eax
mov eax, dword [edi + 0x1a1c]
mov dword [edi + 0x22a4], eax
mov eax, dword [edi + 0x19e4]
mov dword [edi + 0x22ac], eax
mov eax, dword [edi + 0x19e8]
mov dword [edi + 0x22b0], eax
mov eax, dword [edi + 0x1a68]
mov ecx, dword [edi + 0x1ac0]
mov dword [edi + 0x22b4], eax
mov eax, dword [edi + 0x19f8]
mov dword [edi + 0x22c0], eax
mov eax, dword [edi + 0x19fc]
mov dword [edi + 0x22c4], eax
mov eax, dword [edi + 0x19ec]
mov dword [edi + 0x22b8], eax
mov eax, dword [edi + 0x196c]
mov dword [edi + 0x1c84], eax
mov eax, dword [edi + 0x1a04]
mov dword [edi + 0x1c64], eax
mov eax, dword [edi + 0x1a3c]
mov dword [edi + 0x22d0], eax
mov eax, dword [edi + 0x1938]
mov dword [edi + 0x22d8], eax
mov eax, dword [edi + 0x193c]
mov dword [edi + 0x22dc], eax
mov eax, dword [edi + 0x1968]
mov dword [edi + 0x1c80], eax
mov eax, dword [edi + 0x1978]
mov dword [edi + 0x1c74], 0
mov dword [edi + 0x22a8], 0
mov dword [edi + 0x22bc], 0
mov dword [edi + 0x1c60], 0
mov dword [edi + 0x22e0], 0
mov dword [edi + 0x1c54], 0
mov dword [edi + 0x1c6c], 0
mov dword [edi + 0x1c68], 0
mov dword [edi + 0x1c7c], 0
mov dword [edi + 0x1c70], eax
mov dword [edi + 0x3668], 0
mov dword [edi + 0x2324], 0
mov dword [edi + 0x22f4], 0
mov dword [edi + 0x22f8], 0
mov dword [edi + 0x22c8], 1
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x430ad6
xor eax, eax
mov word [edi + 0x1e90], ax
mov word [edi + 0x2098], ax
mov dword [edi + 0x2374], 0xffffffff
mov dword [edi + 0x1bf8], eax
mov dword [edi + 0x1bfc], eax
mov dword [edi + 0x1c00], 0xffffffff
mov dword [edi + 0x1c04], eax
mov dword [edi + 0x1c08], eax
mov dword [edi + 0x230c], eax
mov dword [edi + 0x2308], eax
mov dword [edi + 0x2300], eax
mov dword [edi + 0x2304], eax
mov dword [edi + 0x3658], eax
mov dword [edi + 0x365c], eax
call fcn.00462c40
push 0x5c
mov dword [edi + 0x18a8], eax
lea eax, [edi + 0x3fc4]
push 0
push eax
mov dword [edi + 0x18ac], edx
mov dword [edi + 0x1c14], 0
mov dword [edi + 0x1c18], 0
mov dword [edi + 0x1c1c], 0
mov dword [edi + 0x3fc0], 0
call fcn.00481280
mov eax, dword [edi + 0x1998]
add esp, 0xc
mov dword [edi + 0x1c5c], eax
mov eax, dword [edi + 0x1994]
mov dword [edi + 0x366c], 0
sub eax, 1
je 0x430bd2
sub eax, 1
je 0x430bc7
mov ecx, edi
sub eax, 1
je 0x430bcb
push 0x40
call fcn.004331c0
push 0x20
jmp 0x430bd4
push 0x80
jmp 0x430bd6
push 0x40
mov ecx, edi
call fcn.004331c0
push str.FastCopyLogMutex
push 0
push 0
mov dword [edi + 0x1c50], 0
mov dword [edi + 0x2328], 0
mov dword [edi + 0x232c], 0
mov dword [edi + 0x1c0c], 0
mov dword [edi + 0x2360], 0
mov dword [edi + 0x236c], 0xffffffff
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov ecx, 1
mov dword [edi + 0x2370], eax
call fcn.00461010
push 0x12e0
mov dword [edi + 0x18c8], eax
lea eax, [edi + 0x2378]
push 0
push eax
mov dword [edi + 0x18cc], edx
call fcn.00481280
add esp, 0xc
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret