Function at 0x40c930
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x507840
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor ebp, ebp
mov dword [esp + 0x1c], ebp
mov esi, dword [edi + 0x98]
mov eax, dword [edi + 0x94]
mov ecx, dword [eax + esi - 4]
cmp ecx, ebp
je 0x40cb92
mov ebx, 4
cmp ecx, 3
jne 0x40cb5a
mov edx, dword [eax + esi - 8]
lea ecx, [esp + 0x18]
sub eax, edx
lea eax, [eax + esi - 8]
push eax
call fcn.00454fb0
lea ecx, [esp + 0x38]
mov dword [esp + 0x74], ebp
call fcn.004915c0
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x74], 1
push ecx
lea ecx, [esp + 0x3c]
call fcn.004922f0
push str.checksetupmodule
lea ecx, [esp + 0x3c]
call fcn.00492630
test eax, eax
je 0x40c9c8
mov dword [esp + 0x1c], 1
push str.notupdatedata
lea ecx, [esp + 0x3c]
call fcn.00492630
test eax, eax
je 0x40c9e0
mov dword [edi + 0x154], ebp
push 0x540bbc
lea ecx, [esp + 0x3c]
call fcn.00492630
test eax, eax
je 0x40ca88
lea edx, [esp + 0x10]
lea ecx, [esp + 0x38]
push edx
call fcn.00492b30
mov eax, dword [esp + 0x10]
mov byte [esp + 0x74], 2
cmp dword [eax - 8], ebp
je 0x40ca7a
lea ecx, [esp + 0x24]
call fcn.004e7acd
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x24]
push ecx
push 0x540bb8
push edx
mov byte [esp + 0x80], 3
call fcn.00428880
mov eax, dword [esp + 0x38]
add esp, 0xc
cmp eax, ebp
jle 0x40ca52
mov eax, dword [esp + 0x28]
lea ecx, [edi + 0x1b4]
push eax
call fcn.004ea888
cmp dword [esp + 0x2c], 1
jle 0x40ca6c
mov ecx, dword [esp + 0x28]
add ecx, 4
push ecx
lea ecx, [edi + 0x1b8]
call fcn.004ea888
lea ecx, [esp + 0x24]
mov byte [esp + 0x74], 2
call fcn.004e7b00
lea ecx, [esp + 0x10]
mov byte [esp + 0x74], 1
call fcn.00455820
push str.ExtraConfig
lea ecx, [esp + 0x3c]
call fcn.00492630
test eax, eax
je 0x40cb39
lea ecx, [esp + 0x38]
call fcn.00492930
push ebp
lea ecx, [esp + 0x3c]
call fcn.00492630
test eax, eax
je 0x40cb30
push 0x556998
lea ecx, [esp + 0x18]
call fcn.00454fb0
lea edx, [esp + 0x20]
push str.type
push edx
lea ecx, [esp + 0x40]
mov byte [esp + 0x7c], bl
call fcn.00492b80
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 5
call fcn.004559d0
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], bl
call fcn.00455820
mov eax, dword [esp + 0x14]
cmp dword [eax - 8], ebp
je 0x40cb14
lea ecx, [edi + 0x158]
push ecx
push 0x540b8c
push eax
call fcn.00435574
add esp, 0xc
lea ecx, [esp + 0x14]
mov byte [esp + 0x74], 1
call fcn.00455820
push ebp
lea ecx, [esp + 0x3c]
call fcn.00492630
test eax, eax
jne 0x40cab5
lea ecx, [esp + 0x38]
call fcn.00492960
lea ecx, [esp + 0x38]
mov byte [esp + 0x74], 0
call fcn.00491650
lea ecx, [esp + 0x18]
mov dword [esp + 0x74], 0xffffffff
call fcn.00455820
jmp 0x40cb5e
cmp ecx, ebx
ja 0x40cbaa
mov eax, dword [edi + 0x94]
mov edx, 0xfffffff8
sub edx, dword [eax + esi - 8]
add esi, edx
mov ecx, dword [eax + esi - 4]
cmp ecx, ebp
jne 0x40c971
cmp dword [esp + 0x1c], ebp
je 0x40cb92
mov ecx, edi
call 0x40cbc0
test eax, eax
je 0x40cb92
mov dword [edi + 0x150], ebp
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x68
ret
lea eax, [esp + 0x20]
push 0x52b250
push eax
mov dword [esp + 0x28], ebx
call fcn.0043553a
nop
nop
nop
sub esp, 0x410
push ebx
push esi
mov esi, ecx
push edi
xor edx, edx
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0xe]
mov word [esp + 0xc], dx
mov word [esp + 0x214], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x216]
push 0x104
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x218]
xor ebx, ebx
push eax
call fcn.0041ac60
add esp, 8
test eax, eax
je 0x40cce2
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0xc]
push str.winrdgv3.exe
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x1b4]
lea edx, [esp + 0x218]
push ecx
push edx
lea eax, [esp + 0x18]
push 0x53e100
push eax
call fcn.004355aa
lea ecx, [esp + 0x20]
push ecx
call fcn.00420db0
add esp, 0x18
test eax, eax
je 0x40cce2
mov edx, dword [esi + 0x1b4]
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0xc]
push str.winoav3.dll
push edx
rep stosd dword es:[edi], eax
call fcn.0041cab0
push eax
lea eax, [esp + 0x18]
push 0x53e100
push eax
call fcn.004355aa
lea ecx, [esp + 0x20]
push ecx
call fcn.00420db0
add esp, 0x18
test eax, eax
je 0x40cce2
mov edx, dword [esi + 0x1b4]
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0xc]
push str.winoauv3.dll
push edx
rep stosd dword es:[edi], eax
call fcn.0041cab0
push eax
lea eax, [esp + 0x18]
push 0x53e100
push eax
call fcn.004355aa
lea ecx, [esp + 0x20]
push ecx
call fcn.00420db0
add esp, 0x18
test eax, eax
mov eax, 1
jne 0x40cce4
mov eax, ebx
pop edi
pop esi
pop ebx
add esp, 0x410
ret