Function at 0x439d70
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a07d8
mov eax, dword fs:[0]
push eax
sub esp, 0x944
mov eax, dword [0x4cc99c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov esi, ecx
mov dword [ebp - 0x908], esi
mov dword [ebp - 0x904], edi
test edi, edi
je 0x43c0e8
fld dword [edi + 0x1980]
fmul qword [0x4ba3e8]
call fcn.00498c20
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
add eax, eax
mov edx, ecx
sub edx, eax
jne 0x439e0a
push ecx
push edi
push str.id:_s__progress:_d__
push 0x4b7efc
push 0x2cdc
push str.CMainViewWnd::DownloadProcessMessage
push str.sourceMainView.cpp
push 2
call fcn.0047d210
add esp, 0x20
fld dword [edi + 0x1980]
fld1
fucompp
fnstsw ax
test ah, 0x44
jp 0x43aeb1
mov esi, dword [esi + 0x23a8]
mov ebx, dword [esi]
mov dword [ebp - 0x91c], esi
cmp ebx, esi
je 0x43c0e8
jmp 0x439e40
mov esi, dword [ebx + 8]
mov dword [ebp - 0x8f8], esi
lea ecx, [esi + 0x100]
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x439e77
test dx, dx
je 0x439e73
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x439e77
add eax, 4
add ecx, 4
test dx, dx
jne 0x439e51
xor eax, eax
jmp 0x439e7c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x439e8f
mov ebx, dword [ebx]
cmp ebx, dword [ebp - 0x91c]
jne 0x439e40
jmp 0x43c0e8
inc dword [esi + 0xd8a0]
sub esp, 0x1c
mov ecx, esp
mov ebx, 7
xor edx, edx
lea eax, [esi + 0xb820]
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], 0
mov word [ecx], dx
mov dword [ebp - 0x8fc], esp
lea edx, [eax + 2]
lea ecx, [ecx]
mov di, word [eax]
add eax, 2
test di, di
jne 0x439ec0
sub eax, edx
sar eax, 1
push eax
lea eax, [esi + 0xb820]
push eax
call fcn.004027c0
call fcn.00468cf0
mov edx, dword [ebp - 0x904]
add edx, 0x980
mov ecx, esp
mov dword [ebp - 0x90c], eax
xor eax, eax
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], 0
mov word [ecx], ax
mov eax, edx
mov dword [ebp - 0x91c], edx
mov dword [ebp - 0x8fc], esp
lea edi, [eax + 2]
mov bx, word [eax]
add eax, 2
test bx, bx
jne 0x439f15
sub eax, edi
sar eax, 1
push eax
push edx
call fcn.004027c0
sub esp, 0x1c
xor edi, edi
mov dword [ebp - 4], edi
mov ecx, esp
xor edx, edx
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], edi
lea eax, [esi + 0xb820]
mov word [ecx], dx
mov dword [ebp - 0x93c], esp
lea edx, [eax + 2]
mov si, word [eax]
add eax, 2
cmp si, di
jne 0x439f53
mov esi, dword [ebp - 0x8f8]
sub eax, edx
sar eax, 1
push eax
lea eax, [esi + 0xb820]
push eax
call fcn.004027c0
mov dword [ebp - 4], 0xffffffff
call fcn.00421780
mov ebx, eax
mov eax, dword [0x4cc964]
mov edx, dword [eax + 0xc]
mov ecx, 0x4cc964
call edx
add eax, 0x10
mov dword [ebp - 0x930], eax
push ebx
push str.process_d
lea edi, [ebp - 0x930]
mov dword [ebp - 4], 1
call fcn.00403000
mov eax, dword [0x4cc964]
mov edx, dword [eax + 0xc]
add esp, 8
mov ecx, 0x4cc964
call edx
add eax, 0x10
mov dword [ebp - 0x92c], eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x904]
fld dword [eax + 0x1980]
sub esp, 8
fstp qword [esp]
push 0x4b4ad0
lea edi, [ebp - 0x92c]
call fcn.00403000
mov ecx, dword [ebp - 0x92c]
mov edx, dword [ebp - 0x930]
add esp, 0xc
push ecx
push edx
add esi, 0x100
push esi
call fcn.00460bc0
mov eax, dword [0x4cc964]
mov edx, dword [eax + 0xc]
add esp, 0xc
mov ecx, 0x4cc964
call edx
add eax, 0x10
mov dword [ebp - 0x928], eax
push ebx
push str.speek_d
lea edi, [ebp - 0x928]
mov byte [ebp - 4], 3
call fcn.00403000
mov eax, dword [0x4cc964]
mov edx, dword [eax + 0xc]
add esp, 8
mov ecx, 0x4cc964
call edx
add eax, 0x10
mov dword [ebp - 0x910], eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x904]
mov ecx, dword [eax + 0x1998]
push ecx
push 0x4ab4f4
lea edi, [ebp - 0x910]
call fcn.00403000
mov edx, dword [ebp - 0x910]
mov eax, dword [ebp - 0x928]
push edx
push eax
push esi
call fcn.00460bc0
add esp, 0x14
mov edx, dword [0x4cc964]
mov eax, dword [edx + 0xc]
mov ecx, 0x4cc964
call eax
add eax, 0x10
mov dword [ebp - 0x914], eax
push ebx
push str.downloadcursize_d
lea edi, [ebp - 0x914]
mov byte [ebp - 4], 5
call fcn.00403000
mov edx, dword [0x4cc964]
mov eax, dword [edx + 0xc]
add esp, 8
mov ecx, 0x4cc964
call eax
add eax, 0x10
mov dword [ebp - 0x924], eax
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x904]
mov ecx, dword [eax + 0x1994]
mov edx, dword [eax + 0x1990]
push ecx
push edx
push str._I64u
lea edi, [ebp - 0x924]
call fcn.00403000
mov eax, dword [ebp - 0x924]
mov ecx, dword [ebp - 0x914]
add esp, 0xc
push eax
push ecx
push esi
call fcn.00460bc0
mov edx, dword [ebp - 0x90c]
mov eax, dword [ebp - 0x8f8]
add esp, 0xc
cmp dword [eax + 0xd8a0], edx
jne 0x43adc1
mov edi, dword [ebp - 0x908]
movzx ecx, byte [edi + 0x2694]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x8fc], esp
push 0xe
mov ebx, 7
xor edx, edx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], 0
push str.downloadfinish
mov word [ecx], dx
call fcn.004027c0
sub esp, 0x1c
mov byte [ebp - 4], bl
mov ecx, esp
xor eax, eax
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], 0
mov word [ecx], ax
mov eax, esi
mov dword [ebp - 0x93c], esp
lea ebx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x43a193
sub eax, ebx
sar eax, 1
push eax
push esi
call fcn.004027c0
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.00428e70
mov ebx, dword [edi + 0x2690]
test ebx, ebx
je 0x43a268
mov dword [ebx + 0x110], 0
call fcn.0044d2e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x8fc], esp
xor edi, edi
push edi
mov ebx, 7
xor edx, edx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], edi
push 0x4ab248
mov word [ecx], dx
call fcn.004027c0
sub esp, 0x1c
mov byte [ebp - 4], 8
mov ecx, esp
mov dword [ebp - 0x93c], esp
push edi
xor eax, eax
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], edi
push 0x4ab248
mov word [ecx], ax
call fcn.004027c0
sub esp, 0x1c
mov byte [ebp - 4], 9
mov ecx, esp
mov dword [ebp - 0x944], esp
push edi
xor edx, edx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], edi
push 0x4ab248
mov word [ecx], dx
call fcn.004027c0
fld dword [0x4ba3e0]
mov eax, dword [ebp - 0x908]
push ecx
mov byte [ebp - 4], 6
fstp dword [esp]
mov ecx, dword [eax + 0x2690]
call fcn.0044cc60
mov edi, dword [ebp - 0x908]
mov ecx, dword [ebp - 0x8f8]
push 3
push str.installstate
push esi
mov dword [ecx + 0xd8a8], 3
call fcn.00460cd0
add esp, 0xc
push str.downloadsize
push esi
call fcn.00467230
mov ebx, dword [ebp - 0x904]
mov edx, dword [ebx + 0x1988]
add edx, eax
push edx
push str.downloadsize
push esi
call fcn.00460cd0
add esp, 0x14
push 3
push edi
mov ecx, esi
call fcn.00436ba0
lea eax, [ebp - 0x848]
push ebx
push eax
call fcn.00466e70
add esp, 8
push 1
push 0x4adfcc
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 0xa
call fcn.004026a0
cmp dword [ebp - 0x90c], 1
jne 0x43a8f6
cmp dword [ebp - 0x834], 8
mov eax, dword [ebp - 0x848]
jae 0x43a302
lea eax, [ebp - 0x848]
push eax
push str.downloadfiledir
push esi
call fcn.00460bc0
lea edi, [ebx + 0x180]
mov eax, edi
add esp, 0xc
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43a320
sub eax, edx
sar eax, 1
push eax
push edi
lea ecx, [ebp - 0x848]
call fcn.004026a0
mov eax, dword [ebp - 0x848]
mov ebx, 8
cmp dword [ebp - 0x834], ebx
jae 0x43a355
lea eax, [ebp - 0x848]
push eax
push str.downloadfilepath
push esi
call fcn.00460bc0
add esp, 0xc
push 1
push 0xffffffffffffffff
push 0x4acbd8
lea ecx, [ebp - 0x848]
call fcn.00408640
cmp eax, 0xffffffff
jne 0x43a47c
lea ecx, [ebp - 0x848]
call fcn.004024d0
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x924]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43a3b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x914]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43a3d8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x910]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43a3fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x928]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43a424
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x92c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43a44a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x930]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c0e8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x43c0e8
mov ecx, dword [ebp - 0x838]
push ecx
push eax
lea edx, [ebp - 0x82c]
push edx
lea ecx, [ebp - 0x848]
call fcn.00408400
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x82c]
cmp dword [ebp - 0x818], ebx
jae 0x43a4ae
lea eax, [ebp - 0x82c]
mov ebx, dword [sym.imp.MSVCR100.dll__wcsicmp]
push str..EXE
push eax
call ebx
add esp, 8
test eax, eax
je 0x43a843
cmp dword [ebp - 0x818], 8
mov eax, dword [ebp - 0x82c]
jae 0x43a4dc
lea eax, [ebp - 0x82c]
push str..MSI
push eax
call ebx
add esp, 8
test eax, eax
je 0x43a843
cmp dword [ebp - 0x818], 8
mov eax, dword [ebp - 0x82c]
jae 0x43a504
lea eax, [ebp - 0x82c]
push str..BAT
push eax
call ebx
add esp, 8
test eax, eax
je 0x43a843
mov eax, dword [ebp - 0x82c]
mov edi, 8
cmp dword [ebp - 0x818], edi
jae 0x43a530
lea eax, [ebp - 0x82c]
push str..RAR
push eax
call ebx
add esp, 8
test eax, eax
jne 0x43a6a4
mov eax, dword [ebp - 0x908]
mov ebx, dword [eax + 0x2690]
test ebx, ebx
je 0x43a5c9
mov dword [ebx + 0x110], 1
call fcn.0044d2e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x8fc], esp
push 0x4ab248
call fcn.00402480
sub esp, 0x1c
mov byte [ebp - 4], 0xc
mov ecx, esp
mov dword [ebp - 0x91c], esp
push 0x4ab248
call fcn.00402480
sub esp, 0x1c
mov byte [ebp - 4], 0xd
mov ecx, esp
mov dword [ebp - 0x93c], esp
push 0x4ab248
call fcn.00402480
fldz
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x908]
mov byte [ebp - 4], 0xb
mov ecx, dword [ecx + 0x2690]
call fcn.0044cc60
mov edi, 8
mov eax, dword [ebp - 0x848]
cmp dword [ebp - 0x834], edi
jae 0x43a5dd
lea eax, [ebp - 0x848]
mov edx, dword [ebp - 0x8f8]
push eax
push 0x4ab4fc
add edx, 0x3a00
push 0x400
push edx
call dword [sym.imp.MSVCR100.dll_swprintf_s]
add esp, 0x10
test esi, esi
jne 0x43a606
xor edi, edi
jmp 0x43a631
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x43a619
xor edi, edi
jmp 0x43a631
lea ebx, [eax + eax]
mov eax, ebx
call fcn.00497dd0
mov eax, esp
push 3
push ebx
push esi
push eax
call fcn.00403590
mov edi, eax
cmp dword [ebp - 0x834], 8
jb 0x43a648
mov ebx, dword [ebp - 0x848]
test ebx, ebx
jne 0x43a64e
xor eax, eax
jmp 0x43a677
lea ebx, [ebp - 0x848]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x43a661
xor eax, eax
jmp 0x43a677
lea esi, [eax + eax]
mov eax, esi
call fcn.00497dd0
mov eax, esp
push 3
push esi
push ebx
push eax
call fcn.00403590
mov ecx, dword [ebp - 0x908]
push edi
push eax
call dword [sym.imp.HFUILib.dll_public:_struct_HWND______thiscall_CWindowWnd::GetHWND_void_const]
push eax
call fcn.00468a00
add esp, 0xc
lea ecx, [ebp - 0x82c]
call fcn.004024d0
mov esi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
jmp 0x43adac
mov eax, dword [ebp - 0x82c]
cmp dword [ebp - 0x818], edi
jae 0x43a6b8
lea eax, [ebp - 0x82c]
push 0x4aebb4
push eax
call ebx
add esp, 8
test eax, eax
jne 0x43a7f8
mov eax, dword [ebp - 0x908]
mov ebx, dword [eax + 0x2690]
test ebx, ebx
je 0x43a751
mov dword [ebx + 0x110], 1
call fcn.0044d2e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x8fc], esp
push 0x4ab248
call fcn.00402480
sub esp, 0x1c
mov byte [ebp - 4], 0xe
mov ecx, esp
mov dword [ebp - 0x91c], esp
push 0x4ab248
call fcn.00402480
sub esp, 0x1c
mov byte [ebp - 4], 0xf
mov ecx, esp
mov dword [ebp - 0x93c], esp
push 0x4ab248
call fcn.00402480
fldz
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x908]
mov byte [ebp - 4], 0xb
mov ecx, dword [ecx + 0x2690]
call fcn.0044cc60
mov edi, 8
mov eax, dword [ebp - 0x848]
cmp dword [ebp - 0x834], edi
jae 0x43a765
lea eax, [ebp - 0x848]
mov edx, dword [ebp - 0x8f8]
push eax
push 0x4ab4fc
add edx, 0x3a00
push 0x400
push edx
call dword [sym.imp.MSVCR100.dll_swprintf_s]
add esp, 0x10
test esi, esi
jne 0x43a78e
xor eax, eax
jmp 0x43a7b7
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x43a7a1
xor eax, eax
jmp 0x43a7b7
lea ebx, [eax + eax]
mov eax, ebx
call fcn.00497dd0
mov eax, esp
push 3
push ebx
push esi
push eax
call fcn.00403590
mov ecx, dword [ebp - 0x848]
cmp dword [ebp - 0x834], edi
jae 0x43a7cb
lea ecx, [ebp - 0x848]
push eax
push ecx
mov ecx, dword [ebp - 0x908]
call dword [sym.imp.HFUILib.dll_public:_struct_HWND______thiscall_CWindowWnd::GetHWND_void_const]
push eax
call fcn.004684e0
add esp, 0xc
lea ecx, [ebp - 0x82c]
call fcn.004024d0
mov esi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
jmp 0x43adac
mov eax, dword [ebp - 0x82c]
cmp dword [ebp - 0x818], edi
jae 0x43a80c
lea eax, [ebp - 0x82c]
push 0x4b2118
push eax
call ebx
add esp, 8
test eax, eax
jne 0x43a8e0
push eax
push 0x4b2120
push eax
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x82c]
call fcn.004024d0
mov esi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
jmp 0x43adac
mov eax, dword [ebp - 0x8f8]
push edi
push 0x4ab4fc
add eax, 0x3a00
push 0x400
push eax
call dword [sym.imp.MSVCR100.dll_swprintf_s]
mov eax, dword [ebp - 0x848]
add esp, 0x10
cmp dword [ebp - 0x834], 8
jae 0x43a878
lea eax, [ebp - 0x848]
push 0
push 0
push eax
call fcn.0045b5d0
mov eax, dword [ebp - 0x908]
mov ebx, dword [eax + 0x2690]
add esp, 0xc
test ebx, ebx
je 0x43a8b2
mov ecx, dword [ebx + 4]
push 0
push ecx
mov dword [ebx + 0x110], 3
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.0044d2e0
jmp 0x43a8bc
push 0x63
push eax
mov ecx, esi
call fcn.00437c70
mov eax, 0xe958
call fcn.00497d20
mov esi, dword [ebp - 0x8f8]
mov ebx, dword [ebp - 0x908]
mov edi, esp
mov ecx, 0x3a56
rep movsd dword es:[edi], dword [esi]
call fcn.00431bc0
lea ecx, [ebp - 0x82c]
call fcn.004024d0
mov esi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
jmp 0x43adac
mov edx, dword [ebp - 0x908]
mov edi, dword [edx + 0x2690]
test edi, edi
je 0x43a929
mov eax, dword [edi + 4]
push 0
push eax
mov dword [edi + 0x110], 3
call dword [sym.imp.USER32.dll_ShowWindow]
mov ebx, edi
call fcn.0044d2e0
mov ebx, dword [ebp - 0x904]
lea ecx, [ebp - 0x8a0]
push ebx
push ecx
call fcn.00466e70
xor edx, edx
push 0x7fe
push edx
lea eax, [ebp - 0x80e]
mov byte [ebp - 4], 0x10
push eax
mov word [ebp - 0x810], dx
call sub.MSVCR100.dll_memset
mov eax, dword [ebp - 0x8a0]
mov ebx, 8
add esp, 0x14
cmp dword [ebp - 0x88c], ebx
jae 0x43a971
lea eax, [ebp - 0x8a0]
mov edi, dword [sym.imp.MSVCR100.dll_swprintf_s]
push eax
push 0x4ab4fc
lea ecx, [ebp - 0x810]
push 0x400
push ecx
call edi
push 0
lea edx, [ebp - 0x810]
push edx
lea eax, [ebp - 0x82c]
push eax
call fcn.00462950
add esp, 0x1c
push 1
push 0xffffffffffffffff
push 0x4adfcc
lea ecx, [ebp - 0x82c]
call fcn.00408640
xor ecx, ecx
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], 0
mov word [ebp - 0x868], cx
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x82c]
cmp eax, 0xffffffff
jle 0x43aa19
mov edx, dword [ebp - 0x81c]
push edx
inc eax
push eax
lea eax, [ebp - 0x884]
push eax
call fcn.00408400
push eax
lea ecx, [ebp - 0x868]
mov byte [ebp - 4], 0x13
call fcn.004085c0
lea ecx, [ebp - 0x884]
mov byte [ebp - 4], 0x12
call fcn.004024d0
jmp 0x43aa29
push 0xffffffffffffffff
push 0
push ecx
lea ecx, [ebp - 0x868]
call fcn.00402530
mov eax, dword [ebp - 0x868]
cmp dword [ebp - 0x854], ebx
jae 0x43aa3d
lea eax, [ebp - 0x868]
mov edx, dword [ebp - 0x8f8]
push eax
push 0x4ab4fc
add edx, 0x3a00
push 0x400
push edx
call edi
mov eax, dword [ebp - 0x8a0]
add esp, 0x10
cmp dword [ebp - 0x88c], ebx
jae 0x43aa6e
lea eax, [ebp - 0x8a0]
push eax
push str.downloadfiledir
push esi
call fcn.00460bc0
mov eax, dword [ebp - 0x82c]
add esp, 0xc
cmp dword [ebp - 0x818], ebx
jae 0x43aa91
lea eax, [ebp - 0x82c]
push eax
push str.downloadfilepath
push esi
call fcn.00460bc0
mov eax, dword [ebp - 0x82c]
add esp, 0xc
cmp dword [ebp - 0x818], ebx
jae 0x43aab4
lea eax, [ebp - 0x82c]
push 0
push 0
push eax
call fcn.0045b5d0
mov eax, dword [ebp - 0x908]
mov ebx, dword [eax + 0x2690]
add esp, 0xc
test ebx, ebx
je 0x43aaee
mov eax, dword [ebx + 4]
push 0
push eax
mov dword [ebx + 0x110], 3
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.0044d2e0
jmp 0x43aaf8
push 0x63
push eax
mov ecx, esi
call fcn.00437c70
mov eax, dword [ebp - 0x90c]
test eax, eax
jle 0x43ad0a
mov dword [ebp - 0x90c], 1
mov dword [ebp - 0x948], eax
mov ebx, dword [ebp - 0x91c]
sub esp, 0x1c
mov ecx, esp
xor edx, edx
mov eax, ebx
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
mov dword [ebp - 0x8fc], esp
mov word [ecx], dx
lea edi, [eax + 2]
nop
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x43ab40
sub eax, edi
sar eax, 1
push eax
push ebx
call fcn.004027c0
sub esp, 0x1c
mov byte [ebp - 4], 0x14
mov ecx, esp
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
mov word [ecx], ax
mov eax, dword [ebp - 0x8f8]
add eax, 0xb820
mov dword [ebp - 0x93c], esp
lea edx, [eax + 2]
mov di, word [eax]
add eax, 2
test di, di
jne 0x43ab86
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x8f8]
add eax, 0xb820
push eax
call fcn.004027c0
mov byte [ebp - 4], 0x12
call fcn.00421780
mov edx, dword [0x4cc964]
lea ebx, [eax + 1]
mov eax, dword [edx + 0xc]
mov ecx, 0x4cc964
call eax
add eax, 0x10
mov dword [ebp - 0x934], eax
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x90c]
push ecx
push str.process_d
lea edi, [ebp - 0x934]
call fcn.00403000
mov edx, dword [ebp - 0x934]
push 0x4b07fc
push edx
push esi
call fcn.00460bc0
mov eax, dword [0x4cc964]
mov edx, dword [eax + 0xc]
add esp, 0x14
mov ecx, 0x4cc964
call edx
add eax, 0x10
mov dword [ebp - 0x904], eax
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x90c]
push eax
push str.downloadcursize_d
lea edi, [ebp - 0x904]
call fcn.00403000
mov ecx, dword [ebp - 0x904]
push 0x4b07fc
push ecx
push esi
call fcn.00460bc0
mov edx, dword [0x4cc964]
mov eax, dword [edx + 0xc]
add esp, 0x14
mov ecx, 0x4cc964
call eax
add eax, 0x10
mov dword [ebp - 0x944], eax
push ebx
push str.speek_d
lea edi, [ebp - 0x944]
mov byte [ebp - 4], 0x17
call fcn.00403000
mov edi, dword [ebp - 0x944]
push 0x4b07fc
push edi
push esi
call fcn.00460bc0
lea eax, [edi - 0x10]
add esp, 0x14
mov byte [ebp - 4], 0x16
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43aca7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x904]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43accd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x934]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43acf3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
add dword [ebp - 0x90c], eax
sub dword [ebp - 0x948], eax
jne 0x43ab16
mov eax, 0xe958
call fcn.00497d20
mov esi, dword [ebp - 0x8f8]
mov ebx, dword [ebp - 0x908]
mov edi, esp
mov ecx, 0x3a56
rep movsd dword es:[edi], dword [esi]
call fcn.00431bc0
mov esi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
mov edi, 8
cmp dword [ebp - 0x854], edi
jb 0x43ad4d
mov ecx, dword [ebp - 0x868]
push ecx
call esi
add esp, 4
xor edx, edx
mov ebx, 7
mov dword [ebp - 0x854], ebx
mov dword [ebp - 0x858], 0
mov word [ebp - 0x868], dx
cmp dword [ebp - 0x818], edi
jb 0x43ad7f
mov eax, dword [ebp - 0x82c]
push eax
call esi
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x818], ebx
mov dword [ebp - 0x81c], 0
mov word [ebp - 0x82c], cx
cmp dword [ebp - 0x88c], edi
jb 0x43adac
mov edx, dword [ebp - 0x8a0]
push edx
call esi
add esp, 4
cmp dword [ebp - 0x834], 8
jb 0x43adc1
mov eax, dword [ebp - 0x848]
push eax
call esi
add esp, 4
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x924]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43ade7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x914]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43ae0d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x910]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43ae33
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x928]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43ae59
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x92c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43ae7f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x930]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c0e8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x43c0e8
mov edi, dword [esi + 0x23a8]
mov esi, dword [edi]
cmp esi, edi
je 0x43c0e8
mov ebx, dword [esi + 8]
mov eax, dword [ebp - 0x904]
mov dword [ebp - 0x8f8], ebx
lea ecx, [ebx + 0x100]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43aefc
test dx, dx
je 0x43aef8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43aefc
add eax, 4
add ecx, 4
test dx, dx
jne 0x43aed6
xor eax, eax
jmp 0x43af01
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43af10
mov esi, dword [esi]
cmp esi, edi
jne 0x43aec1
jmp 0x43c0e8
sub esp, 0x1c
mov ecx, esp
lea esi, [ebx + 0xb820]
xor edx, edx
mov eax, esi
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
mov dword [ebp - 0x8fc], esp
mov word [ecx], dx
lea edi, [eax + 2]
lea esp, [esp]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x43af40
sub eax, edi
sar eax, 1
push eax
push esi
call fcn.004027c0
call fcn.00468cf0
add esp, 0x1c
cmp dword [ebx + 0xd8a8], 1
mov edi, eax
mov dword [ebp - 0x910], edi
je 0x43afa1
mov ebx, dword [ebp - 0x8f8]
push 1
add ebx, 0x100
push str.installstate
push ebx
call fcn.00460cd0
mov eax, dword [ebp - 0x908]
add esp, 0xc
push 1
push eax
mov ecx, ebx
call fcn.00436ba0
mov ebx, dword [ebp - 0x8f8]
fldz
xor eax, eax
fst dword [ebp - 0x924]
mov dword [ebx + 0xd8a8], 1
mov dword [ebp - 0x858], eax
mov dword [ebp - 0x854], eax
mov dword [ebp - 0x944], eax
cmp edi, eax
jg 0x43afd6
fstp dword [ebp - 0x924]
jmp 0x43b5a4
mov edx, dword [ebp - 0x904]
fstp st(0)
sub esp, 0x1c
mov ecx, esp
mov dword [ecx + 0x10], eax
add edx, 0x980
xor eax, eax
mov dword [ecx + 0x14], 7
mov word [ecx], ax
mov eax, edx
mov dword [ebp - 0x8fc], esp
lea ebx, [eax + 2]
mov di, word [eax]
add eax, 2
test di, di
jne 0x43b003
sub eax, ebx
sar eax, 1
push eax
push edx
call fcn.004027c0
sub esp, 0x1c
mov dword [ebp - 4], 0x18
mov ecx, esp
xor edx, edx
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
mov eax, esi
mov word [ecx], dx
mov dword [ebp - 0x91c], esp
lea edx, [eax + 2]
mov di, word [eax]
add eax, 2
test di, di
jne 0x43b043
sub eax, edx
sar eax, 1
push eax
push esi
call fcn.004027c0
mov dword [ebp - 4], 0xffffffff
call fcn.00421780
mov esi, eax
mov eax, dword [0x4cc964]
mov edx, dword [eax + 0xc]
mov ecx, 0x4cc964
call edx
add eax, 0x10
mov dword [ebp - 0x948], eax
push esi
push str.process_d
lea edi, [ebp - 0x948]
mov dword [ebp - 4], 0x19
call fcn.00403000
mov eax, dword [0x4cc964]
mov edx, dword [eax + 0xc]
add esp, 8
mov ecx, 0x4cc964
call edx
add eax, 0x10
mov dword [ebp - 0x94c], eax
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x904]
fld dword [eax + 0x1980]
sub esp, 8
fstp qword [esp]
push 0x4b4ad0
lea edi, [ebp - 0x94c]
call fcn.00403000
mov ecx, dword [ebp - 0x94c]
mov edx, dword [ebp - 0x948]
mov ebx, dword [ebp - 0x8f8]
add esp, 0xc
push ecx
push edx
add ebx, 0x100
push ebx
call fcn.00460bc0
mov eax, dword [0x4cc964]
mov edx, dword [eax + 0xc]
add esp, 0xc
mov ecx, 0x4cc964
call edx
add eax, 0x10
mov dword [ebp - 0x914], eax
push esi
push str.speek_d
lea edi, [ebp - 0x914]
mov byte [ebp - 4], 0x1b
call fcn.00403000
mov eax, dword [0x4cc964]
mov edx, dword [eax + 0xc]
add esp, 8
mov ecx, 0x4cc964
call edx
add eax, 0x10
mov dword [ebp - 0x90c], eax
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x904]
mov ecx, dword [eax + 0x1998]
push ecx
push 0x4ab4f4
lea edi, [ebp - 0x90c]
call fcn.00403000
mov edx, dword [ebp - 0x90c]
mov eax, dword [ebp - 0x914]
push edx
push eax
push ebx
call fcn.00460bc0
add esp, 0x14
mov ecx, 0x4cc964
mov edx, dword [0x4cc964]
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x928], eax
push esi
push str.downloadcursize_d
lea edi, [ebp - 0x928]
mov byte [ebp - 4], 0x1d
call fcn.00403000
mov edx, dword [0x4cc964]
mov eax, dword [edx + 0xc]
add esp, 8
mov ecx, 0x4cc964
call eax
add eax, 0x10
mov dword [ebp - 0x92c], eax
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0x904]
mov ecx, dword [eax + 0x1994]
mov edx, dword [eax + 0x1990]
push ecx
push edx
push str._I64u
lea edi, [ebp - 0x92c]
call fcn.00403000
mov eax, dword [ebp - 0x92c]
mov ecx, dword [ebp - 0x928]
add esp, 0xc
push eax
push ecx
push ebx
call fcn.00460bc0
fild dword [ebp - 0x910]
fld1
add esp, 0xc
cmp dword [ebp - 0x910], 0
fdivrp st(1)
fstp dword [ebp - 0x8fc]
jle 0x43b4bd
mov edx, dword [ebp - 0x910]
mov esi, 1
mov dword [ebp - 0x91c], edx
jmp 0x43b240
mov eax, dword [0x4cc964]
mov edx, dword [eax + 0xc]
mov ecx, 0x4cc964
call edx
add eax, 0x10
mov dword [ebp - 0x930], eax
push esi
push str.process_d
lea edi, [ebp - 0x930]
mov byte [ebp - 4], 0x1f
call fcn.00403000
mov eax, dword [ebp - 0x930]
push eax
lea ecx, [ebp - 0x884]
push ebx
push ecx
call fcn.004674a0
add esp, 0x14
mov byte [ebp - 4], 0x20
cmp dword [ebp - 0x870], 8
mov eax, dword [ebp - 0x884]
jae 0x43b29d
lea eax, [ebp - 0x884]
push eax
call dword [sym.imp.MSVCR100.dll__wtof]
fstp dword [ebp - 0x93c]
fld dword [ebp - 0x93c]
mov edx, dword [0x4cc964]
fmul dword [ebp - 0x8fc]
mov eax, dword [edx + 0xc]
add esp, 4
mov ecx, 0x4cc964
fadd dword [ebp - 0x924]
fstp dword [ebp - 0x924]
call eax
add eax, 0x10
mov dword [ebp - 0x934], eax
push esi
push str.speek_d
lea edi, [ebp - 0x934]
mov byte [ebp - 4], 0x21
call fcn.00403000
mov ecx, dword [ebp - 0x934]
push ecx
lea edx, [ebp - 0x848]
push ebx
push edx
call fcn.004674a0
add esp, 0x14
mov byte [ebp - 4], 0x22
cmp dword [ebp - 0x834], 8
mov eax, dword [ebp - 0x848]
jae 0x43b323
lea eax, [ebp - 0x848]
push eax
call dword [sym.imp.MSVCR100.dll__wtoi]
add dword [ebp - 0x944], eax
mov eax, dword [0x4cc964]
mov edx, dword [eax + 0xc]
add esp, 4
mov ecx, 0x4cc964
call edx
add eax, 0x10
mov dword [ebp - 0x93c], eax
push esi
push str.downloadcursize_d
lea edi, [ebp - 0x93c]
mov byte [ebp - 4], 0x23
call fcn.00403000
mov edi, dword [ebp - 0x93c]
push edi
lea eax, [ebp - 0x82c]
push ebx
push eax
call fcn.004674a0
mov eax, dword [ebp - 0x82c]
add esp, 0x14
cmp dword [ebp - 0x818], 8
jae 0x43b38c
lea eax, [ebp - 0x82c]
push eax
call dword [sym.imp.MSVCR100.dll__wtoi64]
add esp, 4
add dword [ebp - 0x858], eax
adc dword [ebp - 0x854], edx
cmp dword [ebp - 0x818], 8
jb 0x43b3bb
mov ecx, dword [ebp - 0x82c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edx, edx
lea eax, [edi - 0x10]
mov word [ebp - 0x82c], dx
mov dword [ebp - 0x818], 7
mov dword [ebp - 0x81c], 0
mov byte [ebp - 4], 0x22
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43b3f8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x834], 8
jb 0x43b411
mov ecx, dword [ebp - 0x848]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x934]
xor edx, edx
add eax, 0xfffffff0
mov word [ebp - 0x848], dx
mov dword [ebp - 0x834], 7
mov dword [ebp - 0x838], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43b454
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x870], 8
jb 0x43b46d
mov ecx, dword [ebp - 0x884]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0x930]
xor edx, edx
add eax, 0xfffffff0
mov word [ebp - 0x884], dx
mov dword [ebp - 0x870], 7
mov dword [ebp - 0x874], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43b4b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
dec dword [ebp - 0x91c]
jne 0x43b240
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x92c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43b4e3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x928]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43b509
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x90c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43b52f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x914]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43b555
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x94c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43b57b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x948]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43b5a4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 7
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x88c], eax
mov dword [ebp - 0x890], esi
mov word [ebp - 0x8a0], cx
mov dword [ebp - 4], 0x24
xor edx, edx
mov dword [ebp - 0x8e0], eax
mov dword [ebp - 0x8e4], esi
mov word [ebp - 0x8f4], dx
mov dword [ebp - 0x8c4], eax
mov dword [ebp - 0x8c8], esi
mov word [ebp - 0x8d8], cx
mov dword [ebp - 0x8a8], eax
mov dword [ebp - 0x8ac], esi
mov word [ebp - 0x8bc], dx
mov byte [ebp - 4], 0x27
cmp dword [ebp - 0x910], 1
jle 0x43b73b
mov eax, dword [0x4cc964]
mov edx, dword [eax + 0xc]
mov ecx, 0x4cc964
call edx
add eax, 0x10
mov dword [ebp - 0x91c], eax
mov byte [ebp - 4], 0x28
mov eax, dword [ebp - 0x944]
push eax
push 0x4ab4f4
lea edi, [ebp - 0x91c]
call fcn.00403000
mov ebx, dword [ebp - 0x91c]
mov eax, ebx
add esp, 8
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x43b654
sub eax, edx
sar eax, 1
push eax
push ebx
lea ecx, [ebp - 0x8a0]
call fcn.004027c0
fld dword [ebp - 0x924]
mov edx, dword [ebp - 0x8f8]
sub esp, 0x20
mov ecx, esp
fstp dword [esp + 0x1c]
add edx, 0xd8ac
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
mov word [ecx], ax
mov eax, edx
mov dword [ebp - 0x8fc], esp
lea esi, [eax + 2]
lea esp, [esp]
mov di, word [eax]
add eax, 2
test di, di
jne 0x43b6b0
sub eax, esi
sar eax, 1
push eax
push edx
call fcn.004027c0
mov edx, dword [ebp - 0x904]
lea ecx, [ebp - 0x8a0]
push ecx
push edx
lea eax, [ebp - 0x884]
push eax
lea edx, [ebp - 0x8d8]
lea ecx, [ebp - 0x8f4]
call fcn.00433e30
push eax
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0x29
call fcn.004085c0
cmp dword [ebp - 0x870], 8
jb 0x43b715
mov ecx, dword [ebp - 0x884]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 0x27
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x43b7b5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x43b7b5
fldz
sub esp, 0x20
mov ecx, esp
fstp dword [esp + 0x1c]
mov dword [ebp - 0x8fc], esp
push esi
xor edx, edx
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x10], esi
push 0x4ab248
mov word [ecx], dx
call fcn.004027c0
mov ecx, dword [ebp - 0x904]
lea eax, [ebp - 0x8a0]
push eax
push ecx
lea edx, [ebp - 0x884]
push edx
lea edx, [ebp - 0x8d8]
lea ecx, [ebp - 0x8f4]
call fcn.00433e30
push eax
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0x2a
call fcn.004085c0
mov byte [ebp - 4], 0x27
cmp dword [ebp - 0x870], 8
jb 0x43b7b5
mov eax, dword [ebp - 0x884]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0x908]
mov eax, dword [ecx + 0x2690]
test eax, eax
je 0x43bf9c
mov ebx, eax
mov dword [eax + 0x110], 0
call fcn.0044d2e0
cmp dword [ebp - 0x910], 1
jle 0x43bee7
mov edx, dword [0x4cc964]
mov eax, dword [edx + 0xc]
mov ecx, 0x4cc964
call eax
add eax, 0x10
mov dword [ebp - 0x910], eax
mov byte [ebp - 4], 0x2b
mov edi, dword [ebp - 0x8f8]
add edi, 0xd8ac
jne 0x43b816
xor eax, eax
jmp 0x43b83f
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x43b829
xor eax, eax
jmp 0x43b83f
lea esi, [eax + eax]
mov eax, esi
call fcn.00497dd0
mov eax, esp
push 3
push esi
push edi
push eax
call fcn.00403590
push eax
call dword [sym.imp.MSVCR100.dll__atoi64]
mov ebx, edx
add esp, 4
mov esi, eax
mov dword [ebp - 0x940], esi
mov dword [ebp - 0x93c], ebx
test ebx, ebx
jl 0x43b902
jg 0x43b86b
cmp esi, 0x40000000
jbe 0x43b8db
push 0
push 0x40000000
push ebx
push esi
call fcn.00497e50
mov dword [ebp - 0x920], eax
mov dword [ebp - 0x91c], edx
shld edx, eax, 0x1e
shl eax, 0x1e
mov ecx, esi
sub ecx, eax
mov eax, ebx
sbb eax, edx
mov dword [ebp - 0x8fc], eax
mov dword [ebp - 0x900], ecx
sub esp, 8
fild qword [ebp - 0x900]
lea edi, [ebp - 0x910]
fild qword [ebp - 0x940]
fdivp st(1)
fstp dword [ebp - 0x8fc]
fild qword [ebp - 0x920]
fadd dword [ebp - 0x8fc]
fstp qword [esp]
push str._0.1fG
call fcn.00403000
add esp, 0xc
jmp 0x43b948
test ebx, ebx
jl 0x43b902
jg 0x43b8e9
cmp esi, 0x100000
jbe 0x43b902
push 0
push 0x100000
push ebx
push esi
call fcn.00497e50
add eax, 1
push eax
push 0x4b7b3c
jmp 0x43b931
mov ecx, esi
or ecx, ebx
jne 0x43b91a
push 0x4b7b44
lea ecx, [ebp - 0x910]
call fcn.00402370
jmp 0x43b948
push 0
push 0x400
push ebx
push esi
call fcn.00497e50
add eax, 1
push eax
push 0x4b7b4c
adc edx, 0
lea edi, [ebp - 0x910]
mov dword [ebp - 0x91c], edx
call fcn.00403000
add esp, 8
mov edx, dword [0x4cc964]
mov eax, dword [edx + 0xc]
mov ecx, 0x4cc964
call eax
add eax, 0x10
mov dword [ebp - 0x8f8], eax
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0x854]
test eax, eax
jl 0x43ba08
jg 0x43b987
mov ecx, dword [ebp - 0x858]
cmp ecx, 0x40000000
jbe 0x43ba0e
mov ecx, dword [ebp - 0x854]
mov edi, dword [ebp - 0x858]
push 0
push 0x40000000
push ecx
push edi
call fcn.00497e50
mov dword [ebp - 0x920], eax
mov dword [ebp - 0x91c], edx
shld edx, eax, 0x1e
shl eax, 0x1e
sub edi, eax
mov eax, dword [ebp - 0x854]
sbb eax, edx
mov dword [ebp - 0x8fc], eax
mov dword [ebp - 0x900], edi
sub esp, 8
fild qword [ebp - 0x900]
lea edi, [ebp - 0x8f8]
fild qword [ebp - 0x858]
fdivp st(1)
fstp dword [ebp - 0x8fc]
fild qword [ebp - 0x920]
fadd dword [ebp - 0x8fc]
fstp qword [esp]
push str._0.1fG
call fcn.00403000
add esp, 0xc
jmp 0x43ba91
mov ecx, dword [ebp - 0x858]
test eax, eax
jl 0x43ba41
jg 0x43ba1c
cmp ecx, 0x100000
jbe 0x43ba41
mov ecx, dword [ebp - 0x854]
mov edx, dword [ebp - 0x858]
push 0
push 0x100000
push ecx
push edx
call fcn.00497e50
add eax, 1
push eax
push 0x4b7b3c
jmp 0x43ba7a
or ecx, eax
jne 0x43ba57
push 0x4b7b44
lea ecx, [ebp - 0x8f8]
call fcn.00402370
jmp 0x43ba91
mov eax, dword [ebp - 0x854]
mov ecx, dword [ebp - 0x858]
push 0
push 0x400
push eax
push ecx
call fcn.00497e50
add eax, 1
push eax
push 0x4b7b4c
adc edx, 0
lea edi, [ebp - 0x8f8]
mov dword [ebp - 0x91c], edx
call fcn.00403000
add esp, 8
mov edi, dword [ebp - 0x8f8]
xor edx, edx
mov eax, edi
mov word [ebp - 0x82c], dx
mov dword [ebp - 0x818], 7
mov dword [ebp - 0x81c], 0
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43bac0
sub eax, edx
sar eax, 1
push eax
push edi
lea ecx, [ebp - 0x82c]
call fcn.004027c0
push 1
push 0x4b1c24
lea ecx, [ebp - 0x82c]
mov byte [ebp - 4], 0x2d
call fcn.004026a0
mov edi, dword [ebp - 0x910]
mov eax, edi
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43bb00
sub eax, edx
sar eax, 1
push eax
push edi
lea ecx, [ebp - 0x82c]
call fcn.004026a0
mov eax, dword [0x4cc964]
mov edx, dword [eax + 0xc]
mov ecx, 0x4cc964
call edx
add eax, 0x10
mov dword [ebp - 0x90c], eax
mov byte [ebp - 4], 0x2e
mov eax, dword [0x4cc964]
mov edx, dword [eax + 0xc]
mov ecx, 0x4cc964
call edx
add eax, 0x10
mov dword [ebp - 0x914], eax
mov byte [ebp - 4], 0x2f
mov eax, dword [ebp - 0x904]
mov eax, dword [eax + 0x1998]
mov dword [ebp - 0x8fc], eax
test eax, eax
jg 0x43bb8f
push 0x4b7a5c
lea ecx, [ebp - 0x90c]
call fcn.00402370
push str.00:00:00
lea ecx, [ebp - 0x914]
call fcn.00402370
jmp 0x43bd2b
sub esi, dword [ebp - 0x858]
sbb ebx, dword [ebp - 0x854]
mov dword [ebp - 0x858], esi
mov dword [ebp - 0x854], ebx
fild qword [ebp - 0x858]
fidiv dword [ebp - 0x8fc]
fstp dword [ebp - 0x8fc]
fld dword [ebp - 0x8fc]
fcom qword [0x4ba4e8]
fnstsw ax
test ah, 0x41
jne 0x43bc85
fld st(0)
call fcn.00498c20
mov ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
mov ecx, esi
imul ecx, ecx, 0xe10
mov dword [ebp - 0x8fc], ecx
fisub dword [ebp - 0x8fc]
fld st(0)
call fcn.00498c20
mov ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, ebx
shl edx, 4
sub edx, ebx
add edx, edx
add edx, edx
mov dword [ebp - 0x8fc], edx
fisub dword [ebp - 0x8fc]
call fcn.00498c20
push eax
push ebx
push esi
push str._dh_dm
lea edi, [ebp - 0x90c]
mov dword [ebp - 0x8fc], eax
call fcn.00403000
mov eax, dword [ebp - 0x8fc]
push eax
push ebx
push esi
push str._02d:_02d:_02d
lea edi, [ebp - 0x914]
call fcn.00403000
add esp, 0x20
jmp 0x43bd2b
fcom qword [0x4ba4e0]
fnstsw ax
test ah, 0x41
jne 0x43bcfb
fld st(0)
call fcn.00498c20
mov ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov ecx, ebx
shl ecx, 4
sub ecx, ebx
add ecx, ecx
add ecx, ecx
mov dword [ebp - 0x8fc], ecx
fisub dword [ebp - 0x8fc]
call fcn.00498c20
mov esi, eax
push esi
push ebx
push str._dm_ds
lea edi, [ebp - 0x90c]
call fcn.00403000
add esp, 0xc
push esi
push ebx
xor ebx, ebx
push ebx
push str._02d:_02d:_02d
lea edi, [ebp - 0x914]
call fcn.00403000
add esp, 0x10
jmp 0x43bd2d
call fcn.00498c20
mov esi, eax
push esi
push 0x4b7ab8
lea edi, [ebp - 0x90c]
call fcn.00403000
push esi
push 0
push 0
push str._02d:_02d:_02d
lea edi, [ebp - 0x914]
call fcn.00403000
add esp, 0x18
xor ebx, ebx
mov esi, dword [ebp - 0x914]
push esi
lea ecx, [ebp - 0x884]
call fcn.00402480
sub esp, 0x1c
mov ecx, esp
mov byte [ebp - 4], 0x30
mov dword [ebp - 0x8fc], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x884]
mov edi, 7
xor edx, edx
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push eax
mov word [ecx], dx
call fcn.00402530
sub esp, 0x1c
mov ecx, esp
mov byte [ebp - 4], 0x31
mov dword [ebp - 0x91c], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x82c]
xor edx, edx
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push eax
mov word [ecx], dx
call fcn.00402530
sub esp, 0x1c
mov ecx, esp
mov byte [ebp - 4], 0x32
mov dword [ebp - 0x93c], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x8a0]
xor edx, edx
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push eax
mov word [ecx], dx
call fcn.00402530
fld dword [ebp - 0x924]
fmul qword [0x4ba3e8]
push ecx
mov ecx, dword [ebp - 0x908]
mov byte [ebp - 4], 0x30
mov ecx, dword [ecx + 0x2690]
fstp dword [ebp - 0x8fc]
fld dword [ebp - 0x8fc]
fstp dword [esp]
call fcn.0044cc60
cmp dword [ebp - 0x870], 8
jb 0x43be09
mov edx, dword [ebp - 0x884]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov word [ebp - 0x884], ax
lea eax, [esi - 0x10]
mov dword [ebp - 0x870], edi
mov dword [ebp - 0x874], ebx
mov byte [ebp - 4], 0x2e
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43be3e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0x90c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43be64
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x818], 8
jb 0x43be7d
mov ecx, dword [ebp - 0x82c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [ebp - 4], 0x2b
mov eax, dword [ebp - 0x8f8]
xor edx, edx
add eax, 0xfffffff0
mov word [ebp - 0x82c], dx
mov dword [ebp - 0x818], edi
mov dword [ebp - 0x81c], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43beb8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x910]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43bf9c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x43bf9c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x8fc], esp
push 0xffffffffffffffff
xor ebx, ebx
push ebx
lea eax, [ebp - 0x8d8]
mov edi, 7
xor edx, edx
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push eax
mov word [ecx], dx
call fcn.00402530
sub esp, 0x1c
mov ecx, esp
mov byte [ebp - 4], 0x33
mov dword [ebp - 0x91c], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x8f4]
xor edx, edx
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push eax
mov word [ecx], dx
call fcn.00402530
sub esp, 0x1c
mov ecx, esp
mov byte [ebp - 4], 0x34
mov dword [ebp - 0x93c], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x8a0]
xor edx, edx
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push eax
mov word [ecx], dx
call fcn.00402530
mov ecx, dword [ebp - 0x904]
fld dword [ecx + 0x1980]
mov edx, dword [ebp - 0x908]
fmul qword [0x4ba3e8]
push ecx
mov byte [ebp - 4], 0x27
mov ecx, dword [edx + 0x2690]
fstp dword [ebp - 0x8fc]
fld dword [ebp - 0x8fc]
fstp dword [esp]
call fcn.0044cc60
mov ebx, dword [ebp - 0x908]
cmp byte [ebx + 0x2694], 0
jne 0x43c048
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push str.updateInstallProgress
call edi
mov esi, eax
mov dword [ebp - 0x91c], esi
test esi, esi
jne 0x43bfd2
push 0x8007000e
call fcn.00401050
mov byte [ebp - 4], 0x35
cmp dword [ebp - 0x8a8], 8
jb 0x43c10a
mov eax, dword [ebp - 0x8bc]
test eax, eax
jne 0x43c110
xor edi, edi
mov dword [ebp - 0x8fc], edi
lea eax, [ebp - 0x860]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x860]
push ecx
push edi
mov byte [ebp - 4], 0x37
mov edx, dword [ebx + 0x2318]
push esi
push edx
call fcn.004169f0
mov eax, dword [ebp - 0x904]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
lea ecx, [ebp - 0x860]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push edi
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
push esi
call edi
cmp dword [ebp - 0x8a8], 8
mov esi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
jb 0x43c063
mov edx, dword [ebp - 0x8bc]
push edx
call esi
add esp, 4
xor edi, edi
xor eax, eax
cmp dword [ebp - 0x8c4], 8
mov ebx, 7
mov dword [ebp - 0x8a8], ebx
mov dword [ebp - 0x8ac], edi
mov word [ebp - 0x8bc], ax
jb 0x43c094
mov ecx, dword [ebp - 0x8d8]
push ecx
call esi
add esp, 4
xor edx, edx
cmp dword [ebp - 0x8e0], 8
mov dword [ebp - 0x8c4], ebx
mov dword [ebp - 0x8c8], edi
mov word [ebp - 0x8d8], dx
jb 0x43c0be
mov eax, dword [ebp - 0x8f4]
push eax
call esi
add esp, 4
xor ecx, ecx
cmp dword [ebp - 0x88c], 8
mov dword [ebp - 0x8e0], ebx
mov dword [ebp - 0x8e4], edi
mov word [ebp - 0x8f4], cx
jb 0x43c0e8
mov edx, dword [ebp - 0x8a0]
push edx
call esi
add esp, 4
lea esp, [ebp - 0x960]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00497792
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x8bc]
push eax
call edi
mov edi, eax
mov dword [ebp - 0x8fc], edi
test edi, edi
jne 0x43bff9
push 0x8007000e
call fcn.00401050
int3