Function at 0x4430f0
Capabilities:
Copy file
Get number of processors
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4dcd5a
mov eax, dword fs:[0]
push eax
sub esp, 0xa68
mov eax, dword [0x521a70]
xor eax, esp
mov dword [esp + 0xa30], eax
push ebx
push esi
push edi
mov eax, dword [0x521a70]
xor eax, esp
push eax
lea eax, [esp + 0xa78]
mov dword fs:[0], eax
mov esi, ecx
push 0xffffffffffffffff
lea ecx, [esi + 0xaa0]
push 0
mov dword [esp + 0x30], 0
call fcn.00401e20
cmp dword [esi + 0xa80], 0
mov ebx, 1
jne 0x4432b4
mov eax, dword [esi + 0xac8]
mov edx, dword [eax + 0x13c]
lea edi, [esi + 0xac8]
push 0
mov ecx, edi
call edx
mov eax, dword [edi]
mov edx, dword [eax + 0x70]
push 0xff
mov ecx, edi
call edx
call fcn.00422b80
mov eax, dword [edi]
mov edx, dword [eax + 0x14c]
mov ecx, edi
call edx
sub eax, 0
je 0x44321d
sub eax, ebx
jne 0x4432a2
lea ecx, [esp + 0xf8]
call fcn.004a3970
fld dword [0x4ee940]
fstp dword [esp + 0x110]
mov dword [esp + 0x10c], ebx
fld dword [0x4ee93c]
sub esp, 0x1c
fstp dword [esp + 0x124]
mov eax, esp
mov dword [eax], vtable.CWindowHostCube::CustomEnsureVisibleFace.0
mov ecx, dword [esp + 0x118]
mov dword [eax + 4], ecx
fld dword [esp + 0x11c]
fstp dword [eax + 8]
mov edx, dword [esp + 0x120]
mov dword [eax + 0xc], edx
fld dword [esp + 0x124]
fstp dword [eax + 0x10]
mov ecx, dword [esp + 0x128]
mov dword [eax + 0x14], ecx
fld dword [esp + 0x12c]
fstp dword [eax + 0x18]
mov dword [esp + 0x50], esp
jmp 0x443297
mov edx, dword [edi]
mov eax, dword [edx + 0x220]
mov ecx, edi
call eax
fcomp dword [0x4ee938]
lea ecx, [esp + 0xdc]
fnstsw ax
test ah, 0x44
jp 0x44326f
call fcn.004a3970
fld dword [0x4ee934]
sub esp, 0x1c
fstp dword [esp + 0x110]
fld dword [0x4ee930]
lea edx, [esp + 0xf8]
mov ecx, esp
mov dword [esp + 0x50], esp
mov dword [esp + 0x10c], ebx
push edx
jmp 0x44328b
call fcn.004a3970
fld dword [0x4ee92c]
sub esp, 0x1c
lea eax, [esp + 0xf8]
mov ecx, esp
mov dword [esp + 0x50], esp
push eax
fstp dword [esp + 0x10c]
call fcn.004225c0
lea ecx, [esi + 0xeb4]
call fcn.004239f0
mov edx, dword [edi]
mov eax, dword [edx + 0xcc]
push 0
push 0xffffffffffffffff
push 0
mov ecx, edi
call eax
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x10
call edi
xor ebx, ebx
test ax, ax
push 0x11
setl bl
call edi
xor ecx, ecx
test ax, ax
setl cl
push 0x12
mov dword [esp + 0x30], ecx
call edi
xor edx, edx
test ax, ax
setl dl
test ebx, ebx
mov eax, edx
je 0x443303
cmp dword [esp + 0x2c], 0
jne 0x44330e
test eax, eax
jne 0x444045
mov ecx, esi
call fcn.00429a30
jmp 0x4449cf
cmp dword [esp + 0x2c], 0
je 0x444045
xor edi, edi
cmp eax, edi
je 0x443fd2
cmp ebx, edi
je 0x443fd2
mov eax, dword [0x56adcc]
mov ecx, eax
and ecx, 0x80000001
jns 0x443334
dec ecx
or ecx, 0xfffffffe
inc ecx
add eax, 1
cmp ecx, 1
mov dword [0x56adcc], eax
jne 0x4449cf
mov ebx, 0xf
mov dword [esp + 0x164], ebx
mov dword [esp + 0x160], edi
mov byte [esp + 0x150], 0
lea edx, [esp + 0x88]
push edx
mov ecx, 0x56add0
mov dword [esp + 0xa84], edi
call fcn.004276d0
mov edi, 0x10
cmp dword [eax + 0x18], edi
mov byte [esp + 0xa80], 1
jb 0x443390
mov eax, dword [eax + 4]
jmp 0x443393
add eax, 4
push eax
lea ecx, [esp + 0x16c]
call fcn.004023f0
lea ecx, [esp + 0x88]
mov byte [esp + 0xa80], 3
call fcn.0046f4f0
mov eax, dword [esi + 0xa44]
test eax, eax
je 0x443ebf
lea ecx, [eax + 0xb0]
lea ebx, [eax + 0x70]
lea edx, [eax + 0xc0]
mov dword [esp + 0x3c], ecx
add eax, 0xd0
mov ecx, ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x64], edx
mov dword [esp + 0x7c], eax
call fcn.0040e370
lea ecx, [esp + 0x44]
mov dword [esp + 0x2c], eax
call fcn.00413760
push 0x3ff
lea eax, [esp + 0x1c1]
push 0
push eax
mov byte [esp + 0xa8c], 4
mov byte [esp + 0x1c8], 0
call fcn.004ba350
xor edi, edi
add esp, 0xc
cmp dword [esp + 0x2c], edi
mov dword [esp + 0x28], edi
jle 0x4435f4
mov ecx, dword [esp + 0x3c]
push edi
call fcn.0040e3a0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x120]
mov dword [esp + 0x138], 0xf
mov dword [esp + 0x134], 0
mov byte [esp + 0x124], 0
call fcn.00402150
lea ecx, [esp + 0x114]
push ecx
lea ecx, [esi + 0xa6c]
mov byte [esp + 0xa84], 5
call fcn.00433aa0
cmp dword [eax], 0
je 0x4435c1
push edi
mov ecx, ebx
call fcn.0040e3a0
push eax
lea ecx, [esp + 0xe0]
call fcn.00408d20
mov ecx, dword [esp + 0x7c]
push edi
mov byte [esp + 0xa84], 6
call fcn.004836d0
cmp dword [eax], 0
mov edi, 0x4e9a2d
je 0x4434c4
mov edi, 0x4ee928
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x64]
push edx
call fcn.004836d0
mov eax, dword [eax]
push eax
push edi
lea ecx, [esp + 0x1c4]
push str.___s_i_
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x1bc]
push edx
lea ecx, [esp + 0xe0]
call fcn.00402430
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0x134]
call fcn.00408d20
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0x134]
mov byte [esp + 0xa84], 7
call fcn.0040f5f0
lea edx, [esp + 0x34]
push edx
lea ecx, [esp + 0x134]
mov edi, eax
call fcn.0040f630
mov ebx, eax
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x134]
call fcn.0040f5f0
mov ecx, dword [edi + 4]
mov edx, dword [edi]
push fcn.004baf02
push ecx
mov ecx, dword [ebx + 4]
push edx
mov edx, dword [ebx]
push ecx
mov ecx, dword [eax + 4]
push edx
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x70]
push eax
call fcn.0040f760
add esp, 0x20
lea ecx, [esp + 0x130]
push ecx
lea ecx, [esp + 0x48]
call fcn.004130b0
push 0xffffffffffffffff
push 0
lea edx, [esp + 0xe4]
push edx
mov ecx, eax
call fcn.00402150
lea ecx, [esp + 0x130]
call fcn.0046f4f0
lea ecx, [esp + 0xdc]
call fcn.0046f4f0
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
cmp dword [esp + 0x12c], 0x10
mov byte [esp + 0xa80], 4
jb 0x4435e3
mov eax, dword [esp + 0x118]
push eax
call fcn.004b9684
add esp, 4
add edi, 1
cmp edi, dword [esp + 0x2c]
mov dword [esp + 0x28], edi
jl 0x443431
mov edi, dword [esp + 0x4c]
test edi, edi
mov ebx, 0x10
je 0x443e86
push 0x3ff
lea ecx, [esp + 0x641]
push 0
push ecx
mov byte [esp + 0x648], 0
call fcn.004ba350
mov edx, dword [esi + 0xa44]
mov eax, dword [edx + 0xec]
fild dword [edx + 0xec]
add esp, 0xc
test eax, eax
push 0x4e99d8
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], edi
push 0x4e99d4
jge 0x443656
fadd qword [0x4e9f80]
sub esp, 8
lea ecx, [esp + 0xec]
fstp qword [esp]
push ecx
call fcn.00414250
add esp, 0x14
cmp dword [eax + 0x18], ebx
jb 0x443676
mov eax, dword [eax + 4]
jmp 0x443679
add eax, 4
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
lea edx, [esp + 0x640]
push str.Original_Size:__s_bytes_n
push edx
call edi
add esp, 0xc
lea ecx, [esp + 0xdc]
call fcn.0046f4f0
lea eax, [esp + 0x63c]
push eax
lea ecx, [esp + 0x150]
call fcn.00402430
mov ecx, dword [esi + 0xa44]
mov edx, dword [ecx + 0xf0]
fild dword [ecx + 0xf0]
test edx, edx
push 0x4e99d8
push 0x4e99d4
jge 0x4436d8
fadd qword [0x4e9f80]
sub esp, 8
lea eax, [esp + 0xec]
fstp qword [esp]
push eax
call fcn.00414250
add esp, 0x14
cmp dword [eax + 0x18], ebx
jb 0x4436f8
mov eax, dword [eax + 4]
jmp 0x4436fb
add eax, 4
push eax
lea ecx, [esp + 0x640]
push str.Encoded_Size:__s_bytes_n
push ecx
call edi
add esp, 0xc
lea ecx, [esp + 0xdc]
call fcn.0046f4f0
lea edx, [esp + 0x63c]
push edx
lea ecx, [esp + 0x150]
call fcn.00402430
mov esi, dword [esi + 0xa44]
mov eax, dword [esi + 0xf0]
imul eax, eax, 0x64
xor edx, edx
div dword [esi + 0xec]
push 0x4e99d8
push 0x4e99d4
test eax, eax
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
jge 0x443761
fadd qword [0x4e9f80]
sub esp, 8
lea eax, [esp + 0xec]
fstp qword [esp]
push eax
call fcn.00414250
add esp, 0x14
cmp dword [eax + 0x18], ebx
jb 0x443781
mov eax, dword [eax + 4]
jmp 0x443784
add eax, 4
push eax
lea ecx, [esp + 0x640]
push str.Compress_Ratio:__s___n
push ecx
call edi
add esp, 0xc
lea ecx, [esp + 0xdc]
call fcn.0046f4f0
lea edx, [esp + 0x63c]
push edx
lea ecx, [esp + 0x150]
call fcn.00402430
fild dword [esp + 0x30]
push 0x4e99d8
push 0x4e99d4
sub esp, 8
lea eax, [esp + 0xec]
fstp qword [esp]
push eax
call fcn.00414250
add esp, 0x14
cmp dword [eax + 0x18], ebx
jb 0x4437e5
mov eax, dword [eax + 4]
jmp 0x4437e8
add eax, 4
push eax
lea ecx, [esp + 0x640]
push str.Files:__s_n
push ecx
call edi
add esp, 0xc
lea ecx, [esp + 0xdc]
call fcn.0046f4f0
lea edx, [esp + 0x63c]
push edx
lea ecx, [esp + 0x150]
call fcn.00402430
push 0x4eafb0
lea ecx, [esp + 0x150]
call fcn.00402430
push str._System
lea eax, [esp + 0x134]
push eax
mov ecx, 0x56add0
call fcn.00433ba0
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x48]
mov edi, dword [ecx]
lea esi, [esp + 0x44]
mov byte [esp + 0xa80], 0xa
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], esi
test esi, esi
mov ebx, dword [esp + 0x48]
je 0x443887
lea edx, [esp + 0x44]
cmp esi, edx
je 0x44388c
call fcn.004bb053
cmp edi, ebx
je 0x443a1f
test esi, esi
jne 0x44389d
call fcn.004bb053
cmp edi, dword [esi + 4]
jne 0x4438a7
call fcn.004bb053
push 0xffffffffffffffff
xor esi, esi
lea eax, [edi + 0x28]
push esi
mov ebx, 0xf
push eax
lea ecx, [esp + 0xb0]
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xc4], esi
mov byte [esp + 0xb4], 0
call fcn.00402150
mov dword [esp + 0x110], ebx
mov dword [esp + 0x10c], esi
mov byte [esp + 0xfc], 0
mov eax, dword [esp + 0xa8]
mov edi, 0x10
cmp dword [esp + 0xbc], edi
mov byte [esp + 0xa80], 0xc
jae 0x443911
lea eax, [esp + 0xa8]
lea ecx, [esp + 0xf8]
push ecx
push eax
lea edx, [esp + 0x11c]
push edx
call fcn.0042a020
add esp, 0xc
cmp dword [esp + 0x148], edi
mov eax, dword [esp + 0x134]
mov byte [esp + 0xa80], 0xd
jae 0x443949
lea eax, [esp + 0x134]
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x128]
push ecx
push eax
push edx
push esi
lea ecx, [esp + 0x124]
call fcn.0040ec00
test eax, eax
jne 0x443979
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0x70]
jmp 0x443985
lea ecx, [esp + 0xa4]
push ecx
lea ecx, [esp + 0x58]
call fcn.00413790
cmp dword [esp + 0x12c], edi
jb 0x4439a3
mov edx, dword [esp + 0x118]
push edx
call fcn.004b9684
add esp, 4
cmp dword [esp + 0x110], edi
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x128], esi
mov byte [esp + 0x118], 0
jb 0x4439d2
mov eax, dword [esp + 0xfc]
push eax
call fcn.004b9684
add esp, 4
cmp dword [esp + 0xbc], edi
mov dword [esp + 0x110], ebx
mov dword [esp + 0x10c], esi
mov byte [esp + 0xfc], 0
mov byte [esp + 0xa80], 0xa
jb 0x443a09
mov ecx, dword [esp + 0xa8]
push ecx
call fcn.004b9684
add esp, 4
lea ecx, [esp + 0x34]
call fcn.0040ede0
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
jmp 0x443877
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
cmp edi, eax
mov ebx, eax
jbe 0x443a3a
call fcn.004bb053
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
cmp edi, eax
lea esi, [esp + 0x6c]
jbe 0x443a47
call fcn.004bb053
push ebx
push esi
lea eax, [esp + 0x74]
push edi
push eax
call fcn.00441ea0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
add esp, 0x10
cmp ecx, eax
mov ebx, eax
jbe 0x443a72
call fcn.004bb053
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
cmp ecx, eax
lea esi, [esp + 0x54]
mov edi, ecx
jbe 0x443a81
call fcn.004bb053
push ebx
push esi
lea eax, [esp + 0x5c]
push edi
push eax
call fcn.00441ea0
add esp, 0x10
mov dword [esp + 0xd8], 0xf
mov dword [esp + 0xd4], 0
mov byte [esp + 0xc4], 0
lea edx, [esp + 0x6c]
mov dword [esp + 0x28], edx
mov dword [esp + 0x3c], 2
xor ebx, ebx
mov eax, dword [esp + 0x28]
mov esi, dword [eax + 4]
cmp esi, dword [eax + 8]
jbe 0x443ad2
call fcn.004bb053
mov edi, esi
mov dword [esp + 0x38], edi
mov eax, dword [esp + 0x28]
mov esi, dword [eax + 8]
cmp dword [eax + 4], esi
jbe 0x443aed
call fcn.004bb053
mov eax, dword [esp + 0x28]
cmp edi, esi
je 0x443db6
mov dword [esp + 0xf4], 0xf
mov dword [esp + 0xf0], ebx
mov byte [esp + 0xe0], 0
cmp edi, dword [eax + 8]
mov byte [esp + 0xa80], 0xf
jb 0x443b21
call fcn.004bb053
push 0xffffffffffffffff
push ebx
push edi
lea ecx, [esp + 0xb0]
mov dword [esp + 0xc8], 0xf
mov dword [esp + 0xc4], ebx
mov byte [esp + 0xb4], 0
call fcn.00402150
mov eax, dword [esp + 0xa8]
mov esi, 0x10
cmp dword [esp + 0xbc], esi
mov byte [esp + 0xa80], 0x10
jae 0x443b6f
lea eax, [esp + 0xa8]
lea ecx, [esp + 0xdc]
push ecx
push eax
lea edx, [esp + 0x100]
push edx
call fcn.0042a020
add esp, 0xc
cmp dword [esp + 0xd8], esi
mov edx, dword [esp + 0xc4]
mov byte [esp + 0xa80], 0x11
jae 0x443ba7
lea edx, [esp + 0xc4]
mov esi, dword [esp + 0x10c]
mov edi, dword [esp + 0xd4]
cmp esi, edi
mov eax, esi
jb 0x443bbd
mov eax, edi
cmp dword [esp + 0x110], 0x10
mov ecx, dword [esp + 0xfc]
jae 0x443bd5
lea ecx, [esp + 0xfc]
push eax
push edx
push ecx
call fcn.0040e2d0
add esp, 0xc
cmp eax, ebx
jne 0x443c87
cmp esi, edi
jb 0x443c87
xor eax, eax
cmp esi, edi
setne al
cmp eax, ebx
jne 0x443c87
push 0x20
mov edi, 0xf
push esi
lea ecx, [esp + 0x11c]
mov dword [esp + 0x134], edi
mov dword [esp + 0x130], ebx
mov byte [esp + 0x120], 0
call fcn.0041d050
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x11c]
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0xa8c], 0x12
call fcn.00402150
mov esi, 0x10
cmp dword [esp + 0x12c], esi
mov byte [esp + 0xa80], 0x11
jb 0x443c6e
mov ecx, dword [esp + 0x118]
push ecx
call fcn.004b9684
add esp, 4
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0xe4]
push edx
lea ecx, [esp + 0xb0]
call fcn.00402050
jmp 0x443ca6
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x100]
push eax
lea ecx, [esp + 0xcc]
call fcn.00402150
mov esi, 0x10
lea edi, [esi - 1]
mov ecx, dword [esp + 0x2c]
push ecx
lea edx, [esp + 0x640]
push str._i.
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x648]
add esp, 0xc
lea edx, [eax + 1]
jmp 0x443cd0
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x443cd0
sub eax, edx
push eax
lea eax, [esp + 0x640]
push eax
lea ecx, [esp + 0x154]
call fcn.00402300
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0xac]
push ecx
lea ecx, [esp + 0x158]
call fcn.00402050
push 1
push 0x4eafb0
lea ecx, [esp + 0x154]
call fcn.00402300
cmp dword [esp + 0x110], esi
jb 0x443d33
mov edx, dword [esp + 0xfc]
push edx
call fcn.004b9684
add esp, 4
cmp dword [esp + 0xbc], esi
mov dword [esp + 0x110], edi
mov dword [esp + 0x10c], ebx
mov byte [esp + 0xfc], 0
jb 0x443d62
mov eax, dword [esp + 0xa8]
push eax
call fcn.004b9684
add esp, 4
cmp dword [esp + 0xf4], esi
mov dword [esp + 0xbc], edi
mov dword [esp + 0xb8], ebx
mov byte [esp + 0xa8], 0
jb 0x443d91
mov ecx, dword [esp + 0xe0]
push ecx
call fcn.004b9684
add esp, 4
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
cmp eax, dword [edx + 8]
jb 0x443da3
call fcn.004bb053
add dword [esp + 0x38], 0x1c
add dword [esp + 0x2c], 1
mov edi, dword [esp + 0x38]
jmp 0x443ad8
sub dword [esp + 0x3c], 1
lea ecx, [esp + 0x54]
mov dword [esp + 0x28], ecx
jne 0x443ac1
cmp dword [esp + 0xd8], 0x10
jb 0x443de3
mov edx, dword [esp + 0xc4]
push edx
call fcn.004b9684
add esp, 4
mov eax, dword [esp + 0x58]
cmp eax, ebx
mov dword [esp + 0xd8], 0xf
mov dword [esp + 0xd4], ebx
mov byte [esp + 0xc4], 0
je 0x443e27
mov ecx, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0x58]
push edx
push ecx
push eax
call fcn.00410b50
mov edx, dword [esp + 0x68]
push edx
call fcn.004b9684
add esp, 0x14
mov eax, dword [esp + 0x70]
cmp eax, ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
je 0x443e60
mov ecx, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x70]
push edx
push ecx
push eax
call fcn.00410b50
mov edx, dword [esp + 0x80]
push edx
call fcn.004b9684
add esp, 0x14
cmp dword [esp + 0x148], 0x10
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
jb 0x443e86
mov eax, dword [esp + 0x134]
push eax
call fcn.004b9684
add esp, 4
mov eax, dword [esp + 0x48]
mov edx, dword [eax]
push eax
lea ecx, [esp + 0x48]
push ecx
mov esi, ecx
push edx
push esi
lea ecx, [esp + 0x64]
push ecx
mov ecx, esi
mov byte [esp + 0xa94], 3
call fcn.004123c0
mov edx, dword [esp + 0x48]
push edx
call fcn.004b9684
mov edi, 0x10
add esp, 4
lea ebx, [edi - 1]
push 0x4eafb0
lea eax, [esp + 0x16c]
push eax
lea ecx, [esp + 0xe4]
push ecx
call fcn.00417690
lea edx, [esp + 0x158]
push edx
push eax
lea eax, [esp + 0x144]
push eax
mov byte [esp + 0xa98], 0x13
call fcn.0041ee60
add esp, 0x18
push 0xffffffffffffffff
xor esi, esi
push esi
push eax
lea ecx, [esp + 0x158]
mov byte [esp + 0xa8c], 0x14
call fcn.00402150
cmp dword [esp + 0x148], edi
jb 0x443f2d
mov ecx, dword [esp + 0x134]
push ecx
call fcn.004b9684
add esp, 4
cmp dword [esp + 0xf4], edi
mov dword [esp + 0x148], ebx
mov dword [esp + 0x144], esi
mov byte [esp + 0x134], 0
jb 0x443f5c
mov edx, dword [esp + 0xe0]
push edx
call fcn.004b9684
add esp, 4
cmp dword [esp + 0x164], edi
mov eax, dword [esp + 0x150]
jae 0x443f73
lea eax, [esp + 0x150]
push esi
push str.Files
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [esp + 0x180], edi
jb 0x443f9a
mov eax, dword [esp + 0x16c]
push eax
call fcn.004b9684
add esp, 4
cmp dword [esp + 0x164], edi
mov dword [esp + 0x180], ebx
mov dword [esp + 0x17c], esi
mov byte [esp + 0x16c], 0
jb 0x4449cf
mov ecx, dword [esp + 0x150]
push ecx
call fcn.004b9684
add esp, 4
jmp 0x4449cf
cmp dword [esp + 0x2c], edi
je 0x444045
cmp eax, edi
je 0x444045
mov eax, dword [0x56adc8]
mov edx, eax
and edx, 0x80000001
jns 0x443ff0
dec edx
or edx, 0xfffffffe
inc edx
add eax, 1
cmp edx, 1
mov dword [0x56adc8], eax
jne 0x4449cf
mov esi, dword [esi + 0xa44]
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call edx
cmp dword [eax + 0x18], 0x10
jb 0x444023
mov eax, dword [eax + 4]
jmp 0x444026
add eax, 4
push edi
push str.Header
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x88]
call fcn.0046f4f0
jmp 0x4449cf
mov ecx, dword [esi + 0xa44]
test ecx, ecx
je 0x444127
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
test eax, eax
je 0x444127
push 0xa
push str.bad_format
lea ecx, [esi + 0xaa0]
call fcn.00402230
cmp dword [esi + 0xa80], 0
jne 0x4449cf
lea ecx, [esp + 0x1bc]
call fcn.0045d810
lea eax, [esp + 0x88]
push 1
mov ebx, 0x15
push eax
mov dword [esp + 0xa88], ebx
call fcn.00428b90
add esp, 8
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x204]
mov byte [esp + 0xa8c], 0x16
call fcn.00402150
lea ecx, [esp + 0x88]
mov byte [esp + 0xa80], bl
call fcn.0046f4f0
push str._sha_FFFFFF_4_0__fgcolorFF0000_Bad_Format.__fgcolor___sha__br__br_
lea ecx, [esp + 0x1e0]
call fcn.00409030
push str.The_current_installer_is_32_bit__while_the_.lzw_file_is_64_bit_format._br__br_Open_the_same_.lzw_file_using_the_64_bit_installer.
lea ecx, [esp + 0x1e0]
call fcn.00402430
mov ecx, dword [esi + 4]
push 0
push ecx
lea ecx, [esp + 0x1c4]
call fcn.004172c0
lea ecx, [esp + 0x1bc]
mov dword [esp + 0xa80], 0xffffffff
call fcn.0045d610
jmp 0x4449cf
mov dword [esp + 0x6c], vtable.CWaitCursor.0
call dword [sym.imp.USER32.dll_GetCursor]
push 0x7f02
mov ebx, eax
push 0
mov dword [esp + 0x78], ebx
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov edx, dword [esi]
mov eax, dword [edx + 0xb8]
push 0
mov ecx, esi
mov dword [esp + 0xa84], 0x17
call eax
mov ecx, dword [esi + 0x47c]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
mov edx, dword [esi + 0x4a0]
mov eax, dword [edx + 0x58]
lea ecx, [esi + 0x4a0]
push 1
call eax
mov ecx, dword [esi + 0xa44]
test ecx, ecx
je 0x444199
push 0
call fcn.00436340
mov ecx, dword [esi + 0x2ac8]
mov edx, dword [ecx + 4]
lea edi, [esi + 0x2ac4]
push edx
mov ecx, edi
call fcn.00467eb0
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [edi + 8], 0
mov dword [eax], eax
mov edi, dword [edi + 4]
mov ecx, esi
mov dword [edi + 8], edi
call fcn.00436ef0
mov eax, dword [esi]
mov edx, dword [eax + 0xf0]
mov ecx, esi
call edx
test eax, eax
je 0x44496e
cmp dword [esi + 0xa44], 0
je 0x4449ad
mov eax, dword [esi]
mov edx, dword [eax + 0x11c]
push 0
mov ecx, esi
call edx
mov eax, dword [esi + 4]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
add dword [esi + 0x828], 1
push 0x3ed
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
mov ecx, dword [esi + 4]
push 0x3ed
push ecx
mov dword [esp + 0x84], eax
call edi
mov ebx, dword [sym.imp.USER32.dll_EnableWindow]
push 0
push eax
call ebx
mov edx, dword [esi + 4]
push 0x3ee
push edx
call edi
push eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 4]
push 0x3ee
push eax
call edi
push 0
push eax
call ebx
mov ecx, dword [esi + 4]
push 0x3ef
push ecx
call edi
push eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
mov edx, dword [esi + 4]
push 0x3ef
push edx
mov dword [esp + 0x88], eax
call edi
push 0
push eax
call ebx
mov eax, dword [esi + 4]
push 0x3f0
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
mov ecx, dword [esi + 4]
push 0x3f0
push ecx
mov dword [esp + 0x3c], eax
call edi
push 0
push eax
call ebx
mov edx, dword [esi + 4]
push 0x3ec
push edx
call edi
push 0
push eax
call ebx
mov eax, dword [esi + 4]
push 0x3ec
push eax
call edi
push str._sha___0__b_Installing...
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov ecx, dword [esi + 0xa44]
add ecx, 0x70
push ecx
lea ecx, [esp + 0x58]
call fcn.004310d0
mov edx, dword [esi + 0xa44]
add edx, 0xb0
push edx
lea ecx, [esp + 0x150]
mov byte [esp + 0xa84], 0x18
call fcn.004310d0
mov eax, dword [esi]
mov edx, dword [eax + 0x108]
mov ecx, esi
mov byte [esp + 0xa80], 0x19
call edx
test eax, eax
je 0x444352
mov eax, dword [esi]
mov eax, dword [eax + 0xa8]
lea ecx, [esp + 0x54]
push ecx
push str.uninstall.exlog
lea edx, [esp + 0x170]
push edx
mov ecx, esi
call eax
mov byte [esp + 0xa80], 0x1a
mov dword [esp + 0x28], 1
jmp 0x444376
push 0x4e9a2d
lea ecx, [esp + 0x8c]
call fcn.004023f0
mov dword [esp + 0xa80], 0x1b
mov dword [esp + 0x28], 2
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xb0]
mov dword [esp + 0xc8], 0xf
mov dword [esp + 0xc4], 0
mov byte [esp + 0xb4], 0
call fcn.00402150
mov dword [esp + 0xa80], 0x1c
test byte [esp + 0x28], 2
je 0x4443c8
and dword [esp + 0x28], 0xfffffffd
lea ecx, [esp + 0x88]
call fcn.0046f4f0
test byte [esp + 0x28], 1
mov byte [esp + 0xa80], 0x1e
je 0x4443e3
lea ecx, [esp + 0x168]
call fcn.0046f4f0
cmp dword [esp + 0xbc], 0x10
mov eax, dword [esp + 0xa8]
jae 0x4443fb
lea eax, [esp + 0xa8]
mov ecx, dword [esi + 0xa44]
push 0x442880
push 0x422500
push esi
push eax
call fcn.0043e780
cmp dword [esp + 0xbc], 0x10
mov eax, dword [esp + 0xa8]
jae 0x44442a
lea eax, [esp + 0xa8]
mov edx, dword [esi]
mov edx, dword [edx + 0xbc]
lea ecx, [esp + 0x54]
push ecx
push eax
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x114]
mov ecx, esi
call edx
test eax, eax
mov dword [esp + 0x64], eax
je 0x444877
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x9c]
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
mov byte [esp + 0xa84], 0x1f
call edx
cmp dword [eax + 0x18], 0x10
mov byte [esp + 0xa80], 0x20
jb 0x444491
mov eax, dword [eax + 4]
jmp 0x444494
add eax, 4
push eax
lea ecx, [esp + 0x188]
call fcn.00499ce0
lea ecx, [esp + 0x88]
mov byte [esp + 0xa80], 0x22
call fcn.0046f4f0
lea ecx, [esp + 0x54]
call fcn.0040e370
test eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], 0
jle 0x4445e5
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x58]
call fcn.0040e3a0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xcc]
mov dword [esp + 0xe4], 0xf
mov dword [esp + 0xe0], 0
mov byte [esp + 0xd0], 0
call fcn.00402150
cmp dword [esp + 0xd8], 0x10
mov eax, dword [esp + 0xc4]
mov byte [esp + 0xa80], 0x23
jae 0x44452f
lea eax, [esp + 0xc4]
push 0
push eax
lea ecx, [esp + 0x18c]
call fcn.00498c50
test eax, eax
je 0x4445ae
mov ecx, dword [esp + 0x28]
push ecx
lea ecx, [esp + 0x150]
call fcn.0040e3a0
push eax
lea ecx, [esi + 0xa6c]
call fcn.00433aa0
cmp dword [eax], 0
je 0x4445ae
cmp dword [esp + 0xd8], 0x10
mov eax, dword [esp + 0xc4]
jae 0x44457c
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0x16c]
call fcn.004023f0
lea edx, [esp + 0x168]
push edx
lea ecx, [esp + 0x48]
mov byte [esp + 0xa84], 0x24
call fcn.00413790
lea ecx, [esp + 0x168]
call fcn.0046f4f0
cmp dword [esp + 0xd8], 0x10
mov byte [esp + 0xa80], 0x22
jb 0x4445d0
mov eax, dword [esp + 0xc4]
push eax
call fcn.004b9684
add esp, 4
mov eax, dword [esp + 0x28]
add eax, 1
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x28], eax
jl 0x4444d2
mov eax, dword [esp + 0x48]
test eax, eax
je 0x44485a
mov ecx, dword [esp + 0x4c]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
je 0x44485a
mov edx, dword [esp + 0x64]
push edx
lea ecx, [esp + 0x16c]
call fcn.004023f0
cmp dword [esp + 0x180], 0x10
mov eax, dword [esp + 0x16c]
mov byte [esp + 0xa80], 0x25
jae 0x444641
lea eax, [esp + 0x16c]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x118]
mov ecx, esi
call eax
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
cmp ecx, eax
mov dword [esp + 0x30], ecx
jbe 0x444667
call fcn.004bb053
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x68], ecx
nop
cmp dword [esp + 0x48], eax
mov dword [esp + 0x30], eax
jbe 0x444683
call fcn.004bb053
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x68]
cmp ecx, dword [esp + 0x30]
je 0x444840
cmp ecx, eax
jb 0x44469a
call fcn.004bb053
mov edx, dword [esp + 0x68]
push 0xffffffffffffffff
push 0
push edx
lea ecx, [esp + 0xcc]
mov dword [esp + 0xe4], 0xf
mov dword [esp + 0xe0], 0
mov byte [esp + 0xd0], 0
call fcn.00402150
push 1
push 0xffffffffffffffff
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0xcc]
mov byte [esp + 0xa8c], 0x26
mov byte [esp + 0x4c], 0x5c
call fcn.00423fe0
test eax, eax
jl 0x444733
cmp dword [esp + 0xd8], 0x10
mov ecx, dword [esp + 0xc4]
jae 0x44470b
lea ecx, [esp + 0xc4]
lea edx, [ecx + eax + 1]
mov eax, edx
lea ecx, [eax + 1]
mov dword [esp + 0x30], ecx
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x444718
sub eax, dword [esp + 0x30]
lea ecx, [esp + 0xc0]
push eax
push edx
call fcn.00402230
push 0x4e97ec
lea edx, [esp + 0x16c]
push edx
lea eax, [esp + 0x11c]
push eax
call fcn.00417690
lea ecx, [esp + 0xcc]
push ecx
push eax
lea edx, [esp + 0x144]
push edx
mov byte [esp + 0xa98], 0x27
call fcn.0041ee60
add esp, 0x18
cmp dword [eax + 0x18], 0x10
jb 0x444779
mov eax, dword [eax + 4]
jmp 0x44477c
add eax, 4
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x4c]
jb 0x444793
call fcn.004bb053
mov eax, dword [esp + 0x68]
cmp dword [eax + 0x18], 0x10
jb 0x44479e
mov eax, dword [eax + 4]
jmp 0x4447a1
add eax, 4
mov ecx, dword [esp + 0x3c]
push 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
cmp dword [esp + 0x148], 0x10
jb 0x4447c9
mov edx, dword [esp + 0x134]
push edx
call fcn.004b9684
add esp, 4
cmp dword [esp + 0x12c], 0x10
mov dword [esp + 0x148], 0xf
mov dword [esp + 0x144], 0
mov byte [esp + 0x134], 0
jb 0x444801
mov eax, dword [esp + 0x118]
push eax
call fcn.004b9684
add esp, 4
cmp dword [esp + 0xd8], 0x10
mov byte [esp + 0xa80], 0x25
jb 0x444823
mov ecx, dword [esp + 0xc4]
push ecx
call fcn.004b9684
add esp, 4
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0x68], eax
jb 0x444836
call fcn.004bb053
mov eax, dword [esp + 0x4c]
add dword [esp + 0x68], 0x1c
jmp 0x444670
cmp dword [esp + 0x180], 0x10
jb 0x44485a
mov edx, dword [esp + 0x16c]
push edx
call fcn.004b9684
add esp, 4
lea ecx, [esp + 0x184]
mov byte [esp + 0xa80], 0x1f
call fcn.00499a30
lea ecx, [esp + 0x44]
call fcn.00411d10
mov eax, dword [esi + 4]
push 0x3ec
push eax
call edi
push str.Install
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [esp + 0xbc], 0x10
jb 0x4448a8
mov ecx, dword [esp + 0xa8]
push ecx
call fcn.004b9684
add esp, 4
lea ecx, [esp + 0x14c]
mov dword [esp + 0xbc], 0xf
mov dword [esp + 0xb8], 0
mov byte [esp + 0xa8], 0
call fcn.00411d10
lea ecx, [esp + 0x54]
mov byte [esp + 0xa80], 0x17
call fcn.00411d10
mov edx, dword [esi + 4]
push 0x3ec
push edx
call edi
push 0
push eax
call ebx
mov eax, dword [esi + 4]
push 0x3ed
push eax
call edi
mov ecx, dword [esp + 0x7c]
push ecx
push eax
call ebx
mov edx, dword [esi + 4]
push 0x3ee
push edx
call edi
mov ecx, dword [esp + 0x2c]
push ecx
push eax
call ebx
mov edx, dword [esi + 4]
push 0x3ef
push edx
call edi
mov ecx, dword [esp + 0x80]
push ecx
push eax
call ebx
mov edx, dword [esi + 4]
push 0x3f0
push edx
call edi
mov ecx, dword [esp + 0x34]
push ecx
push eax
call ebx
mov edx, dword [esi]
mov eax, dword [edx + 0x11c]
add dword [esi + 0x828], 0xffffffff
push 1
mov ecx, esi
call eax
mov ecx, dword [esi + 4]
push 0
push 0x64
push 1
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov edx, dword [esp + 0x70]
push edx
jmp 0x4449c9
push str.invalid_license
lea ecx, [esi + 0xaa0]
call fcn.00409030
mov eax, dword [esi + 4]
push 0
push 0x7d0
push 2
push eax
call dword [sym.imp.USER32.dll_SetTimer]
add dword [esi + 0x2ac0], 1
cmp dword [esi + 0x2ac0], 3
jl 0x4449ad
mov ecx, dword [esi + 4]
push 1
push ecx
call dword [sym.imp.USER32.dll_EndDialog]
mov edx, dword [esi + 4]
push 0x3ec
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push str.Install
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
push ebx
call dword [sym.imp.USER32.dll_SetCursor]
xor eax, eax
mov ecx, dword [esp + 0xa78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa30]
xor ecx, esp
call fcn.004b9963
mov esp, ebp
pop ebp
ret 0x10