Function at 0x40dac0
Capabilities:
Check if file exists
Create process on windows
Delete file
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48d16c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb5c
mov eax, dword [0x4aff50]
push ebx
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push edi
mov dword [ebp - 0x10], esp
push 0
mov ebx, ecx
push 0
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x338]
push 0x147
push eax
mov dword [ebp - 0x9dc], ebx
mov byte [ebx + 0x3a0], 0
call esi
mov edx, eax
cmp edx, 0xffffffff
jne 0x40db58
push 0x10
push 0x12
call fcn.004014b0
add esp, 4
push eax
push 0x11
call fcn.004014b0
mov ecx, dword [ebx + 0x1c]
add esp, 4
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.0046bf5e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov byte [ebp - 0x4cc], 0
mov ecx, 0x3f
lea edi, [ebp - 0x4cb]
rep stosd dword es:[edi], eax
mov ecx, dword [ebx + 0x338]
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x4cc]
push eax
push edx
push 0x148
push ecx
call esi
xor esi, esi
lea eax, [ebp - 0x4cc]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2c], 0
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40dba0
sub eax, edi
push eax
lea edx, [ebp - 0x4cc]
push edx
lea ecx, [ebp - 0x30]
call fcn.00404760
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x9ec]
push ecx
lea ecx, [ebx + 0x36c]
mov dword [ebp - 4], esi
call fcn.00415fa0
mov edi, dword [eax]
cmp dword [ebp - 0x18], 0x10
mov dword [ebp - 4], 0xffffffff
jb 0x40dbed
mov edx, dword [ebp - 0x2c]
push edx
call fcn.004826a1
add esp, 4
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2c], 0
mov eax, dword [edi + 0x2c]
cmp eax, esi
je 0x40dc1f
mov ecx, dword [edi + 0x30]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp esi, 1
jae 0x40dc3b
push 0x10
push 0x14
call fcn.004014b0
add esp, 4
push eax
push 0x13
call fcn.004014b0
add esp, 4
jmp 0x40fec2
push 0
lea ecx, [ebp - 0x250]
call fcn.00425da0
mov ecx, dword [0x4ae1a0]
push ecx
lea ecx, [ebp - 0x250]
mov dword [ebp - 4], 1
call fcn.00426030
test al, al
je 0x40dd0c
lea edx, [ebp - 0x4cc]
push edx
lea ecx, [ebp - 0xa0]
call fcn.004050c0
mov eax, dword [0x4ae1ac]
push eax
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 2
call fcn.004050c0
lea ecx, [ebp - 0xa0]
push ecx
lea edx, [ebp - 0xd8]
push edx
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 3
call fcn.00425b60
mov eax, dword [ebp - 0xc0]
mov ebx, 0x10
cmp eax, ebx
jb 0x40dccb
mov eax, dword [ebp - 0xd4]
push eax
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x88], ebx
mov dword [ebp - 0xc0], 0xf
mov dword [ebp - 0xc4], 0
mov byte [ebp - 0xd4], 0
mov byte [ebp - 4], 1
jb 0x40dd01
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.004826a1
add esp, 4
lea ecx, [ebp - 0x250]
call fcn.004255c0
call fcn.0046d336
cdq
idiv esi
mov eax, dword [edi + 0x2c]
mov edi, dword [edi + 0x30]
xor ebx, ebx
xor esi, esi
xor ecx, ecx
cmp eax, edi
je 0x40dd53
cmp ecx, edx
je 0x40dd32
add eax, 0x3c
inc ecx
cmp eax, edi
jne 0x40dd24
jmp 0x40dd53
mov edx, dword [eax + 0x18]
mov ecx, 0x10
cmp edx, ecx
jb 0x40dd43
mov ebx, dword [eax + 4]
jmp 0x40dd46
lea ebx, [eax + 4]
cmp dword [eax + 0x38], ecx
jb 0x40dd50
mov esi, dword [eax + 0x24]
jmp 0x40dd53
lea esi, [eax + 0x24]
xor edi, edi
mov eax, esi
mov dword [ebp - 0xa74], 0xf
mov dword [ebp - 0xa78], edi
mov byte [ebp - 0xa88], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40dd71
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xa8c]
call fcn.00404760
mov eax, ebx
mov byte [ebp - 4], 4
mov dword [ebp - 0xa90], 0xf
mov dword [ebp - 0xa94], edi
mov byte [ebp - 0xaa4], 0
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40dda7
sub eax, ecx
push eax
push ebx
lea ecx, [ebp - 0xaa8]
call fcn.00404760
push 7
mov ebx, 0xf
xor edi, edi
push 0x4933a8
lea ecx, [ebp - 0xa70]
mov byte [ebp - 4], 5
mov dword [ebp - 0xa58], ebx
mov dword [ebp - 0xa5c], edi
mov byte [ebp - 0xa6c], 0
call fcn.00404760
lea edx, [ebp - 0xaa8]
push edx
lea eax, [ebp - 0xa70]
push eax
lea ecx, [ebp - 0xae8]
push ecx
mov byte [ebp - 4], 6
call fcn.00415c80
lea edx, [ebp - 0xa8c]
push edx
push eax
lea eax, [ebp - 0x228]
push eax
mov byte [ebp - 4], 7
call fcn.00415c80
add esp, 0x18
mov eax, dword [ebp - 0xad0]
mov esi, 0x10
cmp eax, esi
jb 0x40de44
mov ecx, dword [ebp - 0xae4]
push ecx
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0xa58], esi
mov dword [ebp - 0xad0], ebx
mov dword [ebp - 0xad4], edi
mov byte [ebp - 0xae4], 0
jb 0x40de6e
mov edx, dword [ebp - 0xa6c]
push edx
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0xa90], esi
mov dword [ebp - 0xa58], ebx
mov dword [ebp - 0xa5c], edi
mov byte [ebp - 0xa6c], 0
jb 0x40de98
mov eax, dword [ebp - 0xaa4]
push eax
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0xa74], esi
mov dword [ebp - 0xa90], ebx
mov dword [ebp - 0xa94], edi
mov byte [ebp - 0xaa4], 0
mov byte [ebp - 4], 9
jb 0x40dec6
mov ecx, dword [ebp - 0xa88]
push ecx
call fcn.004826a1
add esp, 4
mov ecx, dword [ebp - 0x9dc]
push edi
add ecx, 0x27c
mov dword [ebp - 0xa74], ebx
mov dword [ebp - 0xa78], edi
mov byte [ebp - 0xa88], 0
call fcn.00482877
push 4
mov byte [ebp - 4], 0xd
call fcn.00482676
add esp, 4
mov dword [ebp - 0x9ec], eax
cmp eax, edi
mov byte [ebp - 4], 0xe
je 0x40df10
mov ecx, eax
call fcn.00423c90
jmp 0x40df12
xor eax, eax
mov dword [ebp - 0x9e0], eax
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x150], edi
mov byte [ebp - 0x160], 0
lea edx, [ebp - 0x164]
push edx
mov byte [ebp - 4], 0x10
call fcn.00407d10
mov edx, dword [0x4ae198]
mov ebx, 0xf
mov eax, edx
add esp, 4
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x70], edi
mov byte [ebp - 0x80], 0
lea esi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40df60
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x84]
call fcn.00404760
push 6
push 0x4933b0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
call fcn.00404760
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x164]
push ecx
lea edx, [ebp - 0x110]
push edx
mov byte [ebp - 4], 0x12
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0x84]
push ecx
push eax
lea edx, [ebp - 0x1b8]
push edx
mov byte [ebp - 4], 0x13
call fcn.00415c80
add esp, 0xc
mov eax, dword [ebp - 0xf8]
mov esi, 0x10
cmp eax, esi
jb 0x40dfea
mov eax, dword [ebp - 0x10c]
push eax
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x18], esi
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xfc], edi
mov byte [ebp - 0x10c], 0
jb 0x40e00e
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x6c], esi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
mov byte [ebp - 4], 0x15
jb 0x40e02d
mov edx, dword [ebp - 0x80]
push edx
call fcn.004826a1
add esp, 4
mov edx, dword [0x4ae198]
mov eax, edx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x70], edi
mov byte [ebp - 0x80], 0
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x54], edi
mov byte [ebp - 0x64], 0
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40e050
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x68]
call fcn.00404760
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x228]
push ecx
lea edx, [ebp - 0x20c]
push edx
mov byte [ebp - 4], 0x18
call fcn.00415c80
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov esi, 0x10
cmp eax, esi
mov byte [ebp - 4], 0x1a
jb 0x40e09d
mov eax, dword [ebp - 0x64]
push eax
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x1a0], esi
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x54], edi
mov byte [ebp - 0x64], 0
jae 0x40e0bb
lea ecx, [ebp - 0x1b4]
cmp dword [ebp - 0x1f4], esi
mov eax, dword [ebp - 0x208]
jae 0x40e0cf
lea eax, [ebp - 0x208]
push edi
push edi
push ecx
mov ecx, dword [ebp - 0x9e0]
push eax
call fcn.004247a0
test al, al
jne 0x40e263
push 0x16
call fcn.004014b0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], edi
mov byte [ebp - 0x48], 0
lea esi, [ecx + 1]
nop
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x40e100
sub ecx, esi
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00404760
mov edx, dword [0x4ae198]
mov eax, edx
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x70], edi
mov byte [ebp - 0x80], 0
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40e130
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x84]
call fcn.00404760
push 0x15
mov byte [ebp - 4], 0x1c
call fcn.004014b0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x40e163
sub ecx, esi
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00404760
lea ecx, [ebp - 0x84]
push ecx
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x110]
push eax
mov byte [ebp - 4], 0x1d
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0x4c]
push ecx
push eax
lea edx, [ebp - 0xa0]
push edx
mov byte [ebp - 4], 0x1e
call fcn.00415c80
add esp, 0xc
mov eax, dword [ebp - 0xf8]
mov esi, 0x10
cmp eax, esi
jb 0x40e1ca
mov eax, dword [ebp - 0x10c]
push eax
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x18], esi
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xfc], edi
mov byte [ebp - 0x10c], 0
jb 0x40e1ee
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x6c], esi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
jb 0x40e209
mov edx, dword [ebp - 0x80]
push edx
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x34], esi
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x70], edi
mov byte [ebp - 0x80], 0
mov byte [ebp - 4], 0x20
jb 0x40e228
mov eax, dword [ebp - 0x48]
push eax
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x88], esi
mov esi, dword [ebp - 0x9c]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], edi
mov byte [ebp - 0x48], 0
jae 0x40e246
lea esi, [ebp - 0x9c]
push 0x17
call fcn.004014b0
mov ecx, dword [ebp - 0x9dc]
mov edx, dword [ecx + 0x1c]
add esp, 4
push 0x10
push eax
push esi
push edx
jmp 0x40fec7
mov dword [ebp - 0x168], ebx
mov dword [ebp - 0x16c], edi
mov byte [ebp - 0x17c], 0
cmp dword [ebp - 0x1a0], esi
mov eax, dword [ebp - 0x1b4]
mov byte [ebp - 4], 0x24
jae 0x40e28e
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0x250]
call fcn.00426030
test al, al
jne 0x40e2c7
push 0x19
call fcn.004014b0
add esp, 4
push 0x18
mov esi, eax
call fcn.004014b0
add esp, 4
push 0x10
push esi
push eax
mov eax, dword [ebp - 0x9dc]
mov ecx, dword [eax + 0x1c]
push ecx
jmp 0x40fec7
mov edx, dword [0x4ae1a4]
mov eax, edx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40e2e0
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x30]
call fcn.00404760
lea edx, [ebp - 0x180]
push edx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x25
call fcn.004258f0
test al, al
mov eax, dword [ebp - 0x18]
sete bl
cmp eax, 0x10
mov byte [ebp - 4], 0x24
jb 0x40e32a
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.004826a1
add esp, 4
test bl, bl
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
je 0x40e364
push 0x1b
call fcn.004014b0
add esp, 4
push 0x1a
mov esi, eax
call fcn.004014b0
mov edx, dword [ebp - 0x9dc]
add esp, 4
push 0x10
push esi
push eax
mov eax, dword [edx + 0x1c]
jmp 0x40fec6
mov ebx, 0xf
mov dword [ebp - 0x1bc], ebx
mov dword [ebp - 0x1c0], edi
mov byte [ebp - 0x1d0], 0
mov edx, dword [0x4ae198]
mov eax, edx
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x70], edi
mov byte [ebp - 0x80], 0
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40e395
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x84]
call fcn.00404760
push 1
push 0x4933b8
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x27
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
call fcn.00404760
lea ecx, [ebp - 0x30]
push ecx
lea edx, [ebp - 0x164]
push edx
lea eax, [ebp - 0x110]
push eax
mov byte [ebp - 4], 0x28
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0x84]
push ecx
push eax
lea edx, [ebp - 0x1f0]
push edx
mov byte [ebp - 4], 0x29
call fcn.00415c80
add esp, 0xc
mov eax, dword [ebp - 0xf8]
mov esi, 0x10
cmp eax, esi
jb 0x40e41f
mov eax, dword [ebp - 0x10c]
push eax
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x18], esi
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xfc], edi
mov byte [ebp - 0x10c], 0
jb 0x40e443
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x6c], esi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
mov byte [ebp - 4], 0x2b
jb 0x40e462
mov edx, dword [ebp - 0x80]
push edx
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x1d8], esi
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x70], edi
mov byte [ebp - 0x80], 0
jae 0x40e480
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x250]
call fcn.00426030
test al, al
jne 0x40e4b9
push 0x1d
call fcn.004014b0
add esp, 4
push 0x1c
mov esi, eax
call fcn.004014b0
add esp, 4
push 0x10
push esi
push eax
mov eax, dword [ebp - 0x9dc]
mov ecx, dword [eax + 0x1c]
push ecx
jmp 0x40fec7
mov edx, dword [0x4ae1a4]
push edx
lea ecx, [ebp - 0xa0]
call fcn.004050c0
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x2e
call fcn.004258f0
test al, al
mov eax, dword [ebp - 0x88]
sete bl
cmp eax, 0x10
mov byte [ebp - 4], 0x2b
jb 0x40e50b
mov edx, dword [ebp - 0x9c]
push edx
call fcn.004826a1
add esp, 4
test bl, bl
je 0x40e538
push 0x1f
call fcn.004014b0
add esp, 4
push 0x1e
mov esi, eax
call fcn.004014b0
add esp, 4
push 0x10
push esi
push eax
mov eax, dword [ebp - 0x9dc]
mov ecx, dword [eax + 0x1c]
push ecx
jmp 0x40fec7
lea edx, [ebp - 0x1d4]
push edx
lea eax, [ebp - 0x180]
push eax
call fcn.00403db0
add esp, 8
test al, al
je 0x40e57b
push 0x21
call fcn.004014b0
add esp, 4
push 0x20
mov esi, eax
call fcn.004014b0
mov ecx, dword [ebp - 0x9dc]
mov edx, dword [ecx + 0x1c]
add esp, 4
push 0x10
push esi
push eax
push edx
jmp 0x40fec7
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x180]
push ecx
call fcn.00403d80
add esp, 8
test al, al
je 0x40e662
push 0x22
call fcn.004014b0
mov ecx, dword [ebp - 0x9dc]
add esp, 4
push eax
add ecx, 0x4b0
call fcn.004827c1
mov ebx, dword [ebp - 0x9dc]
lea esi, [ebx + 0x1dc]
push 0x3e8
mov ecx, esi
call fcn.00407650
lea edi, [ebx + 0x22c]
push 0x64
mov ecx, edi
call fcn.00407650
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
mov ecx, esi
call fcn.00407650
push 0
mov ecx, edi
call fcn.00407650
lea esi, [ebx + 0x460]
push 1
mov ecx, esi
call fcn.00482877
mov ecx, esi
call fcn.00482898
lea ecx, [ebp - 0x1f0]
call fcn.004036e0
lea ecx, [ebp - 0x1d4]
call fcn.004036e0
lea ecx, [ebp - 0x180]
call fcn.004036e0
lea ecx, [ebp - 0x20c]
call fcn.004036e0
lea ecx, [ebp - 0x1b8]
call fcn.004036e0
lea ecx, [ebp - 0x164]
call fcn.004036e0
lea ecx, [ebp - 0x9e8]
mov byte [ebp - 4], 0xd
call fcn.00414160
jmp 0x4109fc
push 0x23
call fcn.004014b0
mov ecx, dword [ebp - 0x9dc]
add esp, 4
push eax
add ecx, 0x4b0
call fcn.004827c1
mov edx, dword [0x4ae19c]
push edx
lea ecx, [ebp - 0x148]
call fcn.004050c0
mov esi, eax
push 0x4933bc
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x2f
call fcn.004050c0
push eax
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xf4]
push ecx
mov byte [ebp - 4], 0x30
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea edx, [ebp - 0x19c]
push edx
mov byte [ebp - 4], 0x31
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0xf4]
call fcn.004036e0
lea ecx, [ebp - 0x12c]
call fcn.004036e0
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x33
call fcn.004036e0
mov eax, dword [0x4ae19c]
push eax
lea ecx, [ebp - 0xa34]
call fcn.004050c0
push eax
lea ecx, [ebp - 0x228]
push ecx
lea edx, [ebp - 0xa50]
push edx
mov byte [ebp - 4], 0x36
call fcn.00415c80
add esp, 0xc
push 0x4933c4
push eax
lea eax, [ebp - 0xa0]
push eax
mov byte [ebp - 4], 0x37
call fcn.004098c0
add esp, 0xc
lea ecx, [ebp - 0xa50]
call fcn.004036e0
lea ecx, [ebp - 0xa34]
mov byte [ebp - 4], 0x39
call fcn.004036e0
push 0x4933cc
lea ecx, [ebp - 0x19c]
push ecx
lea edx, [ebp - 0x68]
push edx
call fcn.004098c0
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x64]
mov ebx, 0x10
cmp eax, ebx
mov byte [ebp - 4], 0x3b
jae 0x40e788
lea ecx, [ebp - 0x64]
cmp dword [ebp - 0x88], ebx
mov eax, dword [ebp - 0x9c]
jae 0x40e79c
lea eax, [ebp - 0x9c]
push edi
push edi
push ecx
mov ecx, dword [ebp - 0x9e0]
push eax
call fcn.004247a0
test al, al
jne 0x40e888
push 0x25
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0xa34]
call fcn.004050c0
mov ebx, eax
mov eax, dword [0x4ae19c]
push eax
lea ecx, [ebp - 0xa50]
mov byte [ebp - 4], 0x3c
call fcn.004050c0
mov esi, eax
push 0x24
mov byte [ebp - 4], 0x3d
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0x148]
call fcn.004050c0
push esi
push eax
lea ecx, [ebp - 0xf4]
push ecx
mov byte [ebp - 4], 0x3e
call fcn.00415c80
add esp, 0xc
push ebx
push eax
lea edx, [ebp - 0x12c]
push edx
mov byte [ebp - 4], 0x3f
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0xf4]
call fcn.004036e0
lea ecx, [ebp - 0x148]
call fcn.004036e0
lea ecx, [ebp - 0xa50]
call fcn.004036e0
lea ecx, [ebp - 0xa34]
mov byte [ebp - 4], 0x41
call fcn.004036e0
cmp dword [ebp - 0x114], 0x10
mov esi, dword [ebp - 0x128]
jae 0x40e86b
lea esi, [ebp - 0x128]
push 0x26
call fcn.004014b0
add esp, 4
push 0x10
push eax
mov eax, dword [ebp - 0x9dc]
mov ecx, dword [eax + 0x1c]
push esi
push ecx
jmp 0x40fec7
cmp dword [ebp - 0x50], ebx
mov eax, dword [ebp - 0x64]
jae 0x40e893
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x3cc]
call fcn.0041e760
cmp dword [ebp - 0x184], ebx
mov eax, dword [ebp - 0x198]
jae 0x40e8b3
lea eax, [ebp - 0x198]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
push eax
call esi
cmp dword [ebp - 0x184], ebx
mov eax, dword [ebp - 0x198]
jae 0x40e8d0
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0x3cc]
call fcn.0041e5c0
cmp dword [ebp - 0x50], ebx
mov eax, dword [ebp - 0x64]
jae 0x40e8e7
lea eax, [ebp - 0x64]
push eax
call esi
lea ecx, [ebp - 0x68]
call fcn.004036e0
lea ecx, [ebp - 0xa0]
call fcn.004036e0
mov dword [ebp - 0x278], edi
mov dword [ebp - 0x274], edi
mov dword [ebp - 0x270], edi
mov dword [ebp - 0x254], 0xf
mov dword [ebp - 0x258], edi
mov byte [ebp - 0x268], 0
cmp dword [ebp - 0x184], ebx
mov eax, dword [ebp - 0x198]
mov byte [ebp - 4], 0x45
jae 0x40e93e
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0x27c]
call fcn.0041d2a0
test al, al
jne 0x40e975
push 0x28
call fcn.004014b0
add esp, 4
push 0x27
mov esi, eax
call fcn.004014b0
mov edx, dword [ebp - 0x9dc]
add esp, 4
push ebx
push esi
push eax
mov eax, dword [edx + 0x1c]
jmp 0x40fec6
mov dword [ebp - 0x9f8], edi
mov dword [ebp - 0x9f4], edi
mov dword [ebp - 0x9f0], edi
lea ecx, [ebp - 0x9fc]
push ecx
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x46
call fcn.00402ed0
push eax
lea ecx, [ebp - 0x27c]
call fcn.0041d030
test al, al
jne 0x40e9d4
push 0x2a
call fcn.004014b0
add esp, 4
push 0x29
mov esi, eax
call fcn.004014b0
mov edx, dword [ebp - 0x9dc]
add esp, 4
push ebx
push esi
push eax
mov eax, dword [edx + 0x1c]
jmp 0x40fec6
mov ebx, dword [ebp - 0x9dc]
mov eax, dword [ebp - 0x9f8]
mov ecx, dword [ebp - 0x9f4]
mov dword [ebx + 0x3b0], edi
mov dword [ebx + 0x3b4], edi
cmp eax, ecx
je 0x40ea0a
mov edx, dword [eax + 0x70]
add dword [ebx + 0x3b0], edx
adc dword [ebx + 0x3b4], edi
add eax, 0x74
jmp 0x40e9f2
mov eax, dword [ebx + 0x3b0]
or eax, dword [ebx + 0x3b4]
jne 0x40ead4
push 0x2c
call fcn.004014b0
add esp, 4
push 0x2b
mov esi, eax
call fcn.004014b0
mov ecx, dword [ebx + 0x1c]
add esp, 4
push 0x10
push esi
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x9fc]
call fcn.0041af90
lea ecx, [ebp - 0x27c]
call fcn.0041b620
lea ecx, [ebp - 0x19c]
call fcn.004036e0
lea ecx, [ebp - 0x1f0]
call fcn.004036e0
lea ecx, [ebp - 0x1d4]
call fcn.004036e0
lea ecx, [ebp - 0x180]
call fcn.004036e0
lea ecx, [ebp - 0x20c]
call fcn.004036e0
lea ecx, [ebp - 0x1b8]
call fcn.004036e0
lea ecx, [ebp - 0x164]
call fcn.004036e0
lea ecx, [ebp - 0x9e8]
mov byte [ebp - 4], 0xd
call fcn.00414160
lea ecx, [ebp - 0x228]
call fcn.004036e0
lea ecx, [ebp - 0x250]
mov dword [ebp - 4], 0xffffffff
call fcn.0041b9e0
jmp 0x40db3c
mov edi, dword [ebp - 0x9dc]
push 0x3e8
lea esi, [edi + 0x1dc]
push 0
mov ecx, esi
call fcn.00407620
push 0
mov ecx, esi
call fcn.00407650
lea ecx, [ebp - 0x9fc]
lea esi, [edi + 0x22c]
call fcn.00413c30
push eax
push 0
mov ecx, esi
call fcn.00407620
push 0
mov ecx, esi
call fcn.00407650
mov edi, dword [ebp - 0x9f8]
mov dword [ebp - 0x9e4], 1
jmp 0x40eb30
cmp edi, dword [ebp - 0x9f4]
je 0x40ef02
push 0x4933d4
lea ecx, [ebp - 0x148]
call fcn.004050c0
mov ebx, eax
lea edx, [edi + 0x38]
push edx
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x12c]
push ecx
mov byte [ebp - 4], 0x47
call fcn.00415c80
add esp, 0xc
lea esi, [edi + 0x1c]
push esi
push eax
lea edx, [ebp - 0xa0]
push edx
mov byte [ebp - 4], 0x48
call fcn.00415c80
add esp, 0xc
push edi
push eax
lea eax, [ebp - 0xf4]
push eax
mov byte [ebp - 4], 0x49
call fcn.00415c80
add esp, 0xc
push ebx
push eax
lea ecx, [ebp - 0x4c]
push ecx
mov byte [ebp - 4], 0x4a
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0xf4]
call fcn.004036e0
lea ecx, [ebp - 0xa0]
call fcn.004036e0
lea ecx, [ebp - 0x12c]
call fcn.004036e0
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x4c
call fcn.004036e0
push 0x4933dc
lea ecx, [ebp - 0x84]
call fcn.004050c0
mov ebx, eax
push 0x4933e4
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x50
call fcn.004050c0
push eax
lea edx, [ebp - 0x164]
push edx
lea eax, [ebp - 0x110]
push eax
mov byte [ebp - 4], 0x51
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea ecx, [ebp - 0xa34]
push ecx
mov byte [ebp - 4], 0x52
call fcn.00415c80
add esp, 0xc
mov byte [ebp - 4], 0x53
push edi
push eax
lea edx, [ebp - 0xa50]
push edx
call fcn.00415c80
add esp, 0xc
push ebx
push eax
lea eax, [ebp - 0xbc]
push eax
mov byte [ebp - 4], 0x54
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0xa50]
call fcn.004036e0
lea ecx, [ebp - 0xa34]
call fcn.004036e0
lea ecx, [ebp - 0x110]
call fcn.004036e0
lea ecx, [ebp - 0x30]
call fcn.004036e0
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x56
call fcn.004036e0
lea ecx, [ebp - 0x4c]
call fcn.00402ed0
push eax
push str.begin_downloading__s
push 1
call fcn.00409700
push eax
call fcn.0041a2e0
mov ebx, dword [ebp - 0x9dc]
mov esi, dword [ebp - 0x9e8]
add esp, 0x10
mov dword [ebp - 0x9e0], 0
cmp dword [ebp - 0x9e0], 0xa
mov eax, 0x10
jge 0x40edc1
mov cl, byte [ebx + 0x3a0]
test cl, cl
je 0x40ed19
lea ecx, [ebp - 0xbc]
call fcn.004036e0
lea ecx, [ebp - 0x4c]
call fcn.004036e0
lea ecx, [ebp - 0x9fc]
call fcn.0041af90
lea ecx, [ebp - 0x27c]
call fcn.0041b620
lea ecx, [ebp - 0x19c]
call fcn.004036e0
jmp 0x40e60c
cmp dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0xb8]
lea edx, [ebx + 0x70]
jae 0x40ed30
lea ecx, [ebp - 0xb8]
cmp dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x48]
jae 0x40ed3b
lea eax, [ebp - 0x48]
push edx
push 0
push ecx
push eax
mov ecx, esi
call fcn.00424140
test al, al
je 0x40eeaa
mov dword [ebp - 0xc0], 0xf
mov dword [ebp - 0xc4], 0
mov byte [ebp - 0xd4], 0
lea ecx, [ebp - 0xd8]
push ecx
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x5b
call fcn.00402ed0
push eax
call fcn.0041d9c0
add esp, 8
lea edx, [ebp - 0xd8]
push edx
lea eax, [edi + 0x54]
push eax
call fcn.00403d80
add esp, 8
test al, al
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x56
je 0x40eea5
call fcn.004036e0
mov ecx, dword [ebp - 0x9e0]
mov eax, 0x10
cmp ecx, 0xa
jne 0x40eeb5
push 0x2e
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0x148]
call fcn.004050c0
mov esi, eax
push 0x2d
mov byte [ebp - 4], 0x5c
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0x12c]
call fcn.004050c0
lea ecx, [ebp - 0x4c]
push ecx
push eax
lea edx, [ebp - 0xf4]
push edx
mov byte [ebp - 4], 0x5d
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0xa0]
push eax
mov byte [ebp - 4], 0x5e
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0xf4]
call fcn.004036e0
lea ecx, [ebp - 0x12c]
call fcn.004036e0
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x60
call fcn.004036e0
mov eax, dword [ebp - 0x34]
mov edi, 0x10
cmp eax, edi
mov eax, dword [ebp - 0x48]
jae 0x40ee5d
lea eax, [ebp - 0x48]
push eax
push str.failed_downloading__s
push 1
call fcn.00409700
push eax
call fcn.0041a2e0
mov eax, dword [ebp - 0x88]
mov esi, dword [ebp - 0x9c]
add esp, 0x10
cmp eax, edi
jae 0x40ee89
lea esi, [ebp - 0x9c]
push 0x2f
call fcn.004014b0
mov ecx, dword [ebp - 0x9dc]
mov edx, dword [ecx + 0x1c]
add esp, 4
push edi
push eax
push esi
push edx
jmp 0x40fec7
call fcn.004036e0
inc dword [ebp - 0x9e0]
jmp 0x40ecc4
cmp dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x48]
jae 0x40eec0
lea eax, [ebp - 0x48]
push eax
push str.end_downloading__s
push 1
call fcn.00409700
push eax
call fcn.0041a2e0
add esp, 0x10
lea ecx, [ebp - 0xbc]
call fcn.004036e0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x46
call fcn.004036e0
mov eax, dword [ebp - 0x9e4]
add edi, 0x74
inc eax
mov dword [ebp - 0x9e4], eax
jmp 0x40eb30
mov ecx, dword [ebp - 0x9dc]
push 0x49342f
add ecx, 0x13c
call fcn.004827c1
xor eax, eax
mov byte [ebp - 0x3c4], 0
mov ecx, 0x40
lea edi, [ebp - 0x3c3]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x104
lea eax, [ebp - 0x3c4]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x493430
lea ecx, [ebp - 0x68]
call fcn.004050c0
lea ecx, [ebp - 0x3c4]
push ecx
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x63
call fcn.004050c0
lea edx, [ebp - 0x68]
push edx
lea eax, [ebp - 0xf4]
push eax
mov byte [ebp - 4], 0x64
call fcn.00418ae0
add esp, 8
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x63
call fcn.004036e0
mov esi, dword [ebp - 0x9f8]
cmp esi, dword [ebp - 0x9f4]
je 0x40f6ce
lea edi, [esi + 0x1c]
push edi
lea ecx, [ebp - 0x164]
push ecx
lea edx, [ebp - 0xf4]
push edx
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0xa0]
push eax
mov byte [ebp - 4], 0x65
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x67
call fcn.004036e0
push 0x49343c
lea ecx, [ebp - 0x110]
call fcn.004050c0
mov ebx, eax
push 0x493444
lea ecx, [ebp - 0xa34]
mov byte [ebp - 4], 0x68
call fcn.004050c0
push eax
lea ecx, [ebp - 0x164]
push ecx
lea edx, [ebp - 0xa50]
push edx
mov byte [ebp - 4], 0x69
call fcn.00415c80
add esp, 0xc
push edi
push eax
lea eax, [ebp - 0x148]
push eax
mov byte [ebp - 4], 0x6a
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea ecx, [ebp - 0x12c]
push ecx
mov byte [ebp - 4], 0x6b
call fcn.00415c80
add esp, 0xc
push ebx
push eax
lea edx, [ebp - 0x84]
push edx
mov byte [ebp - 4], 0x6c
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0x12c]
call fcn.004036e0
lea ecx, [ebp - 0x148]
call fcn.004036e0
lea ecx, [ebp - 0xa50]
call fcn.004036e0
lea ecx, [ebp - 0xa34]
call fcn.004036e0
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x6e
call fcn.004036e0
push 0x49344c
lea ecx, [ebp - 0xa18]
call fcn.004050c0
push eax
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x4c]
push ecx
mov byte [ebp - 4], 0x73
call fcn.00415c80
add esp, 0xc
push edi
push eax
lea edx, [ebp - 0xd8]
push edx
mov byte [ebp - 4], 0x74
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x75
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0xd8]
call fcn.004036e0
lea ecx, [ebp - 0x4c]
call fcn.004036e0
lea ecx, [ebp - 0xa18]
call fcn.004036e0
xor ebx, ebx
mov edi, 0xf
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0xa8], ebx
mov byte [ebp - 0xb8], bl
lea ecx, [ebp - 0xbc]
push ecx
lea edx, [ebp - 0x30]
push edx
mov byte [ebp - 4], 0x7a
call fcn.00418ae0
mov ecx, dword [ebp - 0x50]
mov eax, 0x10
add esp, 8
cmp ecx, eax
mov ecx, dword [ebp - 0x64]
jae 0x40f148
lea ecx, [ebp - 0x64]
cmp dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xb8]
jae 0x40f15c
lea eax, [ebp - 0xb8]
push ecx
push eax
call fcn.0047c3e5
add esp, 8
test eax, eax
jne 0x40f699
mov eax, dword [ebp - 0x50]
mov esi, 0x10
cmp eax, esi
mov eax, dword [ebp - 0x64]
jae 0x40f180
lea eax, [ebp - 0x64]
push eax
push 0x493454
push 1
call fcn.00409700
push eax
call fcn.0041a2e0
mov eax, dword [ebp - 0x6c]
add esp, 0x10
cmp eax, esi
mov eax, dword [ebp - 0x80]
jae 0x40f1a3
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x5d8]
call fcn.0041e760
cmp dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x2c]
jae 0x40f1ba
lea eax, [ebp - 0x2c]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
push eax
call esi
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x40f1cf
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x5d8]
call fcn.0041e5c0
cmp dword [ebp - 0x6c], 0x10
mov eax, dword [ebp - 0x80]
jae 0x40f1e7
lea eax, [ebp - 0x80]
push eax
call esi
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0xc4], ebx
mov byte [ebp - 0xd4], 0
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0xa0]
push ecx
mov byte [ebp - 4], 0x7b
call fcn.00407bd0
add esp, 8
test al, al
jne 0x40f2cd
push 0x31
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0x12c]
call fcn.004050c0
mov esi, eax
push 0x30
mov byte [ebp - 4], 0x7c
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0xf4]
call fcn.004050c0
lea edx, [ebp - 0xa0]
push edx
push eax
lea eax, [ebp - 0xa18]
push eax
mov byte [ebp - 4], 0x7d
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea ecx, [ebp - 0x148]
push ecx
mov byte [ebp - 4], 0x7e
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0xa18]
call fcn.004036e0
lea ecx, [ebp - 0xf4]
call fcn.004036e0
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x80
call fcn.004036e0
push 0x32
call fcn.004014b0
add esp, 4
push 0x10
push eax
lea ecx, [ebp - 0x148]
call fcn.00402ed0
mov edx, dword [ebp - 0x9dc]
push eax
mov eax, dword [edx + 0x1c]
jmp 0x40fec6
lea ecx, [ebp - 0xd8]
call fcn.00402ed0
push eax
call fcn.00418db0
add esp, 4
test al, al
jne 0x40f398
push 0x34
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0x12c]
call fcn.004050c0
mov esi, eax
push 0x33
mov byte [ebp - 4], 0x83
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0xf4]
call fcn.004050c0
lea ecx, [ebp - 0xd8]
push ecx
push eax
lea edx, [ebp - 0xa18]
push edx
mov byte [ebp - 4], 0x84
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x148]
push eax
mov byte [ebp - 4], 0x85
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0xa18]
call fcn.004036e0
lea ecx, [ebp - 0xf4]
call fcn.004036e0
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x87
call fcn.004036e0
push 0x35
call fcn.004014b0
add esp, 4
push 0x10
push eax
lea ecx, [ebp - 0x148]
call fcn.00402ed0
mov ecx, dword [ebp - 0x9dc]
mov edx, dword [ecx + 0x1c]
push eax
push edx
jmp 0x40fec7
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x7a
call fcn.004036e0
push 0x493468
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x148]
push ecx
call fcn.004098c0
add esp, 0xc
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x8a
call fcn.00402ed0
push eax
lea ecx, [ebp - 0x2a4]
call fcn.00425da0
mov bl, 0x8b
mov byte [ebp - 4], bl
call fcn.004891a0
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x44]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40f3f0
sub eax, edx
mov dword [ebp - 0x9ec], eax
jne 0x40f45b
push 0x49347c
lea ecx, [ebp - 0x12c]
call fcn.004050c0
push 0x493484
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x8c
call fcn.004050c0
lea edx, [ebp - 0x12c]
push edx
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0x8d
call fcn.00425b60
lea ecx, [ebp - 0xf4]
call fcn.004036e0
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], bl
call fcn.004036e0
lea ecx, [ebp - 0x2a4]
call fcn.004255c0
test al, al
jne 0x40f493
push 0x39
call fcn.004014b0
add esp, 4
push 0x38
mov esi, eax
call fcn.004014b0
mov ecx, dword [ebp - 0x9dc]
mov edx, dword [ecx + 0x1c]
add esp, 4
push 0x10
push esi
push eax
push edx
jmp 0x40fec7
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0x8a
call fcn.0041b9e0
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x7a
call fcn.004036e0
push str.begin_launching_UpdateHelper
push 1
call fcn.00409700
push eax
call fcn.0041a2e0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, eax
xor eax, eax
mov byte [ebp - 0x9d8], 0
mov ecx, 0xff
lea edi, [ebp - 0x9d7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [ebp - 0xa0]
stosb byte es:[edi], al
call fcn.00402ed0
push eax
lea ecx, [ebp - 0x30]
call fcn.00402ed0
push eax
push esi
lea eax, [ebp - 0x9d8]
push str.__ProcessID:_d__NewFilePath:__s___OldFilePath:__s_
push eax
call fcn.0046d10a
add esp, 0x14
xor eax, eax
mov ecx, 0x11
lea edi, [ebp - 0x2c0]
rep stosd dword es:[edi], eax
xor ecx, ecx
mov dword [ebp - 0x40], ecx
lea edx, [ebp - 0x40]
push edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
lea eax, [ebp - 0x2c0]
push eax
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x9d8]
push ecx
push str.UpdaterHelper.exe
mov dword [ebp - 0x2c0], 0x44
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x40f62f
push 0x3b
call fcn.004014b0
add esp, 4
push 0x3a
mov esi, eax
call fcn.004014b0
mov edx, dword [ebp - 0x9dc]
add esp, 4
push 0x10
push esi
push eax
mov eax, dword [edx + 0x1c]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 1
push 2
lea ecx, [ebp - 0xb68]
call fcn.00415a50
push 0x3c
mov byte [ebp - 4], 0x8e
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0xb68]
push ecx
call fcn.00414b10
add esp, 8
push 0x493518
push eax
call fcn.00414b10
add esp, 8
push 0x263
mov ecx, eax
call fcn.00415570
push 0x4934f8
push eax
call fcn.00414b10
add esp, 8
lea edx, [ebp - 0xa18]
push edx
lea ecx, [ebp - 0xb68]
call fcn.00418fd0
mov ecx, eax
mov byte [ebp - 4], 0x8f
call fcn.00402ed0
push eax
push 0
call fcn.00409700
push eax
call fcn.0041a2e0
add esp, 0xc
lea ecx, [ebp - 0xa18]
call fcn.004036e0
lea ecx, [ebp - 0xb68]
mov byte [ebp - 4], 0x7a
call fcn.00414920
jmp 0x40fecd
mov eax, dword [ebp - 0x40]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call esi
mov ecx, dword [ebp - 0x3c]
push ecx
call esi
push str.end_launching_UpdateHelper
push 1
call fcn.00409700
push eax
call fcn.0041a2e0
add esp, 0xc
lea ecx, [ebp - 0x68]
call fcn.00402ed0
push eax
push 0x493584
push 1
call fcn.00409700
push eax
call fcn.0041a2e0
add esp, 0x10
lea ecx, [ebp - 0x68]
call fcn.00402ed0
push eax
push str.quit__s
push 1
call fcn.00409700
push eax
call fcn.0041a2e0
add esp, 0x10
push 0
jmp 0x40fecf
lea ecx, [ebp - 0xbc]
call fcn.004036e0
lea ecx, [ebp - 0x30]
call fcn.004036e0
lea ecx, [ebp - 0x84]
call fcn.004036e0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x63
call fcn.004036e0
add esi, 0x74
jmp 0x40ef94
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x46
call fcn.004036e0
mov ebx, dword [ebp - 0x9f8]
cmp ebx, dword [ebp - 0x9f4]
je 0x40fdee
lea edi, [ebx + 0x1c]
push edi
lea edx, [ebp - 0x164]
push edx
lea eax, [ebp - 0x110]
push eax
call fcn.00415c80
add esp, 0xc
push ebx
push eax
lea ecx, [ebp - 0x68]
push ecx
mov byte [ebp - 4], 0x90
call fcn.00415c80
add esp, 0xc
cmp dword [ebp - 0xf8], 0x10
mov byte [ebp - 4], 0x92
jb 0x40f734
mov edx, dword [ebp - 0x10c]
push edx
call fcn.004826a1
add esp, 4
push 0x49359c
lea ecx, [ebp - 0xa50]
mov dword [ebp - 0xf8], 0xf
mov dword [ebp - 0xfc], 0
mov byte [ebp - 0x10c], 0
call fcn.004050c0
mov esi, eax
push 0x4935a4
lea ecx, [ebp - 0xa34]
mov byte [ebp - 4], 0x93
call fcn.004050c0
push eax
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x84]
push ecx
mov byte [ebp - 4], 0x94
call fcn.00415c80
add esp, 0xc
push edi
push eax
lea edx, [ebp - 0xbc]
push edx
mov byte [ebp - 4], 0x95
call fcn.00415c80
add esp, 0xc
push ebx
push eax
lea eax, [ebp - 0xd8]
push eax
mov byte [ebp - 4], 0x96
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea ecx, [ebp - 0x30]
push ecx
mov byte [ebp - 4], 0x97
call fcn.00415c80
add esp, 0xc
cmp dword [ebp - 0xc0], 0x10
jb 0x40f7e4
mov edx, dword [ebp - 0xd4]
push edx
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0xa4], 0x10
mov esi, 0xf
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xc4], 0
mov byte [ebp - 0xd4], 0
jb 0x40f818
mov eax, dword [ebp - 0xb8]
push eax
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x6c], 0x10
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa8], 0
mov byte [ebp - 0xb8], 0
jb 0x40f841
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0xa1c], 0x10
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x70], 0
mov byte [ebp - 0x80], 0
jb 0x40f867
mov edx, dword [ebp - 0xa30]
push edx
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0xa38], 0x10
mov dword [ebp - 0xa1c], esi
mov dword [ebp - 0xa20], 0
mov byte [ebp - 0xa30], 0
mov byte [ebp - 4], 0x99
jb 0x40f89a
mov eax, dword [ebp - 0xa4c]
push eax
call fcn.004826a1
add esp, 4
push 0x4935ac
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa38], esi
mov dword [ebp - 0xa3c], 0
mov byte [ebp - 0xa4c], 0
call fcn.004050c0
push eax
lea ecx, [ebp - 0x164]
push ecx
lea edx, [ebp - 0x12c]
push edx
mov byte [ebp - 4], 0x9e
call fcn.00415c80
add esp, 0xc
push edi
push eax
lea eax, [ebp - 0x148]
push eax
mov byte [ebp - 4], 0x9f
call fcn.00415c80
add esp, 0xc
push ebx
push eax
lea ecx, [ebp - 0xf4]
push ecx
mov byte [ebp - 4], 0xa0
call fcn.00415c80
add esp, 0xc
cmp dword [ebp - 0x130], 0x10
jb 0x40f91e
mov edx, dword [ebp - 0x144]
push edx
call fcn.004826a1
add esp, 4
mov eax, dword [ebp - 0x114]
xor edi, edi
cmp eax, 0x10
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x134], edi
mov byte [ebp - 0x144], 0
jb 0x40f94d
mov eax, dword [ebp - 0x128]
push eax
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x88], 0x10
mov dword [ebp - 0x114], esi
mov dword [ebp - 0x118], edi
mov byte [ebp - 0x128], 0
jb 0x40f978
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.004826a1
add esp, 4
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], edi
mov byte [ebp - 0x9c], 0
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], edi
mov byte [ebp - 0x48], 0
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0xf4]
push eax
mov byte [ebp - 4], 0xa5
call fcn.00418ae0
mov eax, dword [ebp - 0x34]
add esp, 8
cmp eax, 0x10
mov eax, dword [ebp - 0x48]
jae 0x40f9ba
lea eax, [ebp - 0x48]
push 0x4935b4
push eax
call fcn.0047c3e5
add esp, 8
test eax, eax
jne 0x40fe29
cmp dword [ebp - 0x34], 0x10
mov eax, dword [ebp - 0x48]
jae 0x40f9dc
lea eax, [ebp - 0x48]
push eax
push 0x4935c4
push 1
call fcn.00409700
push eax
call fcn.0041a2e0
mov eax, dword [ebp - 0x50]
add esp, 0x10
cmp eax, 0x10
mov eax, dword [ebp - 0x64]
jae 0x40fa00
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x40fb7b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x40fb7b
cmp eax, 3
je 0x40fb7b
push 1
push 2
lea ecx, [ebp - 0xb68]
call fcn.00415a50
push 0x3d
mov byte [ebp - 4], 0xa6
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0xb68]
push ecx
call fcn.00414b10
add esp, 8
push 0x4935f8
push eax
call fcn.00414b10
add esp, 8
push 0x28d
mov ecx, eax
call fcn.00415570
push 0x4935d8
push eax
call fcn.00414b10
add esp, 8
lea edx, [ebp - 0xa18]
push edx
lea ecx, [ebp - 0xb68]
call fcn.00418fd0
mov esi, eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xa7
call fcn.00402ed0
push eax
mov ecx, esi
call fcn.00402ed0
push eax
push 0
call fcn.00409700
push eax
call fcn.0041a2e0
add esp, 0x10
lea ecx, [ebp - 0xa18]
call fcn.004036e0
lea ecx, [ebp - 0xb68]
mov byte [ebp - 4], 0xa5
call fcn.00414920
push 0x3f
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0x12c]
call fcn.004050c0
mov esi, eax
push 0x3e
mov byte [ebp - 4], 0xa8
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0xa0]
call fcn.004050c0
lea ecx, [ebp - 0x68]
push ecx
push eax
lea edx, [ebp - 0xa18]
push edx
mov byte [ebp - 4], 0xa9
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x148]
push eax
mov byte [ebp - 4], 0xaa
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0xa18]
call fcn.004036e0
lea ecx, [ebp - 0xa0]
call fcn.004036e0
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0xac
call fcn.004036e0
push 0x40
call fcn.004014b0
add esp, 4
push 0x10
push eax
lea ecx, [ebp - 0x148]
call fcn.00402ed0
mov ecx, dword [ebp - 0x9dc]
mov edx, dword [ecx + 0x1c]
push eax
push edx
jmp 0x40fec7
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x40fb87
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x5d8]
call fcn.0041e760
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa8], edi
mov byte [ebp - 0xb8], 0
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x68]
push ecx
mov byte [ebp - 4], 0xaf
call fcn.00407bd0
add esp, 8
test al, al
jne 0x40fc7a
push 0x42
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0x148]
call fcn.004050c0
mov esi, eax
push 0x41
mov byte [ebp - 4], 0xb0
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0x12c]
call fcn.004050c0
lea edx, [ebp - 0x68]
push edx
push eax
lea eax, [ebp - 0xa18]
push eax
mov byte [ebp - 4], 0xb1
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea ecx, [ebp - 0xa0]
push ecx
mov byte [ebp - 4], 0xb2
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0xa18]
call fcn.004036e0
lea ecx, [ebp - 0x12c]
call fcn.004036e0
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0xb4
call fcn.004036e0
cmp dword [ebp - 0x88], 0x10
mov esi, dword [ebp - 0x9c]
jae 0x40fc5e
lea esi, [ebp - 0x9c]
push 0x43
call fcn.004014b0
mov edx, dword [ebp - 0x9dc]
add esp, 4
push 0x10
push eax
mov eax, dword [edx + 0x1c]
push esi
jmp 0x40fec6
mov eax, dword [ebp - 0xa4]
mov esi, 0x10
cmp eax, esi
mov eax, dword [ebp - 0xb8]
jae 0x40fc95
lea eax, [ebp - 0xb8]
push eax
call fcn.00418db0
add esp, 4
test al, al
jne 0x40fd5f
push 0x45
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0x148]
call fcn.004050c0
mov esi, eax
push 0x44
mov byte [ebp - 4], 0xb7
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0x12c]
call fcn.004050c0
lea ecx, [ebp - 0xbc]
push ecx
push eax
lea edx, [ebp - 0xa18]
push edx
mov byte [ebp - 4], 0xb8
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0xa0]
push eax
mov byte [ebp - 4], 0xb9
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0xa18]
call fcn.004036e0
lea ecx, [ebp - 0x12c]
call fcn.004036e0
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0xbb
call fcn.004036e0
cmp dword [ebp - 0x88], 0x10
mov esi, dword [ebp - 0x9c]
jae 0x40fd42
lea esi, [ebp - 0x9c]
push 0x46
call fcn.004014b0
mov ecx, dword [ebp - 0x9dc]
mov edx, dword [ecx + 0x1c]
add esp, 4
push 0x10
push eax
push esi
push edx
jmp 0x40fec7
cmp dword [ebp - 0x50], esi
mov eax, dword [ebp - 0x64]
jae 0x40fd6a
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x5d8]
call fcn.0041e5c0
cmp dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x2c]
jae 0x40fd81
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push ebx
lea eax, [ebp - 0x9ec]
push eax
lea ecx, [ebp - 0x9fc]
call fcn.0041b4a0
cmp dword [ebp - 0x34], esi
mov eax, dword [ebp - 0x48]
jae 0x40fda6
lea eax, [ebp - 0x48]
push eax
push 0x493648
push 1
call fcn.00409700
push eax
call fcn.0041a2e0
add esp, 0x10
lea ecx, [ebp - 0xbc]
call fcn.004036e0
lea ecx, [ebp - 0x4c]
call fcn.004036e0
lea ecx, [ebp - 0xf4]
call fcn.004036e0
lea ecx, [ebp - 0x30]
call fcn.004036e0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x46
call fcn.004036e0
push 0x493658
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
mov ebx, dword [ebp - 0x9dc]
mov dword [ebx + 0x74], eax
jne 0x40fe58
push 0x48
call fcn.004014b0
add esp, 4
push 0x47
mov esi, eax
call fcn.004014b0
mov ecx, dword [ebx + 0x1c]
add esp, 4
push 0
push esi
push eax
push ecx
jmp 0x40fec7
lea ecx, [ebp - 0x4c]
call fcn.004036e0
lea ecx, [ebp - 0xf4]
call fcn.004036e0
lea ecx, [ebp - 0x30]
call fcn.004036e0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x46
call fcn.004036e0
add ebx, 0x74
jmp 0x40f6e0
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x493668
push eax
call esi
test eax, eax
mov dword [ebp - 0xa54], eax
jne 0x40fe8a
mov edx, dword [ebx + 0x74]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0x4a
call fcn.004014b0
add esp, 4
mov esi, eax
push 0x49
jmp 0x40feb7
mov ecx, dword [ebx + 0x74]
push 0x493674
push ecx
call esi
test eax, eax
mov dword [ebp - 0x9ec], eax
jne 0x40fed4
mov edx, dword [ebx + 0x74]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0x4c
call fcn.004014b0
add esp, 4
mov esi, eax
push 0x4b
call fcn.004014b0
add esp, 4
push 0
push esi
push eax
mov eax, dword [ebx + 0x1c]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0xffffffffffffffff
call fcn.0046d2e9
mov ecx, dword [ebp - 0x9f8]
mov dword [ebp - 0x9e4], 1
mov eax, dword [ebp - 0x9f4]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov edx, ecx
cmp edx, eax
mov dword [ebp - 0x9e0], ecx
mov edi, 0x10
je 0x41065e
mov al, byte [ebx + 0x3a0]
test al, al
jne 0x41097b
mov esi, ecx
lea edi, [esi + 0x1c]
push edi
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xa18]
push ecx
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea edx, [ebp - 0x4c]
push edx
mov byte [ebp - 4], 0xbe
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0xa18]
mov byte [ebp - 4], 0xc0
call fcn.004036e0
push 0x493684
lea ecx, [ebp - 0xa50]
call fcn.004050c0
mov esi, eax
push 0x49368c
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0xc1
call fcn.004050c0
push eax
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x12c]
push ecx
mov byte [ebp - 4], 0xc2
call fcn.00415c80
add esp, 0xc
push edi
push eax
lea edx, [ebp - 0xa0]
push edx
mov byte [ebp - 4], 0xc3
call fcn.00415c80
add esp, 0xc
mov ecx, dword [ebp - 0x9e0]
push ecx
push eax
lea edx, [ebp - 0xf4]
push edx
mov byte [ebp - 4], 0xc4
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0xc5
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0xf4]
call fcn.004036e0
lea ecx, [ebp - 0xa0]
call fcn.004036e0
lea ecx, [ebp - 0x12c]
call fcn.004036e0
lea ecx, [ebp - 0x148]
call fcn.004036e0
mov byte [ebp - 4], 0xc7
lea ecx, [ebp - 0xa50]
call fcn.004036e0
push 0x493694
lea ecx, [ebp - 0x298]
call fcn.004050c0
push eax
lea ecx, [ebp - 0x164]
push ecx
lea edx, [ebp - 0xac4]
push edx
mov byte [ebp - 4], 0xcc
call fcn.00415c80
add esp, 0xc
push edi
push eax
lea eax, [ebp - 0xa34]
push eax
mov byte [ebp - 4], 0xcd
call fcn.00415c80
add esp, 0xc
mov ecx, dword [ebp - 0x9e0]
push ecx
push eax
lea edx, [ebp - 0x68]
push edx
mov byte [ebp - 4], 0xce
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0xa34]
call fcn.004036e0
lea ecx, [ebp - 0xac4]
call fcn.004036e0
lea ecx, [ebp - 0x298]
call fcn.004036e0
xor eax, eax
mov esi, 0xf
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xc4], eax
mov byte [ebp - 0xd4], al
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x70], eax
mov byte [ebp - 0x80], al
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x68]
push ecx
mov byte [ebp - 4], 0xd4
call fcn.00418ae0
add esp, 8
lea edx, [ebp - 0x84]
push edx
lea eax, [ebp - 0x68]
push eax
call fcn.00418b80
mov eax, dword [ebp - 0x34]
add esp, 8
cmp eax, 0x10
mov eax, dword [ebp - 0x48]
jae 0x4100e1
lea eax, [ebp - 0x48]
push eax
push 0x49369c
push 1
call fcn.00409700
push eax
call fcn.0041a2e0
mov eax, dword [ebp - 0x6c]
add esp, 0x10
cmp eax, 0x10
mov eax, dword [ebp - 0x80]
jae 0x410105
lea eax, [ebp - 0x80]
push 0x4936b0
push eax
call fcn.0047c3e5
add esp, 8
test eax, eax
je 0x4104bc
cmp dword [ebp - 0x6c], 0x10
mov eax, dword [ebp - 0x80]
jae 0x410127
lea eax, [ebp - 0x80]
push 0x4936b4
push eax
call fcn.0047c3e5
add esp, 8
test eax, eax
je 0x4104bc
mov eax, dword [ebp - 0x34]
mov edi, 0x10
cmp eax, edi
mov eax, dword [ebp - 0x48]
jae 0x41014f
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x4102cc
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x4102cc
cmp eax, 3
je 0x4102cc
push 1
push 2
lea ecx, [ebp - 0xb68]
call fcn.00415a50
push 0x4d
mov byte [ebp - 4], 0xd6
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0xb68]
push ecx
call fcn.00414b10
add esp, 8
push 0x4936d8
push eax
call fcn.00414b10
add esp, 8
push 0x2f3
mov ecx, eax
call fcn.00415570
push str.__funcCUpdateDlg::DoUpdate_
push eax
call fcn.00414b10
add esp, 8
lea edx, [ebp - 0x298]
push edx
lea ecx, [ebp - 0xb68]
call fcn.00418fd0
mov esi, eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xd7
call fcn.00402ed0
push eax
mov ecx, esi
call fcn.00402ed0
push eax
push 0
call fcn.00409700
push eax
call fcn.0041a2e0
add esp, 0x10
lea ecx, [ebp - 0x298]
call fcn.004036e0
lea ecx, [ebp - 0xb68]
mov byte [ebp - 4], 0xd4
call fcn.00414920
push 0x4f
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0xa18]
call fcn.004050c0
mov esi, eax
push 0x4e
mov byte [ebp - 4], 0xd8
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0xac4]
call fcn.004050c0
lea ecx, [ebp - 0x4c]
push ecx
push eax
lea edx, [ebp - 0x298]
push edx
mov byte [ebp - 4], 0xd9
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0xf4]
push eax
mov byte [ebp - 4], 0xda
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0x298]
call fcn.004036e0
lea ecx, [ebp - 0xac4]
call fcn.004036e0
lea ecx, [ebp - 0xa18]
mov byte [ebp - 4], 0xdc
call fcn.004036e0
push 0x50
call fcn.004014b0
add esp, 4
push 0x10
push eax
lea ecx, [ebp - 0xf4]
call fcn.00402ed0
mov ecx, dword [ebx + 0x1c]
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0xffffffffffffffff
call fcn.0046d2e9
cmp dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x2c]
jae 0x4102d7
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x5d8]
call fcn.0041e760
mov dword [ebp - 0xf8], esi
mov dword [ebp - 0xfc], 0
mov byte [ebp - 0x10c], 0
lea edx, [ebp - 0x110]
push edx
lea eax, [ebp - 0x4c]
push eax
mov byte [ebp - 4], 0xdf
call fcn.00407bd0
add esp, 8
test al, al
jne 0x4103c7
push 0x52
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0xa18]
call fcn.004050c0
mov esi, eax
push 0x51
mov byte [ebp - 4], 0xe0
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0xac4]
call fcn.004050c0
lea ecx, [ebp - 0x4c]
push ecx
push eax
lea edx, [ebp - 0x298]
push edx
mov byte [ebp - 4], 0xe1
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0xf4]
push eax
mov byte [ebp - 4], 0xe2
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0x298]
call fcn.004036e0
lea ecx, [ebp - 0xac4]
call fcn.004036e0
lea ecx, [ebp - 0xa18]
mov byte [ebp - 4], 0xe4
call fcn.004036e0
push 0x53
call fcn.004014b0
add esp, 4
push 0x10
push eax
lea ecx, [ebp - 0xf4]
call fcn.00402ed0
mov ecx, dword [ebx + 0x1c]
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0xffffffffffffffff
call fcn.0046d2e9
lea ecx, [ebp - 0x110]
call fcn.00402ed0
push eax
call fcn.00418db0
add esp, 4
test al, al
jne 0x410494
push 0x55
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0xa18]
call fcn.004050c0
mov esi, eax
push 0x54
mov byte [ebp - 4], 0xe7
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebp - 0xac4]
call fcn.004050c0
lea edx, [ebp - 0x110]
push edx
push eax
lea eax, [ebp - 0x298]
push eax
mov byte [ebp - 4], 0xe8
call fcn.00415c80
add esp, 0xc
push esi
push eax
lea ecx, [ebp - 0xf4]
push ecx
mov byte [ebp - 4], 0xe9
call fcn.00415c80
add esp, 0xc
lea ecx, [ebp - 0x298]
call fcn.004036e0
lea ecx, [ebp - 0xac4]
call fcn.004036e0
lea ecx, [ebp - 0xa18]
mov byte [ebp - 4], 0xeb
call fcn.004036e0
push 0x56
call fcn.004014b0
add esp, 4
push 0x10
push eax
lea ecx, [ebp - 0xf4]
call fcn.00402ed0
mov edx, dword [ebx + 0x1c]
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0xffffffffffffffff
call fcn.0046d2e9
lea ecx, [ebp - 0x4c]
call fcn.00402ed0
push eax
lea ecx, [ebp - 0x5d8]
call fcn.0041e5c0
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0xd4
call fcn.004036e0
jmp 0x41058d
mov eax, dword [ebp - 0x18]
mov esi, 0x10
cmp eax, esi
mov eax, dword [ebp - 0x2c]
jae 0x4104ce
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x3cc]
call fcn.0041e760
cmp dword [ebp - 0x50], esi
mov eax, dword [ebp - 0x64]
jae 0x4104e5
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [ebp - 0x50], esi
mov eax, dword [ebp - 0x64]
jae 0x4104f7
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x3cc]
call fcn.0041e5c0
push edi
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xbc]
push ecx
call fcn.00415c80
add esp, 0xc
cmp dword [ebp - 0xa4], esi
mov ecx, dword [ebp - 0xb8]
mov byte [ebp - 4], 0xd5
jae 0x410532
lea ecx, [ebp - 0xb8]
mov eax, dword [ebp - 0xa8]
cmp byte [eax + ecx - 1], 0x5c
jne 0x41054f
dec eax
push eax
lea ecx, [ebp - 0xbc]
call fcn.00402eb0
mov byte [eax], 0
cmp dword [ebp - 0xa4], esi
mov ecx, dword [ebp - 0xb8]
jae 0x410563
lea ecx, [ebp - 0xb8]
cmp dword [ebp - 0x50], esi
mov eax, dword [ebp - 0x64]
jae 0x41056e
lea eax, [ebp - 0x64]
push ecx
push eax
call dword [ebp - 0xa54]
add esp, 8
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0xd4
call fcn.004036e0
mov edi, 0x10
cmp dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x2c]
jae 0x410598
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edx, dword [ebp - 0x9e4]
mov eax, dword [ebx + 0x248]
push 0
push edx
push 0x402
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [ebp - 0xc0], edi
mov eax, dword [ebp - 0xd4]
jae 0x4105ce
lea eax, [ebp - 0xd4]
mov ecx, dword [0x4ae1a0]
push ecx
push eax
call fcn.0047c3e5
add esp, 8
test eax, eax
jne 0x4105f0
mov byte [ebx + 0x3b8], 1
mov byte [ebx + 0x3b9], 1
cmp dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x48]
jae 0x4105fb
lea eax, [ebp - 0x48]
push eax
push 0x493728
push 1
call fcn.00409700
push eax
call fcn.0041a2e0
add esp, 0x10
lea ecx, [ebp - 0x84]
call fcn.004036e0
lea ecx, [ebp - 0xd8]
call fcn.004036e0
lea ecx, [ebp - 0x68]
call fcn.004036e0
lea ecx, [ebp - 0x30]
call fcn.004036e0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x46
call fcn.004036e0
mov ecx, dword [ebp - 0x9e0]
mov eax, dword [ebp - 0x9e4]
add ecx, 0x74
inc eax
mov dword [ebp - 0x9e4], eax
jmp 0x40fee4
call dword [ebp - 0x9ec]
mov edx, dword [0x4ae1a4]
push edx
lea ecx, [ebp - 0xf4]
call fcn.004050c0
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0xf4]
push ecx
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0xee
call fcn.00425b60
cmp dword [ebp - 0xdc], edi
mov byte [ebp - 4], 0x46
jb 0x4106ae
mov edx, dword [ebp - 0xf0]
push edx
call fcn.004826a1
add esp, 4
lea ecx, [ebp - 0x250]
call fcn.004255c0
cmp dword [ebp - 0x168], edi
mov eax, dword [ebp - 0x17c]
jae 0x4106cd
lea eax, [ebp - 0x17c]
push eax
lea ecx, [ebx + 0x3c0]
call fcn.004827c1
mov eax, dword [ebx + 0x1f8]
push 0
push 0
push 0x402
push eax
mov byte [ebx + 0x3a1], 0
call esi
mov ecx, dword [ebx + 0x248]
push 0
push 0
push 0x402
push ecx
call esi
mov al, byte [ebx + 0x3b8]
test al, al
je 0x410942
mov ecx, ebx
call fcn.0040d010
test al, al
jne 0x410747
push 0x58
call fcn.004014b0
add esp, 4
push 0x57
mov esi, eax
call fcn.004014b0
mov edx, dword [ebx + 0x1c]
add esp, 4
push edi
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0xffffffffffffffff
call fcn.0046d2e9
mov eax, dword [ebx + 0x338]
push 0
push 0
push 0x303
push eax
call esi
mov eax, dword [ebx + 0x370]
mov eax, dword [eax]
mov dword [ebp - 0x9e4], eax
cmp eax, dword [ebx + 0x370]
je 0x4107a0
cmp dword [eax + 0x24], edi
jb 0x410779
mov eax, dword [eax + 0x10]
jmp 0x41077c
add eax, 0x10
mov ecx, dword [ebx + 0x338]
push eax
push 0
push 0x143
push ecx
call esi
lea ecx, [ebp - 0x9e4]
call fcn.00409440
mov eax, dword [ebp - 0x9e4]
jmp 0x410767
mov ecx, ebx
call fcn.00410a90
lea ecx, [ebp - 0x9fc]
call fcn.0041af90
lea ecx, [ebp - 0x27c]
call fcn.0041b620
cmp dword [ebp - 0x184], edi
jb 0x4107d4
mov edx, dword [ebp - 0x198]
push edx
call fcn.004826a1
add esp, 4
mov eax, dword [ebp - 0x1d8]
xor esi, esi
cmp eax, edi
mov ebx, 0xf
mov dword [ebp - 0x184], ebx
mov dword [ebp - 0x188], esi
mov byte [ebp - 0x198], 0
jb 0x410807
mov eax, dword [ebp - 0x1ec]
push eax
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x1bc], edi
mov dword [ebp - 0x1d8], ebx
mov dword [ebp - 0x1dc], esi
mov byte [ebp - 0x1ec], 0
jb 0x410831
mov ecx, dword [ebp - 0x1d0]
push ecx
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x168], edi
mov dword [ebp - 0x1bc], ebx
mov dword [ebp - 0x1c0], esi
mov byte [ebp - 0x1d0], 0
jb 0x41085b
mov edx, dword [ebp - 0x17c]
push edx
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x1f4], edi
mov dword [ebp - 0x168], ebx
mov dword [ebp - 0x16c], esi
mov byte [ebp - 0x17c], 0
jb 0x410885
mov eax, dword [ebp - 0x208]
push eax
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x1a0], edi
mov dword [ebp - 0x1f4], ebx
mov dword [ebp - 0x1f8], esi
mov byte [ebp - 0x208], 0
jb 0x4108af
mov ecx, dword [ebp - 0x1b4]
push ecx
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x14c], edi
mov dword [ebp - 0x1a0], ebx
mov dword [ebp - 0x1a4], esi
mov byte [ebp - 0x1b4], 0
jb 0x4108d9
mov edx, dword [ebp - 0x160]
push edx
call fcn.004826a1
add esp, 4
mov esi, dword [ebp - 0x9e8]
xor ebx, ebx
cmp esi, ebx
mov dword [ebp - 0x14c], 0xf
mov dword [ebp - 0x150], ebx
mov byte [ebp - 0x160], bl
mov byte [ebp - 4], 0xd
je 0x41090f
mov ecx, esi
call fcn.00423c80
push esi
call fcn.004826a1
add esp, 4
cmp dword [ebp - 0x210], edi
jb 0x410926
mov eax, dword [ebp - 0x224]
push eax
call fcn.004826a1
add esp, 4
mov dword [ebp - 0x210], 0xf
mov dword [ebp - 0x214], ebx
mov byte [ebp - 0x224], 0
jmp 0x410a07
push 0x59
call fcn.004014b0
add esp, 4
push eax
lea ecx, [ebx + 0x4b0]
call fcn.004827c1
lea esi, [ebx + 0x460]
push 1
mov ecx, esi
call fcn.00482877
mov ecx, esi
call fcn.00482898
push 0
lea ecx, [ebx + 0x31c]
call fcn.00482877
lea ecx, [ebp - 0x9fc]
call fcn.0041af90
lea ecx, [ebp - 0x27c]
call fcn.0041b620
lea ecx, [ebp - 0x19c]
call fcn.004036e0
lea ecx, [ebp - 0x1f0]
call fcn.004036e0
lea ecx, [ebp - 0x1d4]
call fcn.004036e0
lea ecx, [ebp - 0x180]
call fcn.004036e0
lea ecx, [ebp - 0x20c]
call fcn.004036e0
lea ecx, [ebp - 0x1b8]
call fcn.004036e0
lea ecx, [ebp - 0x164]
call fcn.004036e0
mov esi, dword [ebp - 0x9e8]
test esi, esi
mov byte [ebp - 4], 0xd
je 0x4109fc
mov ecx, esi
call fcn.00423c80
push esi
call fcn.004826a1
add esp, 4
lea ecx, [ebp - 0x228]
call fcn.004036e0
lea ecx, [ebp - 0x250]
mov dword [ebp - 4], 0xffffffff
call fcn.0041b9e0
xor eax, eax
jmp 0x40db3f