Function at 0x4045b0
Capabilities:
Delete file
Download url
Receive data
Resolve function by parsing pe exports
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x4bbafd
mov eax, dword fs:[0]
push eax
sub esp, 0x540
mov eax, dword [0x4fcc8c]
xor eax, esp
mov dword [esp + 0x538], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4fcc8c]
xor eax, esp
push eax
lea eax, [esp + 0x554]
mov dword fs:[0], eax
mov eax, dword [esp + 0x564]
mov ebx, ecx
lea ecx, [esp + 0x44]
xor esi, esi
push ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], esi
call fcn.004076e0
mov dword [esp + 0x55c], esi
mov edi, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
mov ecx, edi
sub ecx, esi
mov eax, 0xa0a0a0a1
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4050b7
cmp esi, edi
jbe 0x40463f
call fcn.004921da
mov ebp, dword [ebx]
mov edi, esi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], edi
jmp 0x404650
mov esi, dword [ebx + 0x10]
cmp dword [ebx + 0xc], esi
jbe 0x40465d
call fcn.004921da
mov eax, dword [ebx]
xor ebx, ebx
cmp ebp, ebx
je 0x404669
cmp ebp, eax
je 0x40466e
call fcn.004921da
cmp edi, esi
je 0x4050b7
mov esi, 7
xor ecx, ecx
mov dword [esp + 0x100], esi
mov dword [esp + 0xfc], ebx
mov word [esp + 0xec], cx
mov byte [esp + 0x55c], 1
cmp ebp, ebx
jne 0x404736
call fcn.004921da
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4046b4
call fcn.004921da
push 0xffffffffffffffff
xor edx, edx
lea eax, [edi + 0x78]
push ebx
lea ecx, [esp + 0x9c]
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb0], ebx
mov word [esp + 0xa0], dx
call fcn.00401370
mov byte [esp + 0x55c], 2
mov eax, dword [esp + 0xa8]
cmp eax, ebx
jne 0x40473e
mov edi, 8
cmp dword [esp + 0xac], edi
jb 0x40470f
mov eax, dword [esp + 0x98]
push eax
call fcn.004913b3
add esp, 4
xor ecx, ecx
mov byte [esp + 0x55c], cl
cmp dword [esp + 0x100], edi
mov dword [esp + 0xac], esi
mov dword [esp + 0xa8], 0
jmp 0x405053
mov eax, dword [ebp]
jmp 0x4046aa
lea esi, [eax - 1]
cmp esi, eax
jbe 0x40474a
call fcn.004921da
cmp dword [esp + 0xac], 8
mov eax, dword [esp + 0x98]
jae 0x404762
lea eax, [esp + 0x98]
cmp word [eax + esi*2], 0x5c
je 0x40477c
push 1
mov eax, 0x4e6d3c
lea ecx, [esp + 0x98]
call fcn.004017a0
lea eax, [esp + 0x94]
push eax
mov ebx, str.UpdateFile
lea esi, [esp + 0xd0]
call fcn.004016b0
add esp, 4
push eax
mov ebx, 0x4e6d3c
lea esi, [esp + 0xb4]
mov byte [esp + 0x560], 3
call fcn.004016b0
add esp, 4
mov esi, eax
xor ebx, ebx
mov byte [esp + 0x55c], 4
cmp ebp, ebx
jne 0x40494d
call fcn.004921da
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4047da
call fcn.004921da
mov ecx, dword [esp + 0x24]
push ecx
push esi
lea edi, [esp + 0x64]
call fcn.0040c030
add esp, 8
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0xf0]
mov byte [esp + 0x564], 5
call fcn.00401370
mov esi, 8
cmp dword [esp + 0x74], esi
jb 0x40481b
mov edx, dword [esp + 0x60]
push edx
call fcn.004913b3
add esp, 4
xor eax, eax
mov edi, 7
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], ebx
mov word [esp + 0x60], ax
cmp dword [esp + 0xc8], esi
jb 0x404848
mov ecx, dword [esp + 0xb4]
push ecx
call fcn.004913b3
add esp, 4
xor edx, edx
mov byte [esp + 0x55c], 2
mov dword [esp + 0xc8], edi
mov dword [esp + 0xc4], ebx
mov word [esp + 0xb4], dx
cmp dword [esp + 0xe4], esi
jb 0x404881
mov eax, dword [esp + 0xd0]
push eax
call fcn.004913b3
add esp, 4
cmp ebp, ebx
jne 0x404955
call fcn.004921da
xor eax, eax
mov ecx, dword [esp + 0x24]
cmp ecx, dword [eax + 0x10]
jb 0x40489e
call fcn.004921da
mov edx, dword [esp + 0x24]
push edx
lea eax, [esp + 0x98]
push eax
lea edi, [esp + 0x64]
call fcn.0040c030
add esp, 8
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x9c]
mov byte [esp + 0x564], 6
call fcn.00401370
mov byte [esp + 0x55c], 2
cmp dword [esp + 0x74], esi
jb 0x4048e9
mov ecx, dword [esp + 0x60]
push ecx
call fcn.004913b3
add esp, 4
mov eax, dword [esp + 0x98]
cmp dword [esp + 0xac], esi
jae 0x404900
lea eax, [esp + 0x98]
push ebx
push eax
call fcn.00491dcd
add esp, 8
test eax, eax
je 0x404a84
mov esi, 7
xor edx, edx
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe0], ebx
mov word [esp + 0xd0], dx
mov byte [esp + 0x55c], 7
cmp dword [0x5046b4], ebx
je 0x40495d
lea ecx, [esp + 0xcc]
call fcn.0042e2f0
jmp 0x40496f
mov eax, dword [ebp]
jmp 0x4047d0
mov eax, dword [ebp]
jmp 0x404890
lea eax, [esp + 0xcc]
push 0x1a
push eax
call fcn.0042e1e0
add esp, 8
xor ecx, ecx
mov dword [esp + 0xc8], esi
mov dword [esp + 0xc4], ebx
mov word [esp + 0xb4], cx
lea edx, [esp + 0xb0]
push 0x23
push edx
mov byte [esp + 0x564], 8
call fcn.0042e1e0
mov ecx, dword [esp + 0xe8]
add esp, 8
cmp ecx, ebx
je 0x404a29
cmp dword [esp + 0xc4], ebx
je 0x404a29
cmp dword [esp + 0xe4], 8
mov eax, dword [esp + 0xd0]
jae 0x4049cd
lea eax, [esp + 0xd0]
push eax
mov ebx, ecx
xor eax, eax
lea edx, [esp + 0x98]
call fcn.00408290
cmp eax, 0xffffffff
je 0x404a27
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x98]
push ecx
lea edx, [esp + 0xd4]
lea ecx, [esp + 0x64]
call fcn.0042eb90
add esp, 8
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x9c]
mov byte [esp + 0x564], 9
call fcn.00401370
lea esi, [esp + 0x5c]
call fcn.0040d2c0
xor ebx, ebx
mov esi, 8
cmp dword [esp + 0xc8], esi
jb 0x404a47
mov edx, dword [esp + 0xb4]
push edx
call fcn.004913b3
add esp, 4
xor eax, eax
mov byte [esp + 0x55c], 2
mov dword [esp + 0xc8], 7
mov dword [esp + 0xc4], ebx
mov word [esp + 0xb4], ax
cmp dword [esp + 0xe4], esi
jb 0x404a84
mov ecx, dword [esp + 0xd0]
push ecx
call fcn.004913b3
add esp, 4
cmp ebp, ebx
jne 0x404ab0
call fcn.004921da
xor eax, eax
mov edx, dword [esp + 0x24]
cmp edx, dword [eax + 0x10]
jb 0x404a9d
call fcn.004921da
mov eax, dword [esp + 0x24]
mov ebp, 8
cmp dword [eax + 0x18], ebp
jb 0x404ab5
mov eax, dword [eax + 4]
jmp 0x404ab8
mov eax, dword [ebp]
jmp 0x404a8f
add eax, 4
xor ecx, ecx
mov word [esp + 0x60], cx
mov edi, 7
mov ecx, eax
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], ebx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x404ad1
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [esp + 0x60]
call fcn.004012c0
lea edx, [esp + 0x120]
push edx
mov ecx, esi
mov byte [esp + 0x560], 0xa
call fcn.0042f570
add esp, 4
mov byte [esp + 0x55c], 0xc
cmp dword [esp + 0x74], ebp
jb 0x404b1f
mov eax, dword [esp + 0x60]
push eax
call fcn.004913b3
add esp, 4
mov eax, dword [esp + 0x134]
xor ecx, ecx
mov dword [esp + 0x74], edi
mov word [esp + 0x60], cx
lea edi, [ecx + 0xe]
push str.authserial.dll
lea ecx, [esp + 0x124]
mov dword [esp + 0x74], ebx
call fcn.00408420
test eax, eax
jne 0x404e2d
mov esi, 7
xor edx, edx
mov dword [esp + 0x11c], esi
mov dword [esp + 0x118], ebx
mov word [esp + 0x108], dx
mov byte [esp + 0x55c], 0xd
cmp dword [0x5046b4], ebx
je 0x404b8c
lea ecx, [esp + 0x104]
call fcn.0042e2f0
jmp 0x404b9e
lea eax, [esp + 0x104]
push 0x1a
push eax
call fcn.0042e1e0
add esp, 8
xor ecx, ecx
mov dword [esp + 0xc8], esi
mov dword [esp + 0xc4], ebx
mov word [esp + 0xb4], cx
lea edx, [esp + 0xb0]
push 0x23
push edx
mov byte [esp + 0x564], 0xe
call fcn.0042e1e0
add esp, 8
cmp dword [esp + 0x118], ebx
je 0x404dd2
cmp dword [esp + 0xc4], ebx
je 0x404dd2
xor eax, eax
push 0xffffffffffffffff
mov word [esp + 0xd4], ax
push ebx
lea eax, [esp + 0x9c]
lea ecx, [esp + 0xd4]
mov dword [esp + 0xec], 7
mov dword [esp + 0xe8], ebx
call fcn.00401370
mov byte [esp + 0x55c], 0xf
cmp dword [esp + 0x11c], 8
mov eax, dword [esp + 0x108]
jae 0x404c3c
lea eax, [esp + 0x108]
mov ebx, dword [esp + 0x118]
push eax
xor eax, eax
lea edx, [esp + 0xd0]
call fcn.00408290
cmp eax, 0xffffffff
je 0x404ca9
lea ecx, [esp + 0xb0]
push ecx
lea edx, [esp + 0x98]
push edx
lea edx, [esp + 0x10c]
lea ecx, [esp + 0x80]
call fcn.0042eb90
add esp, 8
push 0xffffffffffffffff
xor ebx, ebx
push ebx
lea ecx, [esp + 0xd4]
mov byte [esp + 0x564], 0x10
call fcn.00401370
lea esi, [esp + 0x78]
mov byte [esp + 0x55c], 0xf
call fcn.0040d2c0
jmp 0x404cab
xor ebx, ebx
mov eax, dword [esp + 0xd0]
mov edi, 8
cmp dword [esp + 0xe4], edi
jae 0x404cc7
lea eax, [esp + 0xd0]
push ebx
push eax
call fcn.00491dcd
add esp, 8
test eax, eax
jne 0x404db7
lea edx, [esp + 0xcc]
lea esi, [esp + 0x3c]
call fcn.00430570
push str.11.6.20.1
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
call fcn.0042fd20
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
add esp, 4
cmp eax, ebx
jne 0x404d16
cmp edx, ebx
je 0x404db7
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jne 0x404d27
cmp edx, dword [esp + 0x1c]
setbe al
jmp 0x404d2a
setb al
cmp al, bl
je 0x404db7
mov eax, dword [esp + 0x98]
cmp dword [esp + 0xac], edi
jae 0x404d49
lea eax, [esp + 0x98]
push eax
push str.Update_File_Skip_AuthSerail.dll_______s
lea esi, [esp + 0x1c]
mov dword [esp + 0x1c], str.ALCMUpdator::CheckUpdateFileInfo
call fcn.004019a0
add esp, 8
lea esi, [esp + 0xcc]
call fcn.0040d2c0
lea esi, [esp + 0xb0]
call fcn.0040d2c0
lea esi, [esp + 0x104]
call fcn.0040d2c0
lea esi, [esp + 0x120]
call fcn.0040d2c0
lea esi, [esp + 0x94]
call fcn.0040d2c0
lea esi, [esp + 0xe8]
mov byte [esp + 0x55c], bl
call fcn.0040d2c0
jmp 0x40506d
cmp dword [esp + 0xe4], edi
jb 0x404dd0
mov eax, dword [esp + 0xd0]
push eax
call fcn.004913b3
add esp, 4
xor ebx, ebx
mov esi, 8
cmp dword [esp + 0xc8], esi
jb 0x404df0
mov ecx, dword [esp + 0xb4]
push ecx
call fcn.004913b3
add esp, 4
xor edx, edx
mov byte [esp + 0x55c], 0xc
mov dword [esp + 0xc8], 7
mov dword [esp + 0xc4], ebx
mov word [esp + 0xb4], dx
cmp dword [esp + 0x11c], esi
jb 0x404e2d
mov eax, dword [esp + 0x108]
push eax
call fcn.004913b3
add esp, 4
lea edx, [esp + 0x94]
lea esi, [esp + 0x2c]
call fcn.00430570
mov esi, dword [esp + 0x2c]
cmp esi, ebx
jne 0x404e4f
cmp dword [esp + 0x30], ebx
je 0x404f55
mov ebp, dword [esp + 0x20]
cmp ebp, ebx
jne 0x404eea
call fcn.004921da
xor eax, eax
mov edi, dword [esp + 0x24]
cmp edi, dword [eax + 0x10]
jb 0x404e70
call fcn.004921da
cmp dword [edi + 0x70], ebx
jne 0x404e7e
cmp dword [edi + 0x74], ebx
je 0x404f5d
cmp ebp, ebx
jne 0x404ef2
call fcn.004921da
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x404e93
call fcn.004921da
mov eax, dword [edi + 0x70]
cmp esi, eax
jne 0x404ea1
mov ecx, dword [esp + 0x30]
cmp ecx, dword [edi + 0x74]
setb al
cmp al, bl
je 0x404efc
cmp ebp, ebx
jne 0x404ef7
call fcn.004921da
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x404ebd
call fcn.004921da
push edi
lea ebx, [esp + 0x48]
call fcn.00407630
cmp dword [esp + 0xac], 8
mov eax, dword [esp + 0x98]
jae 0x404edf
lea eax, [esp + 0x98]
push eax
push str.Update_File_version_______s
jmp 0x404fcb
mov eax, dword [ebp]
jmp 0x404e62
mov eax, dword [ebp]
jmp 0x404e89
mov eax, dword [ebp]
jmp 0x404eb3
cmp ebp, ebx
jne 0x404f50
call fcn.004921da
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x404f11
call fcn.004921da
mov edx, dword [esp + 0x30]
cmp edx, dword [edi + 0x74]
jne 0x404fe1
cmp esi, dword [edi + 0x70]
jne 0x404fe1
lea esi, [esp + 0x20]
call fcn.004080b0
add eax, 0x54
push eax
lea ecx, [esp + 0x98]
call fcn.00403b70
test al, al
jne 0x404fe1
call fcn.004080b0
push eax
jmp 0x404fa4
mov eax, dword [ebp]
jmp 0x404f07
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
cmp ebp, ebx
jne 0x4050a3
call fcn.004921da
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x404f76
call fcn.004921da
lea eax, [edi + 0x54]
push eax
lea ecx, [esp + 0x98]
call fcn.00403b70
test al, al
jne 0x404fe1
cmp ebp, ebx
jne 0x4050ab
call fcn.004921da
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x404fa3
call fcn.004921da
push edi
lea ebx, [esp + 0x48]
call fcn.00407630
cmp dword [esp + 0xac], 8
mov eax, dword [esp + 0x98]
jae 0x404fc5
lea eax, [esp + 0x98]
push eax
push str.Update_File_checksum_______s
lea esi, [esp + 0x1c]
mov dword [esp + 0x1c], str.ALCMUpdator::CheckUpdateFileInfo
call fcn.004019a0
add esp, 8
xor ebx, ebx
mov esi, 8
cmp dword [esp + 0x138], esi
jb 0x404fff
mov ecx, dword [esp + 0x124]
push ecx
call fcn.004913b3
add esp, 4
xor edx, edx
mov edi, 7
mov dword [esp + 0x138], edi
mov dword [esp + 0x134], ebx
mov word [esp + 0x124], dx
cmp dword [esp + 0xac], esi
jb 0x405035
mov eax, dword [esp + 0x98]
push eax
call fcn.004913b3
add esp, 4
xor ecx, ecx
mov byte [esp + 0x55c], bl
cmp dword [esp + 0x100], esi
mov dword [esp + 0xac], edi
mov dword [esp + 0xa8], ebx
mov word [esp + 0x98], cx
jb 0x40506d
mov edx, dword [esp + 0xec]
push edx
call fcn.004913b3
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4050b3
call fcn.004921da
xor eax, eax
mov ecx, dword [esp + 0x24]
cmp ecx, dword [eax + 0x10]
jb 0x40508a
call fcn.004921da
add dword [esp + 0x24], 0xcc
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
jmp 0x404650
mov eax, dword [ebp]
jmp 0x404f6c
mov eax, dword [ebp]
jmp 0x404f99
mov eax, dword [eax]
jmp 0x40507c
mov ecx, dword [esp + 0x54]
sub ecx, dword [esp + 0x50]
mov eax, 0xa0a0a0a1
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4050dd
mov dword [esp + 0x38], eax
jmp 0x405853
xor esi, esi
mov dword [esp + 0x20], reloc.WSOCK32.dll_accept
cmp dword [0x5046b4], esi
je 0x40511a
lea ecx, [esp + 0x20]
push ecx
call fcn.004ad164
test eax, eax
jge 0x40511a
lea ebx, [esp + 0x44]
call fcn.00408560
mov edx, dword [esp + 0x44]
push edx
call fcn.004913b3
add esp, 4
xor eax, eax
jmp 0x40586d
mov eax, dword [esp + 0x20]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], esi
push str.SOFTWAREESTsoftALCMUpdateFiles
lea ecx, [esp + 0x40]
mov byte [esp + 0x560], 0x11
call fcn.0040f3b0
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x54]
jbe 0x40514f
call fcn.004921da
mov edi, dword [esp + 0x44]
mov ebx, esi
add esi, 0x20
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x54]
cmp dword [esp + 0x50], esi
jbe 0x405173
call fcn.004921da
test edi, edi
je 0x40517d
cmp edi, dword [esp + 0x44]
je 0x405182
call fcn.004921da
cmp ebx, esi
je 0x405728
test edi, edi
jne 0x40520b
call fcn.004921da
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x40519f
call fcn.004921da
mov eax, dword [esp + 0x2c]
xor ecx, ecx
push 0xffffffffffffffff
mov word [esp + 0x9c], cx
push ecx
add eax, 0x58
lea ecx, [esp + 0x9c]
mov dword [esp + 0xb4], 7
mov dword [esp + 0xb0], 0
call fcn.00401370
mov byte [esp + 0x55c], 0x12
mov eax, dword [esp + 0xa8]
test eax, eax
jne 0x40520f
mov byte [esp + 0x55c], 0x11
cmp dword [esp + 0xac], 8
jb 0x40560c
mov edx, dword [esp + 0x98]
push edx
jmp 0x405604
mov eax, dword [edi]
jmp 0x405195
lea esi, [eax - 1]
cmp esi, eax
jbe 0x40521b
call fcn.004921da
cmp dword [esp + 0xac], 8
mov eax, dword [esp + 0x98]
jae 0x405233
lea eax, [esp + 0x98]
cmp word [eax + esi*2], 0x5c
je 0x40524d
push 1
mov eax, 0x4e6d3c
lea ecx, [esp + 0x98]
call fcn.004017a0
lea eax, [esp + 0x94]
push eax
mov ebx, str.UpdateFile
lea esi, [esp + 0x124]
call fcn.004016b0
add esp, 4
push eax
mov ebx, 0x4e6d3c
lea esi, [esp + 0xec]
mov byte [esp + 0x560], 0x13
call fcn.004016b0
add esp, 4
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x9c]
mov byte [esp + 0x564], 0x14
call fcn.00401370
mov ebp, 8
cmp dword [esp + 0x100], ebp
jb 0x4052bc
mov ecx, dword [esp + 0xec]
push ecx
call fcn.004913b3
add esp, 4
mov bl, 0x12
xor edx, edx
mov byte [esp + 0x55c], bl
mov dword [esp + 0x100], 7
mov dword [esp + 0xfc], 0
mov word [esp + 0xec], dx
cmp dword [esp + 0x138], ebp
jb 0x4052fe
mov eax, dword [esp + 0x124]
push eax
call fcn.004913b3
add esp, 4
mov eax, dword [esp + 0x98]
cmp dword [esp + 0xac], ebp
jae 0x405315
lea eax, [esp + 0x98]
push eax
call fcn.0042df60
add esp, 4
test edi, edi
jne 0x4053fb
call fcn.004921da
xor eax, eax
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 0x10]
jb 0x40533b
call fcn.004921da
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0x94]
push esi
push edx
lea edi, [esp + 0xf0]
call fcn.0040c030
add esp, 8
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x9c]
mov byte [esp + 0x564], 0x15
call fcn.00401370
mov byte [esp + 0x55c], bl
cmp dword [esp + 0x100], ebp
jb 0x40538f
mov eax, dword [esp + 0xec]
push eax
call fcn.004913b3
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x405402
call fcn.004921da
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4053a8
call fcn.004921da
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x14], ebp
jb 0x4053b3
mov eax, dword [eax]
push eax
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntryW]
mov esi, dword [esp + 0x98]
cmp dword [esp + 0xac], ebp
jae 0x4053d1
lea esi, [esp + 0x98]
mov ebx, dword [esp + 0x18]
test ebx, ebx
jne 0x405406
call fcn.004921da
xor eax, eax
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 0x10]
jb 0x4053ee
call fcn.004921da
mov edi, dword [esp + 0x2c]
cmp dword [edi + 0x14], ebp
jb 0x40540a
mov eax, dword [edi]
jmp 0x40540c
mov eax, dword [edi]
jmp 0x40532d
mov eax, dword [eax]
jmp 0x40539e
mov eax, dword [ebx]
jmp 0x4053e0
mov eax, edi
push 0
push 0
push esi
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileW
test eax, eax
jl 0x4056b8
test ebx, ebx
jne 0x405643
call fcn.004921da
xor eax, eax
mov edx, dword [esp + 0x1c]
cmp edx, dword [eax + 0x10]
jb 0x40543e
call fcn.004921da
add edi, 0x34
push edi
lea ecx, [esp + 0x98]
call fcn.00403b70
test al, al
mov eax, dword [esp + 0x98]
je 0x405655
cmp dword [esp + 0xac], ebp
jae 0x40546d
lea eax, [esp + 0x98]
push eax
push str.Update_file_download_sucessed______s
lea esi, [esp + 0x1c]
mov dword [esp + 0x1c], str.ALCMUpdator::CheckUpdateFileInfo
call fcn.004019a0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x14e]
push ecx
mov word [esp + 0x150], ax
call fcn.004982b0
add esp, 0x14
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x34e]
push eax
mov word [esp + 0x350], dx
call fcn.004982b0
mov esi, dword [esp + 0x40]
add esp, 0xc
push esi
push str.File
push str._s_d
lea ecx, [esp + 0x148]
push 0x104
push ecx
call fcn.00491e56
add esp, 0x14
push esi
push 0x4e6c1c
push str._s_d
lea edx, [esp + 0x350]
push 0x104
push edx
call fcn.00491e56
mov ecx, dword [esp + 0xac]
add esp, 0x14
cmp dword [esp + 0xac], ebp
jae 0x40551f
lea ecx, [esp + 0x98]
lea eax, [esp + 0x13c]
push eax
mov edx, str.SOFTWAREESTsoftALCMUpdateFiles
call fcn.00403f70
test al, al
je 0x4055eb
test ebx, ebx
jne 0x40564a
call fcn.004921da
xor eax, eax
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 0x10]
jb 0x405556
call fcn.004921da
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
xor edx, edx
push 0xffffffffffffffff
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], 0
push edx
mov eax, edi
mov word [ecx + 4], dx
call fcn.00401370
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x108]
call fcn.004058a0
mov byte [esp + 0x55c], 0x16
cmp dword [esp + 0xfc], 0
je 0x4055d2
mov ecx, dword [esp + 0xec]
cmp dword [esp + 0x100], ebp
jae 0x4055b7
lea ecx, [esp + 0xec]
lea edx, [esp + 0x344]
push edx
mov edx, str.SOFTWAREESTsoftALCMUpdateFiles
call fcn.00403f70
test al, al
je 0x4055d2
inc esi
mov dword [esp + 0x34], esi
cmp dword [esp + 0x100], ebp
jb 0x4055eb
mov eax, dword [esp + 0xec]
push eax
call fcn.004913b3
add esp, 4
mov byte [esp + 0x55c], 0x11
cmp dword [esp + 0xac], ebp
jb 0x40560c
mov ecx, dword [esp + 0x98]
push ecx
call fcn.004913b3
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x405651
call fcn.004921da
xor eax, eax
mov edx, dword [esp + 0x1c]
cmp edx, dword [eax + 0x10]
jb 0x405629
call fcn.004921da
mov edi, dword [esp + 0x18]
mov eax, 0xcc
add dword [esp + 0x1c], eax
add dword [esp + 0x2c], eax
mov ebx, dword [esp + 0x1c]
jmp 0x405164
mov eax, dword [ebx]
jmp 0x405430
mov eax, dword [ebx]
jmp 0x405548
mov eax, dword [eax]
jmp 0x40561b
cmp dword [esp + 0xac], ebp
jae 0x405665
lea eax, [esp + 0x98]
push eax
push str.Update_file_download_failed__not_matched_checksum_______s
lea esi, [esp + 0x30]
mov dword [esp + 0x30], str.ALCMUpdator::CheckUpdateFileInfo
call fcn.004019a0
mov eax, dword [esp + 0xa0]
add esp, 8
cmp dword [esp + 0xac], ebp
jae 0x405696
lea eax, [esp + 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [esp + 0x55c], 0x11
cmp dword [esp + 0xac], ebp
jb 0x405728
mov eax, dword [esp + 0x98]
push eax
jmp 0x405720
mov eax, dword [esp + 0x98]
cmp dword [esp + 0xac], ebp
jae 0x4056cf
lea eax, [esp + 0x98]
push eax
push str.Update_file_download_failed______s
lea esi, [esp + 0x30]
mov dword [esp + 0x30], str.ALCMUpdator::CheckUpdateFileInfo
call fcn.004019a0
mov eax, dword [esp + 0xa0]
add esp, 8
cmp dword [esp + 0xac], ebp
jae 0x405700
lea eax, [esp + 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [esp + 0x55c], 0x11
cmp dword [esp + 0xac], ebp
jb 0x405728
mov ecx, dword [esp + 0x98]
push ecx
call fcn.004913b3
add esp, 4
mov ecx, dword [esp + 0x54]
sub ecx, dword [esp + 0x50]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0xa0a0a0a1
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x34], eax
jne 0x40583e
xor ebp, ebp
mov dword [esp + 0x2c], reloc.WSOCK32.dll_accept
cmp dword [0x5046b4], ebp
je 0x40579c
lea ecx, [esp + 0x2c]
push ecx
call fcn.004ad164
test eax, eax
jge 0x40579c
mov eax, dword [esp + 0x3c]
cmp eax, ebp
je 0x40577e
push eax
call ebx
lea ebx, [esp + 0x44]
call fcn.00408560
mov edx, dword [esp + 0x44]
push edx
call fcn.004913b3
add esp, 4
or eax, 0xffffffff
jmp 0x40586d
xor edi, edi
mov dword [esp + 0x1c], ebp
lea eax, [esp + 0x14]
push eax
push 0x20006
push ebp
mov byte [esp + 0x568], 0x17
mov ecx, dword [esp + 0x38]
push str.SOFTWAREESTsoftALCMUpdateFiles
push ecx
mov dword [esp + 0x28], ebp
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebp
jne 0x405826
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x34]
push 4
lea edx, [esp + 0x2c]
push edx
push 4
push ebp
push str.UpdateCount
push edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x40], esi
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x40581d
push esi
push str.Total_Update_File______dea
lea esi, [esp + 0x30]
mov dword [esp + 0x30], str.ALCMUpdator::CheckUpdateFileInfo
call fcn.004019a0
add esp, 8
mov dword [esp + 0x38], 1
cmp edi, ebp
je 0x405826
push edi
call ebx
xor edi, edi
cmp dword [0x5046b4], ebp
je 0x405835
mov eax, dword [esp + 0x2c]
push eax
call ebx
cmp edi, ebp
je 0x405848
push edi
call ebx
jmp 0x405848
mov dword [esp + 0x38], 0xffffffff
xor ebp, ebp
mov eax, dword [esp + 0x3c]
cmp eax, ebp
je 0x405853
push eax
call ebx
lea ebx, [esp + 0x44]
call fcn.00408560
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004913b3
mov eax, dword [esp + 0x3c]
add esp, 4
mov ecx, dword [esp + 0x554]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x538]
xor ecx, esp
call fcn.004913be
add esp, 0x54c
ret 4