Function at 0x406a50
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x5f33ae
mov eax, dword fs:[0]
push eax
sub esp, 0x814
mov eax, dword [0x6656b0]
xor eax, esp
mov dword [esp + 0x810], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6656b0]
xor eax, esp
push eax
lea eax, [esp + 0x828]
mov dword fs:[0], eax
mov eax, dword [esp + 0x838]
mov ebp, dword [esp + 0x83c]
lea ecx, [esp + 0xf4]
push ecx
mov dword [esp + 0x2c], eax
call fcn.004a9fe0
xor ebx, ebx
mov dword [esp + 0x830], ebx
lea edx, [esp + 0x334]
push edx
call fcn.004ac370
mov byte [esp + 0x830], 1
mov edi, 7
xor eax, eax
mov dword [esp + 0xb8], edi
mov dword [esp + 0xb4], ebx
mov word [esp + 0xa4], ax
mov byte [esp + 0x830], 2
xor ecx, ecx
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], ebx
mov word [esp + 0x50], cx
mov byte [esp + 0x830], 3
xor edx, edx
mov dword [esp + 0xf0], edi
mov dword [esp + 0xec], ebx
mov word [esp + 0xdc], dx
mov byte [esp + 0x830], 4
mov word [esp + 0x6c], ax
push ebx
mov eax, 0x622024
lea esi, [esp + 0x6c]
mov dword [esp + 0x84], edi
mov dword [esp + 0x80], ebx
call fcn.0040f730
mov byte [esp + 0x830], 5
xor ecx, ecx
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd0], ebx
mov word [esp + 0xc0], cx
mov byte [esp + 0x830], 6
xor edx, edx
push ebx
mov eax, 0x622024
lea esi, [esp + 0x88]
mov dword [esp + 0xa0], edi
mov dword [esp + 0x9c], ebx
mov word [esp + 0x8c], dx
call fcn.0040f730
mov byte [esp + 0x830], 7
mov byte [esp + 0x1a], bl
mov byte [esp + 0x1b], 1
call fcn.004b7590
mov edi, 8
cmp dword [eax + 0x3d0], edi
jb 0x406bc3
mov eax, dword [eax + 0x3bc]
jmp 0x406bc8
add eax, 0x3bc
push eax
push str._sGenian
lea ecx, [esp + 0xa8]
call fcn.004bc870
add esp, 8
push 0x3b4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x17
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.CGnWork::InstallDefault
mov byte [ecx + 4], bl
call fcn.0040e090
mov byte [esp + 0x850], 8
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
cmp dword [ebp + 0x18], edi
jb 0x406c28
mov eax, dword [ebp + 4]
jmp 0x406c2b
lea eax, [ebp + 4]
push eax
push 0x621478
push 0x66f120
call fcn.0040fa90
add esp, 0xc
push 0x3b5
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x17
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.CGnWork::InstallDefault
mov byte [ecx + 4], bl
call fcn.0040e090
mov byte [esp + 0x850], 9
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
cmp dword [ebp + 0xf8], edi
jb 0x406c8f
mov eax, dword [ebp + 0xe4]
jmp 0x406c95
lea eax, [ebp + 0xe4]
push eax
push 0x6214b0
push 0x66f120
call fcn.0040fa90
add esp, 0xc
push 0x3b6
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x17
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.CGnWork::InstallDefault
mov byte [ecx + 4], bl
call fcn.0040e090
mov byte [esp + 0x850], 0xa
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
cmp dword [ebp + 0x188], edi
jb 0x406cf9
mov eax, dword [ebp + 0x174]
jmp 0x406cff
lea eax, [ebp + 0x174]
push eax
push 0x6214e8
push 0x66f120
call fcn.0040fa90
add esp, 0xc
push 0x3b7
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x17
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.CGnWork::InstallDefault
mov byte [ecx + 4], bl
call fcn.0040e090
mov byte [esp + 0x850], 0xb
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
mov eax, dword [esp + 0xa4]
cmp dword [esp + 0xb8], edi
jae 0x406d6a
lea eax, [esp + 0xa4]
push eax
push 0x62151c
push 0x66f120
call fcn.0040fa90
add esp, 0xc
push 0x3b9
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x17
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.CGnWork::InstallDefault
mov byte [ecx + 4], bl
call fcn.0040e090
mov byte [esp + 0x850], 0xc
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
cmp dword [ebp + 0x14c], edi
jb 0x406dce
mov eax, dword [ebp + 0x138]
jmp 0x406dd4
lea eax, [ebp + 0x138]
push eax
push 0x621540
push 0x66f120
call fcn.0040fb80
add esp, 0xc
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x50]
push ecx
mov ecx, 3
xor edx, edx
call fcn.00409760
mov byte [esp + 0x830], 0xd
cmp dword [eax + 0x18], edi
jb 0x406e0f
mov eax, dword [eax + 4]
jmp 0x406e12
add eax, 4
mov esi, eax
call fcn.004bc1d0
mov byte [esp + 0x23], al
mov byte [esp + 0x830], 7
cmp dword [esp + 0x48], edi
jb 0x406e38
mov edx, dword [esp + 0x34]
push edx
call fcn.004c4802
add esp, 4
xor eax, eax
mov dword [esp + 0x48], 7
mov dword [esp + 0x44], ebx
mov word [esp + 0x34], ax
cmp dword [ebp + 0x12c], ebx
je 0x406e90
cmp byte [esp + 0x23], 1
jne 0x406e90
cmp dword [ebp + 0x130], edi
jb 0x406e6a
mov eax, dword [ebp + 0x11c]
jmp 0x406e70
lea eax, [ebp + 0x11c]
mov ecx, eax
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x406e75
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [esp + 0x50]
call fcn.0040f730
jmp 0x406f0b
mov ecx, dword [esp + 0x28]
push str.InstallPath
push 0x6204ac
add ecx, 0x114
lea ebx, [esp + 0x24]
call fcn.00414900
mov byte [esp + 0x830], 0xe
mov eax, dword [eax]
mov ecx, eax
lea esi, [ecx + 2]
lea esp, [esp]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x406ec0
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [esp + 0x50]
call fcn.0040f730
mov byte [esp + 0x830], 7
lea ecx, [esp + 0x1c]
call fcn.00401690
push 1
mov eax, 0x622070
mov ecx, esi
call fcn.0040ec10
push 0x11
mov eax, str.GnPCInspector.exe
mov ecx, esi
call fcn.0040ec10
xor ebx, ebx
lea edi, [ebx + 8]
push 0x3c9
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x17
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.CGnWork::InstallDefault
mov byte [ecx + 4], bl
call fcn.0040e090
mov byte [esp + 0x850], 0xf
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x64], edi
jae 0x406f5a
lea eax, [esp + 0x50]
push eax
push 0x6213dc
push 0x66f120
call fcn.0040fa90
mov eax, dword [esp + 0x5c]
add esp, 0xc
cmp dword [esp + 0x64], edi
jae 0x406f7b
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0xf8]
call fcn.004aa680
cmp al, 1
jne 0x406fbd
mov eax, dword [esp + 0x14c]
cmp dword [esp + 0x160], edi
jae 0x406fa3
lea eax, [esp + 0x14c]
mov ecx, dword [esp + 0x1bc]
push ecx
push eax
push 0x62140c
lea ecx, [esp + 0x74]
call fcn.004bc870
add esp, 0xc
push 0x3cd
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x17
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.CGnWork::InstallDefault
mov byte [ecx + 4], bl
call fcn.0040e090
mov byte [esp + 0x850], 0x10
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
cmp dword [ebp + 0xdc], 8
lea edi, [ebp + 0xc4]
jb 0x407012
mov eax, dword [edi + 4]
jmp 0x407015
lea eax, [edi + 4]
cmp dword [esp + 0x80], 8
mov ecx, dword [esp + 0x6c]
jae 0x407027
lea ecx, [esp + 0x6c]
push eax
push ecx
push 0x621574
push 0x66f120
call fcn.0040fa90
add esp, 0x10
push 0x3ce
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x17
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.CGnWork::InstallDefault
mov byte [ecx + 4], bl
call fcn.0040e090
mov byte [esp + 0x850], 0x11
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
mov edx, dword [esp + 0x28]
mov eax, str.TRUE
cmp byte [edx + 0x111], bl
jne 0x407092
mov eax, str.FALSE
push eax
push 0x6215bc
push 0x66f120
call fcn.0040fa90
add esp, 0xc
push 0x2d
lea eax, [esp + 0xc0]
push 1
push eax
mov ecx, edi
call fcn.004bc3f0
mov eax, dword [esp + 0xcc]
mov esi, 8
add esp, 0xc
cmp dword [esp + 0xd4], esi
jae 0x4070d7
lea eax, [esp + 0xc0]
push eax
call fcn.005b87db
add esp, 4
mov dword [esp + 0x2c], eax
cmp dword [edi + 0x18], esi
jb 0x4070ee
mov edi, dword [edi + 4]
jmp 0x4070f1
add edi, 4
mov eax, dword [esp + 0x6c]
cmp dword [esp + 0x80], esi
jae 0x407102
lea eax, [esp + 0x6c]
push edi
push eax
call fcn.00404ab0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
cmp byte [ecx + 0x111], bl
jne 0x40711e
mov byte [esp + 0x1a], 1
cmp eax, ebx
jge 0x407178
push 0x3d9
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push 0x17
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.CGnWork::InstallDefault
mov byte [ecx + 4], bl
call fcn.0040e090
mov byte [esp + 0x850], 0x12
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
push 0x6215e8
push esi
call fcn.0040fa90
add esp, 8
mov byte [esp + 0x1a], 1
jmp 0x407192
push 0x25
lea esi, [esp + 0x88]
mov eax, 0x621630
je 0x40718d
mov eax, 0x621680
call fcn.0040f730
mov edi, dword [esp + 0x1bc]
cmp dword [esp + 0x1c], ebx
jne 0x407230
mov eax, dword [esp + 0x2c]
cmp edi, eax
jge 0x407207
push 0x3e5
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push 0x17
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.CGnWork::InstallDefault
mov byte [ecx + 4], bl
call fcn.0040e090
mov byte [esp + 0x850], 0x13
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
mov edx, dword [esp + 0x2c]
push edx
push edi
push 0x6216d0
push esi
call fcn.0040fa90
add esp, 0x10
mov byte [esp + 0x1a], 1
jmp 0x407229
jne 0x407212
push 0x28
mov eax, 0x621750
jmp 0x40721d
cmp edi, eax
jle 0x407230
push 0x29
mov eax, 0x6217a8
lea esi, [esp + 0x88]
call fcn.0040f730
mov edi, dword [esp + 0x1bc]
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x10c], 1
jne 0x40729d
cmp dword [esp + 0x1c], ebx
jne 0x407249
cmp edi, dword [esp + 0x2c]
je 0x40729d
push 0x3ef
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push 0x17
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.CGnWork::InstallDefault
mov byte [esp + 0x42], 1
mov byte [ecx + 4], bl
call fcn.0040e090
mov byte [esp + 0x850], 0x14
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
push 0x621800
push esi
call fcn.0040fa90
add esp, 8
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x10d], 1
jne 0x4072fb
push 0x3f5
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push 0x17
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.CGnWork::InstallDefault
mov byte [ecx + 4], bl
call fcn.0040e090
mov byte [esp + 0x850], 0x15
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
push 0x621844
push esi
call fcn.0040fa90
add esp, 8
jmp 0x407306
cmp byte [esp + 0x1a], 1
jne 0x407504
lea edi, [esp + 0x334]
call fcn.004ac880
mov edi, 8
cmp dword [ebp + 0x188], edi
jb 0x407327
mov eax, dword [ebp + 0x174]
jmp 0x40732d
lea eax, [ebp + 0x174]
push eax
call fcn.004ac9b0
mov eax, dword [esp + 0xa8]
add esp, 4
cmp dword [esp + 0xb8], edi
jae 0x40734d
lea eax, [esp + 0xa4]
cmp dword [ebp + 0x188], edi
jb 0x40735d
mov edx, dword [ebp + 0x174]
jmp 0x407363
lea edx, [ebp + 0x174]
push eax
lea ecx, [esp + 0x338]
call fcn.004ad6b0
test al, al
jne 0x4073d4
push 0x3ff
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push 0x17
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.CGnWork::InstallDefault
mov byte [ecx + 4], bl
call fcn.0040e090
mov byte [esp + 0x850], 0x16
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
mov edx, dword [esp + 0x5fc]
push edx
push 0x621418
push esi
call fcn.0040fc70
add esp, 0xc
mov byte [esp + 0x1b], bl
jmp 0x40756b
cmp dword [ebp + 0x14c], edi
jb 0x4073e4
mov ebp, dword [ebp + 0x138]
jmp 0x4073ea
add ebp, 0x138
mov eax, dword [esp + 0x6dc]
cmp dword [esp + 0x6f0], edi
jae 0x407401
lea eax, [esp + 0x6dc]
push eax
mov ecx, ebp
call fcn.00407730
mov byte [esp + 0x1b], al
cmp al, 1
jne 0x407570
mov eax, dword [esp + 0xdc]
cmp dword [esp + 0xf0], edi
jae 0x40742c
lea eax, [esp + 0xdc]
mov ecx, dword [esp + 0x6dc]
cmp dword [esp + 0x6f0], edi
jae 0x407443
lea ecx, [esp + 0x6dc]
push 0xffffffffffffffff
push 5
push eax
call fcn.004100a0
add esp, 0xc
test al, al
jne 0x40749a
push 0x40d
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push str.CGnWork::InstallDefault
call fcn.0040e170
mov byte [esp + 0x850], 0x17
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
push 0x621878
push esi
call fcn.0040fc70
mov byte [esp + 0x23], bl
jmp 0x407568
push 0x412
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push str.CGnWork::InstallDefault
call fcn.0040e170
mov byte [esp + 0x850], 0x18
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
cmp dword [esp + 0x6f0], 8
mov eax, dword [esp + 0x6dc]
jae 0x4074e4
lea eax, [esp + 0x6dc]
push eax
push str._s__.___.
push 0x66f120
call fcn.0040fa90
mov eax, dword [esp + 0x34]
add esp, 0xc
mov byte [eax + 0x10e], 1
jmp 0x40756b
push 0x418
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push 0x17
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.CGnWork::InstallDefault
mov byte [ecx + 4], bl
call fcn.0040e090
mov byte [esp + 0x850], 0x19
mov byte [esp + 0x850], 7
mov esi, 0x66f120
call fcn.0040df10
cmp dword [esp + 0x9c], 8
mov eax, dword [esp + 0x88]
jae 0x40755d
lea eax, [esp + 0x88]
push eax
push 0x66f120
call fcn.0040fa90
add esp, 8
mov edi, 8
mov eax, dword [esp + 0x6dc]
cmp dword [esp + 0x6f0], edi
jae 0x407587
lea eax, [esp + 0x6dc]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [esp + 0x830], 6
cmp dword [esp + 0x9c], edi
jb 0x4075af
mov ecx, dword [esp + 0x88]
push ecx
call fcn.004c4802
add esp, 4
mov esi, 7
xor edx, edx
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebx
mov word [esp + 0x88], dx
mov byte [esp + 0x830], 5
cmp dword [esp + 0xd4], edi
jb 0x4075ed
mov eax, dword [esp + 0xc0]
push eax
call fcn.004c4802
add esp, 4
xor ecx, ecx
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd0], ebx
mov word [esp + 0xc0], cx
mov byte [esp + 0x830], 4
cmp dword [esp + 0x80], edi
jb 0x407623
mov edx, dword [esp + 0x6c]
push edx
call fcn.004c4802
add esp, 4
xor eax, eax
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], ebx
mov word [esp + 0x6c], ax
mov byte [esp + 0x830], 3
cmp dword [esp + 0xf0], edi
jb 0x407656
mov ecx, dword [esp + 0xdc]
push ecx
call fcn.004c4802
add esp, 4
xor edx, edx
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], ebx
mov word [esp + 0xdc], dx
mov byte [esp + 0x830], 2
cmp dword [esp + 0x64], edi
jb 0x407689
mov eax, dword [esp + 0x50]
push eax
call fcn.004c4802
add esp, 4
xor ecx, ecx
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], ebx
mov word [esp + 0x50], cx
mov byte [esp + 0x830], 1
cmp dword [esp + 0xb8], edi
jb 0x4076b9
mov edx, dword [esp + 0xa4]
push edx
call fcn.004c4802
add esp, 4
xor eax, eax
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb4], ebx
mov word [esp + 0xa4], ax
mov byte [esp + 0x830], bl
lea ecx, [esp + 0x334]
call fcn.004ac5f0
mov dword [esp + 0x830], 0xffffffff
lea ecx, [esp + 0xf4]
call fcn.004aa300
mov al, byte [esp + 0x1b]
mov ecx, dword [esp + 0x828]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x810]
xor ecx, esp
call fcn.005b7e8e
add esp, 0x820
ret 8