Function at 0x404e30
Capabilities:
Terminate process

Disassembly:
mov eax, 0x1c00
call fcn.0040ab40
push ebx
push ebp
push esi
push edi
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x810]
mov edx, dword [esp + 0x1c28]
rep stosd dword es:[edi], eax
mov ecx, 0x100
lea edi, [esp + 0x410]
rep stosd dword es:[edi], eax
mov ecx, 0x100
lea edi, [esp + 0x10]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x1c20]
mov ecx, dword [esp + 0x1c1c]
push eax
mov eax, dword [esp + 0x1c1c]
push ecx
push edx
push eax
mov ebp, 1
call fcn.00403250
mov edi, dword [esp + 0x1c40]
mov ebx, dword [esp + 0x1c34]
add esp, 0x10
mov cl, byte [0x41df70]
mov edx, dword [esp + 0x1c34]
mov byte [esp + 0xc10], cl
lea eax, [esp + 0xc10]
push edx
lea ecx, [esp + 0x414]
push eax
mov eax, dword [esp + 0x1c1c]
lea edx, [esp + 0x818]
push ecx
push edx
push ebp
push edi
push ebx
push eax
call fcn.00403c20
add esp, 0x20
cmp edi, 1
mov esi, eax
jne 0x404f61
test esi, esi
je 0x404f61
cmp ebp, edi
jne 0x404f08
push str.S_IGNORE_REQ_SYS_PREREQ
call fcn.00401b60
push eax
call fcn.00401ba0
push str.S_IGNORE_REQ_SYS_PREREQ
jmp 0x404f53
push str.S_FAILED_PATCHES_1
call fcn.00401b60
lea ecx, [esp + 0xc14]
push eax
push ecx
call fcn.0040b010
add esp, 0xc
test eax, eax
je 0x404f3e
push str.S_IGNORE_PATCH_SYS_PREREQ
call fcn.00401b60
push eax
call fcn.00401ba0
push str.S_IGNORE_PATCH_SYS_PREREQ
jmp 0x404f53
push str.S_IGNORE_OPT_SYS_PREREQ
call fcn.00401b60
push eax
call fcn.00401ba0
push str.S_IGNORE_OPT_SYS_PREREQ
call fcn.00401b80
push eax
call fcn.004034e0
add esp, 0x10
cmp dword [esp + 0x1c2c], 1
jne 0x404f83
lea edx, [esp + 0xc10]
push edx
call fcn.004034d0
add esp, 4
test ebp, ebp
je 0x4051db
test esi, esi
je 0x4051a0
cmp esi, 3
je 0x4051a0
test edi, edi
jne 0x4051a0
mov eax, dword [esp + 0x1c2c]
test eax, eax
jne 0x4051a0
mov esi, 0x41df70
lea eax, [esp + 0xc10]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x404fdb
test cl, cl
je 0x404fd7
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x404fdb
add eax, 2
add esi, 2
test cl, cl
jne 0x404fb7
xor eax, eax
jmp 0x404fe0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x405011
cmp ebp, 1
je 0x40502a
push str.S_FAILED_OPTIONAL
call fcn.00401b60
push eax
call fcn.00401ba0
push str.S_FAILED_OPTIONAL
call fcn.00401b80
push eax
call fcn.004034e0
add esp, 0x10
jmp 0x4050ad
lea eax, [esp + 0xc10]
push eax
call fcn.004034d0
add esp, 4
cmp ebp, 1
jne 0x4050ad
push str.S_FAILED_PRE_REQ_1
call fcn.00401b60
push eax
call fcn.00401ba0
push str.S_FAILED_PRE_REQ_1
call fcn.00401b80
push eax
call fcn.004034e0
push str.S_FAILED_PRE_REQ_2
call fcn.00401b60
push eax
call fcn.00401ba0
push str.S_FAILED_PRE_REQ_2
call fcn.00401b80
push eax
call fcn.004034e0
push str.S_FAILED_PRE_REQ_3
call fcn.00401b60
push eax
call fcn.00401ba0
push str.S_FAILED_PRE_REQ_3
call fcn.00401b80
push eax
call fcn.004034e0
push str.S_FAILED_PRE_REQ_4
call fcn.00401b60
push eax
call fcn.00401ba0
push str.S_FAILED_PRE_REQ_4
call fcn.00401b80
push eax
call fcn.004034e0
add esp, 0x40
test ebx, ebx
jne 0x40533a
mov eax, dword [esp + 0x1c34]
test eax, eax
jne 0x40533a
push str.S_CONTINUE
call fcn.00401b60
push eax
call fcn.00401ba0
push str.S_CONTINUE
call fcn.00401b80
push eax
call fcn.004034e0
mov cl, byte [0x41df70]
push 0x41a4c0
lea edx, [esp + 0x24]
push 0x400
push edx
mov byte [esp + 0x2c], cl
call fcn.0040b48d
mov al, byte [esp + 0x2c]
add esp, 0x1c
cmp al, 0x79
je 0x40512b
cmp al, 0x59
je 0x40512b
cmp al, 0x4e
je 0x40528f
cmp al, 0x6e
je 0x40528f
cmp al, 0xa
je 0x40528f
jmp 0x4050c4
push str.S_CONTINUE_YES
call fcn.00401b60
push eax
lea eax, [esp + 0x18]
push 0x41959c
push eax
call fcn.0040aaee
add esp, 0x10
test ebp, ebp
je 0x4053a7
push str.S_PRE_REQ_RETRY_REQ
call fcn.00401b60
push eax
lea ecx, [esp + 0x18]
push 0x41959c
push ecx
call fcn.0040aaee
lea edx, [esp + 0x20]
push edx
call fcn.00401ba0
push str.S_PRE_REQ_RETRY_REQ
call fcn.00401b80
push eax
lea eax, [esp + 0x2c]
push 0x41959c
push eax
call fcn.0040aaee
lea ecx, [esp + 0x34]
push ecx
call fcn.004034e0
add esp, 0x28
jmp 0x404ea2
cmp ebp, 1
jne 0x40539a
xor ebp, ebp
test esi, esi
jne 0x404ea2
push str.S_PRE_REQREQ_PASSED
call fcn.00401b60
push eax
call fcn.00401ba0
push str.S_PRE_REQREQ_PASSED
call fcn.00401b80
push eax
call fcn.004034e0
add esp, 0x10
jmp 0x404ea2
push 0x41eae0
push str.S_EXIT_MSG
call fcn.00401b60
add esp, 4
lea edx, [esp + 0x14]
push eax
push edx
call fcn.0040aaee
lea eax, [esp + 0x1c]
push eax
call fcn.00401ba0
add esp, 0x10
push 0x41eae0
push str.S_EXIT_MSG
call fcn.00401b80
add esp, 4
lea ecx, [esp + 0x14]
push eax
push ecx
call fcn.0040aaee
lea edx, [esp + 0x1c]
push edx
call fcn.004034e0
add esp, 0x10
call fcn.00403220
test ebx, ebx
jne 0x405288
mov eax, dword [esp + 0x1c34]
test eax, eax
jne 0x405288
push str.S_EXIT_CONTINUE
call fcn.00401b60
push eax
call fcn.00401ba0
push str.S_EXIT_CONTINUE
call fcn.00401b80
push eax
call fcn.004034e0
mov eax, dword [0x41a4c4]
add esp, 0x10
dec eax
mov dword [0x41a4c4], eax
js 0x40527b
inc dword [0x41a4c0]
jmp 0x405288
push 0x41a4c0
call fcn.0040b192
add esp, 4
push 0xffffffffffffffff
call fcn.0040b0bd
push str.S_CONTINUE_NO
call fcn.00401b60
push eax
lea eax, [esp + 0x18]
push 0x41959c
push eax
call fcn.0040aaee
lea ecx, [esp + 0x20]
push ecx
call fcn.00401ba0
push str.S_CONTINUE_NO
call fcn.00401b80
push eax
lea edx, [esp + 0x2c]
push 0x41959c
push edx
call fcn.0040aaee
lea eax, [esp + 0x34]
push eax
call fcn.004034e0
add esp, 0x28
push 0x41eae0
push str.S_EXIT_MSG
call fcn.00401b60
add esp, 4
lea ecx, [esp + 0x14]
push eax
push ecx
call fcn.0040aaee
lea edx, [esp + 0x1c]
push edx
call fcn.00401ba0
add esp, 0x10
push 0x41eae0
push str.S_EXIT_MSG
call fcn.00401b80
add esp, 4
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0040aaee
lea ecx, [esp + 0x1c]
push ecx
call fcn.004034e0
add esp, 0x10
call fcn.00403220
push 0xffffffffffffffff
call fcn.0040b0bd
push 0x41eae0
push str.S_EXIT_MSG
call fcn.00401b60
add esp, 4
lea edx, [esp + 0x14]
push eax
push edx
call fcn.0040aaee
lea eax, [esp + 0x1c]
push eax
call fcn.00401ba0
add esp, 0x10
push 0x41eae0
push str.S_EXIT_MSG
call fcn.00401b80
add esp, 4
lea ecx, [esp + 0x14]
push eax
push ecx
call fcn.0040aaee
lea edx, [esp + 0x1c]
push edx
call fcn.004034e0
add esp, 0x10
call fcn.00403220
push 0xffffffffffffffff
call fcn.0040b0bd
push 0x419168
call fcn.004034d0
add esp, 4
call fcn.00403220
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c00
ret