Function at 0x42dcc2
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x451365
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4d0
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
push edi
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], esi
cmp dword [ebx + 0x234], esi
jne 0x42dd08
xor al, al
jmp 0x42f2c1
push 1
lea eax, [esp + 0xa4]
push eax
mov edi, ebx
call fcn.0042c3dd
mov byte [esp + 0x12], al
mov eax, dword [ebp + 0xc]
push esi
call fcn.00428e07
pop ecx
test al, al
jne 0x42dd4c
push 0
push 0x26
mov esi, ebx
call fcn.0042c39c
cmp byte [esp + 0x12], 0
je 0x42dd01
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042c432
jmp 0x42dd01
call fcn.0042d887
test al, al
je 0x42dd01
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
call fcn.0042d959
test al, al
jne 0x42dd8b
fldz
xor eax, eax
push eax
push eax
push eax
push ecx
fstp dword [esp]
push ebx
push 0x2e
push dword [ebp + 0x18]
mov esi, ebx
push dword [ebp + 0x14]
call fcn.0042cce5
call fcn.0042d8bb
push 0
push 9
jmp 0x42dd31
mov dword [esp + 0x9c], esi
mov byte [esp + 0x11], 0
cmp dword [ebp + 0x1c], esi
jne 0x42ddbb
push 0x18
call fcn.0043b7d8
pop ecx
test eax, eax
je 0x42ddb1
mov esi, eax
call fcn.0041fc56
jmp 0x42ddb3
xor eax, eax
mov dword [ebp + 0x1c], eax
mov byte [esp + 0x11], 1
push dword [ebp + 0x20]
mov eax, dword [ebx + 0x234]
mov eax, dword [eax + 0x344]
push dword [ebp + 0xc]
xor edi, edi
cmp dword [ebp + 0x20], 2
mov esi, ebx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x30], edi
mov byte [esp + 0x27], 0
mov dword [esp + 0x74], edi
mov dword [esp + 0x6c], edi
sete byte [esp + 0x57]
call fcn.0042d56e
test al, al
mov eax, dword [ebx + 0x228]
je 0x42dfe1
sub eax, dword [ebx + 0x224]
mov dword [esp + 0x44], edi
sar eax, 2
test eax, eax
jbe 0x42de42
lea esi, [ebx + 0x218]
call fcn.0042fca0
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
add dword [esp + 0x44], eax
mov eax, dword [ebx + 0x228]
sub eax, dword [ebx + 0x224]
inc edi
sar eax, 2
cmp edi, eax
jb 0x42de1a
cmp byte [esp + 0x11], 0
je 0x42de57
mov esi, dword [ebp + 0x1c]
push 0
push dword [esp + 0x48]
call fcn.0041fc85
mov eax, dword [ebx + 0x228]
fldz
sub eax, dword [ebx + 0x224]
fstp qword [esp + 0x78]
and dword [esp + 0x48], 0
sar eax, 2
test eax, eax
jbe 0x42e086
mov eax, dword [esp + 0x44]
fild dword [esp + 0x44]
mov byte [esp + 0x1f], 1
test eax, eax
jge 0x42de90
fadd qword [0x459d50]
and dword [esp + 0x28], 0
fstp qword [esp + 0x38]
mov edi, dword [esp + 0x48]
lea esi, [ebx + 0x218]
call fcn.0042fca0
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
test eax, eax
jge 0x42debf
fadd qword [0x459d50]
fdiv qword [esp + 0x38]
mov esi, ebx
fstp qword [esp + 0x90]
call fcn.0042d8ef
test al, al
jne 0x42dfc4
push dword [ebx + 0x274]
call fcn.004337f6
mov edi, dword [ebx + 0x238]
pop ecx
test edi, edi
je 0x42dfd0
call fcn.0042173f
push dword [ebx + 0x274]
mov byte [esp + 0x17], al
call fcn.0043380a
cmp byte [esp + 0x17], 0
pop ecx
je 0x42df1c
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x42ded9
mov edi, ebx
call fcn.0042d887
test al, al
je 0x42dd01
push 0x30
call fcn.0043b7d8
mov esi, eax
pop ecx
test esi, esi
je 0x42df67
fld qword [esp + 0x90]
mov eax, dword [ebx + 0x238]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [esp + 0x88]
fstp qword [esp]
push dword [ebp + 0x14]
push dword [ebp + 0x18]
push ebx
call fcn.0041ff2a
mov esi, eax
jmp 0x42df69
xor esi, esi
push dword [ebp + 0x1c]
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x74]
push eax
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [esp + 0x60]
push ebx
call fcn.0042cdf2
add dword [esp + 0x30], eax
push esi
mov esi, ebx
call fcn.0042caa8
fld qword [esp + 0x90]
mov eax, dword [ebx + 0x228]
fadd qword [esp + 0x78]
sub eax, dword [ebx + 0x224]
inc dword [esp + 0x48]
sar eax, 2
fstp qword [esp + 0x78]
cmp dword [esp + 0x48], eax
jb 0x42de99
jmp 0x42e086
mov edi, ebx
call fcn.0042d8bb
jmp 0x42dd01
push dword [ebx + 0x274]
call fcn.0043380a
pop ecx
jmp 0x42dd01
sub eax, dword [ebx + 0x224]
sar eax, 2
test eax, eax
jbe 0x42e086
lea esi, [ebx + 0x218]
call fcn.0042fca0
mov eax, dword [eax]
cmp dword [eax + 0x18], 0x10
jb 0x42e00a
mov eax, dword [eax + 4]
jmp 0x42e00d
add eax, 4
fldz
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
fstp dword [esp]
push eax
push 1
push dword [ebp + 0x18]
mov esi, ebx
push dword [ebp + 0x14]
call fcn.0042cce5
test al, al
je 0x42dd01
lea esi, [ebx + 0x218]
call fcn.0042fca0
mov eax, dword [eax]
cmp dword [eax + 0x18], 0x10
jb 0x42e048
mov eax, dword [eax + 4]
jmp 0x42e04b
add eax, 4
fldz
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
fstp dword [esp]
push eax
push 2
push dword [ebp + 0x18]
mov esi, ebx
push dword [ebp + 0x14]
call fcn.0042cce5
test al, al
je 0x42dd01
mov eax, dword [ebx + 0x228]
sub eax, dword [ebx + 0x224]
inc edi
sar eax, 2
cmp edi, eax
jb 0x42dff2
mov eax, dword [esp + 0x98]
cmp dword [esp + 0x30], eax
jne 0x42e0c8
fldz
xor eax, eax
push eax
push eax
push eax
push ecx
fstp dword [esp]
push str.All_package_files_downloaded_from_install_cabs
push 0xb
push dword [ebp + 0x18]
mov esi, ebx
push dword [ebp + 0x14]
call fcn.0042cce5
test al, al
je 0x42dd01
mov edi, ebx
call fcn.0042d8bb
mov al, 1
jmp 0x42f2c1
xor edi, edi
push edi
push edi
push edi
push dword [esp + 0x70]
push dword [esp + 0x7c]
call fcn.00427d52
add esp, 0x14
cmp byte [esp + 0x1f], 0
mov dword [esp + 0x58], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x44], edi
je 0x42e13f
push 0x30
call fcn.0043b7d8
mov esi, eax
pop ecx
cmp esi, edi
je 0x42e12f
fldz
mov eax, dword [ebx + 0x238]
sub esp, 0x10
fstp qword [esp + 8]
fld1
fstp qword [esp]
push dword [ebp + 0x14]
push dword [ebp + 0x18]
push ebx
call fcn.0041ff2a
jmp 0x42e131
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], 0x41ff8f
mov esi, ebx
mov dword [esp + 0x54], edi
call fcn.0042f47e
fldz
fst qword [esp + 0x78]
mov dword [esp + 0x5c], eax
cmp dword [esp + 0x64], edi
je 0x42e164
fld qword [0x459d38]
fstp qword [esp + 0x78]
cmp byte [esp + 0x1f], 0
fstp qword [esp + 0x90]
jne 0x42e20e
cmp byte [esp + 0x11], 0
je 0x42e20e
xor eax, eax
jmp 0x42e1f1
mov eax, dword [ebx + 0x260]
inc dword [esp + 0x58]
cmp eax, edi
je 0x42e1b0
push dword [esp + 0x18]
push dword [ebx + 0x268]
call fcn.00428985
cmp edx, 0xffffffff
pop ecx
pop ecx
jl 0x42e1ed
jg 0x42e1b0
cmp eax, 0xffffffff
jbe 0x42e1ed
push str.optional
push dword [esp + 0x1c]
xor eax, eax
mov ecx, esi
call fcn.004305d0
test eax, eax
je 0x42e1cd
cmp byte [esp + 0x4f], 0
je 0x42e1ed
mov ecx, dword [ebx + 0x234]
push str.compressedsize
push dword [esp + 0x1c]
xor eax, eax
call fcn.004305d0
mov esi, dword [ebp + 0x1c]
push edi
push eax
call fcn.0041fc85
mov eax, dword [esp + 0x58]
mov esi, dword [ebx + 0x234]
mov ecx, esi
call fcn.00432c68
mov dword [esp + 0x18], eax
cmp eax, edi
jne 0x42e185
mov dword [esp + 0x58], edi
mov ecx, dword [ebx + 0x234]
xor eax, eax
mov byte [esp + 0x2f], 0
call fcn.00432c68
mov dword [esp + 0x18], eax
cmp eax, edi
je 0x42ee08
inc dword [esp + 0x58]
and dword [esp + 0x38], 0
and dword [esp + 0x3c], 0
push 2
lea eax, [esp + 0x3c]
push eax
mov edi, ebx
call fcn.0042c3dd
mov esi, ebx
mov byte [esp + 0x10], al
call fcn.0042d8ef
test al, al
je 0x42e354
lea eax, [esp + 0x38]
push eax
push 0x19
call fcn.0042c39c
call fcn.0042d923
xor edi, edi
cmp dword [esp + 0x14], edi
je 0x42e29f
xor esi, esi
cmp dword [esp + 0x14], edi
jbe 0x42e295
mov eax, dword [esp + 0x20]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x42e28c
call fcn.0042f2d8
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42e27c
xor edi, edi
push dword [esp + 0x20]
call fcn.0043c387
pop ecx
push edi
push 0x19
mov esi, ebx
call fcn.0042c39c
lea eax, [esp + 0x38]
push eax
push 0x19
mov esi, ebx
call fcn.0042c39c
cmp byte [esp + 0x10], 0
je 0x42e2ca
push edi
push edi
lea eax, [esp + 0x40]
push eax
call fcn.0042c432
cmp dword [esp + 0x28], edi
je 0x42e2db
push dword [esp + 0x28]
mov esi, ebx
call fcn.0042caa8
cmp byte [esp + 0x11], 0
je 0x42e314
push dword [ebx + 0x274]
call fcn.004337f6
mov esi, dword [ebx + 0x238]
pop ecx
cmp esi, edi
je 0x42e308
push dword [ebp + 0x1c]
push 2
pop ebx
call fcn.0042959d
mov ebx, dword [ebp + 8]
xor edi, edi
push dword [ebx + 0x274]
call fcn.0043380a
pop ecx
cmp byte [esp + 0x12], 0
je 0x42dfc4
push edi
push dword [ebp + 0x18]
mov esi, ebx
push dword [ebp + 0x14]
call fcn.0042c432
jmp 0x42dfc4
cmp byte [esp + 0x2f], 0
jne 0x42e344
push 0
push 0x1a
mov esi, ebx
call fcn.0042c39c
push 0xfa
mov byte [esp + 0x33], 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [ebx + 0x238]
call fcn.0042173f
test al, al
jne 0x42e332
cmp byte [esp + 0x2f], al
je 0x42e379
push 0
push 0x1b
mov esi, ebx
call fcn.0042c39c
mov byte [esp + 0x2f], 0
mov ecx, dword [ebx + 0x234]
push str.optional
push dword [esp + 0x1c]
xor eax, eax
call fcn.004305d0
test eax, eax
je 0x42e3bc
cmp byte [esp + 0x4f], 0
jne 0x42e3bc
cmp byte [esp + 0x10], 0
je 0x42edeb
lea eax, [esp + 0x38]
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
mov esi, ebx
call fcn.0042c432
jmp 0x42edeb
push dword [esp + 0x18]
mov eax, dword [esp + 0x68]
push dword [esp + 0x70]
call fcn.00428985
and eax, edx
pop ecx
pop ecx
cmp eax, 0xffffffff
je 0x42e3dd
push 0
jmp 0x42eadd
mov eax, dword [ebx + 0x260]
test eax, eax
je 0x42e403
push dword [esp + 0x18]
push dword [ebx + 0x268]
call fcn.00428985
and eax, edx
pop ecx
pop ecx
cmp eax, 0xffffffff
je 0x42edeb
mov eax, dword [ebx + 0x238]
movzx eax, byte [eax + 6]
push eax
push dword [esp + 0x1c]
mov eax, dword [ebx + 0x234]
call fcn.0043061a
push dword [ebp + 0xc]
neg al
push dword [esp + 0x1c]
sbb al, al
inc al
mov byte [esp + 0x70], al
mov eax, ebx
call fcn.0042f324
mov edi, eax
mov dword [esp + 0x34], edi
test edi, edi
je 0x42e39a
push 1
call fcn.00428e07
pop ecx
test al, al
je 0x42ef1c
fldz
push ecx
push ecx
fstp qword [esp]
push dword [esp + 0x20]
push dword [ebx + 0x234]
call fcn.0043065c
call fcn.00450a96
mov dword [esp + 0x50], eax
test eax, eax
jne 0x42e50d
push 0x45910c
push edi
call fcn.0043cfad
pop ecx
pop ecx
test eax, eax
je 0x42e492
push eax
call fcn.0043d72e
pop ecx
push dword [ebp + 0x1c]
fild dword [esp + 0x58]
mov eax, dword [esp + 0x58]
push dword [esp + 0x60]
push dword [esp + 0x5c]
test eax, eax
jge 0x42e4af
fadd qword [0x459d50]
mov eax, dword [esp + 0x68]
fmul qword [0x459d38]
fild dword [esp + 0x68]
test eax, eax
jge 0x42e4c7
fadd qword [0x459d50]
fdivp st(1)
push ecx
mov esi, ebx
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fstp dword [esp]
push dword [esp + 0x28]
push 0x35
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042cce5
lea eax, [esp + 0x38]
push eax
push 0x31
call fcn.0042c39c
cmp byte [esp + 0x10], 0
je 0x42edeb
push 0
push 0
lea eax, [esp + 0x40]
push eax
jmp 0x42e3b0
mov ecx, dword [ebx + 0x234]
push str.compressedsize
push dword [esp + 0x1c]
xor eax, eax
call fcn.004305d0
mov dword [esp + 0x88], eax
lea eax, [esp + 0x38]
push eax
xor eax, eax
cmp byte [esp + 0x6c], al
mov esi, ebx
sete al
lea eax, [eax + eax + 0xa]
push eax
call fcn.0042c39c
mov ecx, dword [ebx + 0x290]
mov dword [esp + 0x24], edi
test ecx, ecx
je 0x42e665
mov eax, dword [ebp + 0xc]
mov esi, edi
test eax, eax
je 0x42e56e
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42e562
sub eax, esi
lea esi, [eax + edi]
cmp byte [esi], 0x5c
jne 0x42e574
inc esi
push ecx
push esi
call fcn.0043bb30
pop ecx
pop ecx
cmp eax, esi
jne 0x42e665
lea eax, [esp + 0xa8]
push eax
push edi
call fcn.0043ec3c
pop ecx
pop ecx
test eax, eax
je 0x42e665
mov eax, dword [ebx + 0x290]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e5a6
sub eax, edx
add esi, eax
cmp byte [esi], 0x5c
mov dword [esp + 0x30], esi
jne 0x42e5bf
inc esi
mov dword [esp + 0x30], esi
mov eax, dword [ebp + 0xc]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e5c5
sub eax, edx
mov esi, eax
mov eax, dword [esp + 0x30]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e5d7
sub eax, edi
lea eax, [eax + esi + 4]
push eax
call fcn.0043ba63
pop ecx
mov ecx, dword [ebp + 0xc]
mov esi, eax
mov dword [esp + 0x34], eax
sub esi, ecx
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x42e5f6
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x42e605
sub ecx, esi
je 0x42e637
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x42e615
sub ecx, esi
cmp byte [ecx + eax - 1], 0x5c
je 0x42e637
mov edi, eax
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x42e628
mov esi, 0x4556b4
movsw word es:[edi], word [esi]
mov ecx, dword [esp + 0x30]
mov esi, ecx
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x42e63d
sub ecx, esi
mov edi, eax
mov edx, ecx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e64b
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x34]
lea eax, [esp + 0xa8]
push eax
push edi
call fcn.0043ec3c
pop ecx
pop ecx
test eax, eax
jne 0x42e916
mov eax, dword [esp + 0x50]
cmp dword [esp + 0xbc], eax
jne 0x42e916
lea eax, [esp + 0x38]
push eax
push 0x33
mov esi, ebx
call fcn.0042c39c
cmp byte [ebp + 0x10], 0
je 0x42ea18
cmp byte [esp + 0x68], 0
je 0x42e6ba
cmp byte [ebx + 0x23e], 0
je 0x42ea18
mov edi, dword [ebp + 8]
push 0
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x3c]
mov eax, dword [edi + 0x238]
lea ebx, [esp + 0x80]
call fcn.00429300
test al, al
je 0x42e902
lea eax, [esp + 0x8c]
push eax
push dword [esp + 0x74]
mov eax, dword [edi + 0x238]
push dword [esp + 0x7c]
call fcn.00424c98
mov eax, dword [edi + 0x234]
push 0
push str.hash
push dword [esp + 0x20]
call fcn.0043058f
test eax, eax
je 0x42e8dc
mov ecx, dword [esp + 0x8c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42e740
test dl, dl
je 0x42e73c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42e740
inc eax
inc eax
inc ecx
inc ecx
test dl, dl
jne 0x42e722
xor eax, eax
jmp 0x42e745
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42e8dc
lea eax, [esp + 0x38]
push eax
push 0x35
mov esi, edi
call fcn.0042c39c
mov esi, dword [esp + 0x24]
cmp esi, dword [esp + 0x34]
je 0x42e775
push dword [esp + 0x34]
call fcn.0043c387
pop ecx
mov dword [esp + 0x34], esi
jmp 0x42e7f4
push dword [ebp + 0xc]
mov eax, edi
push dword [esp + 0x1c]
call fcn.0042f324
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x24], eax
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42e7a9
test dl, dl
je 0x42e7a5
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42e7a9
inc eax
inc eax
inc ecx
inc ecx
test dl, dl
jne 0x42e78b
xor eax, eax
jmp 0x42e7ae
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42e7e2
mov eax, dword [edi + 0x238]
mov esi, dword [eax + 0x560]
push 0
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x24]
call fcn.0042090d
add esp, 0x10
lea eax, [esp + 0x38]
push eax
push 0x36
mov esi, edi
call fcn.0042c39c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x238]
lea edi, [esp + 0x24]
call fcn.00427c09
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x238]
lea edi, [esp + 0x8c]
call fcn.00427c09
push dword [esp + 0x74]
mov edi, dword [ebx + 0x238]
call fcn.00427a4f
mov eax, dword [esp + 0x88]
inc dword [esp + 0x44]
add dword [esp + 0x54], eax
cmp byte [esp + 0x1f], 0
jne 0x42e8c8
cmp dword [ebp + 0x1c], 0
je 0x42e843
mov esi, dword [ebp + 0x1c]
push 0
push eax
call fcn.0041fca6
lea eax, [esp + 0x38]
push eax
xor eax, eax
cmp byte [esp + 0x6c], al
mov esi, ebx
sete al
lea eax, [eax + eax + 0xb]
push eax
call fcn.0042c39c
fild dword [esp + 0x54]
push dword [ebp + 0x1c]
mov eax, dword [esp + 0x58]
push dword [esp + 0x60]
push dword [esp + 0x5c]
test eax, eax
jge 0x42e87a
fadd qword [0x459d50]
mov eax, dword [esp + 0x68]
fmul qword [0x459d38]
fild dword [esp + 0x68]
test eax, eax
jge 0x42e892
fadd qword [0x459d50]
fdivp st(1)
xor eax, eax
cmp byte [esp + 0x74], al
push ecx
sete al
lea eax, [eax*4 + 0x1f]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fstp dword [esp]
push dword [esp + 0x28]
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042cce5
test al, al
je 0x42ef68
mov eax, dword [ebx + 0x238]
lea edi, [esp + 0x34]
call fcn.00427c09
jmp 0x42e3a5
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x238]
lea edi, [esp + 0x8c]
call fcn.00427c09
push dword [esp + 0x74]
mov edi, dword [esi + 0x238]
call fcn.00427a4f
jmp 0x42e910
lea eax, [esp + 0x38]
push eax
push 0x25
mov esi, edi
call fcn.0042c39c
mov edi, dword [esp + 0x34]
mov ebx, esi
mov esi, dword [esp + 0x24]
cmp esi, edi
je 0x42e929
push edi
call fcn.0043c387
pop ecx
mov dword [esp + 0x34], esi
mov eax, dword [ebx + 0x234]
xor edi, edi
push edi
push str.location
push dword [esp + 0x20]
call fcn.0043058f
mov dword [esp + 0x24], eax
cmp eax, edi
je 0x42ed4d
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e94f
sub eax, edx
je 0x42ed4d
cmp byte [ebp + 0x10], cl
je 0x42e97f
mov eax, dword [ebx + 0x234]
push edi
push str.hash
push dword [esp + 0x20]
call fcn.0043058f
mov dword [esp + 0x9c], eax
cmp byte [ebx + 0x23c], 0
je 0x42e9cf
cmp dword [esp + 0x14], edi
jbe 0x42e9cf
mov eax, dword [esp + 0x20]
mov esi, dword [eax + edi*4]
push dword [esi + 0x14]
call fcn.004337f6
cmp byte [esi + 9], 0
pop ecx
mov byte [esp + 0x13], 0
je 0x42e9b4
cmp byte [esi + 8], 0
jne 0x42e9b4
mov byte [esp + 0x13], 1
push dword [esi + 0x14]
call fcn.0043380a
cmp byte [esp + 0x17], 0
pop ecx
jne 0x42f03f
inc edi
cmp edi, dword [esp + 0x14]
jb 0x42e98e
push 0x1c
call fcn.0043b7d8
mov esi, eax
pop ecx
mov dword [esp + 0x60], esi
and dword [esp + 0x4e4], 0
test esi, esi
je 0x42eaeb
mov ecx, dword [ebx + 0x234]
push str.size
push dword [esp + 0x1c]
xor eax, eax
call fcn.004305d0
push eax
push dword [esp + 0x1c]
call fcn.00420492
mov esi, eax
mov dword [esp + 0x50], esi
jmp 0x42eaf4
mov eax, dword [esp + 0x88]
inc dword [esp + 0x44]
add dword [esp + 0x54], eax
xor edi, edi
cmp dword [ebp + 0x1c], edi
je 0x42ea38
mov esi, dword [ebp + 0x1c]
push edi
push eax
call fcn.0041fca6
lea eax, [esp + 0x38]
push eax
xor eax, eax
cmp byte [esp + 0x6c], al
mov esi, ebx
sete al
lea eax, [eax + eax + 0xb]
push eax
call fcn.0042c39c
fild dword [esp + 0x58]
push dword [ebp + 0x1c]
mov eax, dword [esp + 0x5c]
push dword [esp + 0x60]
push dword [esp + 0x5c]
test eax, eax
jge 0x42ea6f
fadd qword [0x459d50]
mov eax, dword [esp + 0xa4]
fmul qword [0x459d38]
fild dword [esp + 0xa4]
test eax, eax
jge 0x42ea8d
fadd qword [0x459d50]
fdivp st(1)
xor eax, eax
cmp byte [esp + 0x74], al
push ecx
sete al
mov esi, ebx
lea eax, [eax*4 + 0x1f]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fstp dword [esp]
push dword [esp + 0x28]
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042cce5
test al, al
je 0x42efee
mov eax, dword [ebx + 0x238]
inc dword [esp + 0x44]
lea edi, [esp + 0x34]
call fcn.00427c09
lea eax, [esp + 0x38]
push eax
push 0x20
mov esi, ebx
call fcn.0042c39c
jmp 0x42e39a
and dword [esp + 0x50], 0
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x14]
or dword [esp + 0x4e4], 0xffffffff
sub eax, edi
cmp eax, 2
jae 0x42eb42
add dword [esp + 0x48], 0x40
mov eax, dword [esp + 0x48]
shl eax, 2
push eax
push dword [esp + 0x24]
call fcn.0043c415
pop ecx
pop ecx
mov dword [esp + 0x20], eax
cmp edi, dword [esp + 0x48]
jae 0x42eb42
mov esi, dword [esp + 0x50]
mov ecx, eax
mov eax, edi
lea edi, [ecx + eax*4]
mov ecx, dword [esp + 0x48]
sub ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
fld qword [esp + 0x90]
mov ecx, dword [esp + 0x14]
fadd qword [esp + 0x78]
mov eax, dword [esp + 0x20]
push dword [esi + 0x14]
inc dword [esp + 0x18]
fstp qword [esp + 0x7c]
mov dword [eax + ecx*4], esi
call fcn.004337f6
mov edi, dword [esi + 4]
pop ecx
push dword [esi + 0x14]
call fcn.0043380a
mov dword [esp + 0x64], edi
fild dword [esp + 0x64]
pop ecx
test edi, edi
jge 0x42eb87
fadd qword [0x459d50]
mov eax, dword [esp + 0x5c]
fild dword [esp + 0x5c]
test eax, eax
jge 0x42eb99
fadd qword [0x459d50]
cmp byte [esp + 0x1f], 0
fdivp st(1)
fstp qword [esp + 0x90]
jne 0x42ec92
mov esi, ebx
call fcn.0042d8ef
test al, al
jne 0x42f08d
push 0x30
call fcn.0043b7d8
mov esi, eax
pop ecx
test esi, esi
je 0x42ebfa
fld qword [esp + 0x90]
mov eax, dword [ebx + 0x238]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [esp + 0x88]
fstp qword [esp]
push dword [ebp + 0x14]
push dword [ebp + 0x18]
push ebx
call fcn.0041ff2a
mov dword [esp + 0x30], eax
jmp 0x42ebff
and dword [esp + 0x30], 0
push dword [esp + 0x30]
mov esi, ebx
call fcn.0042caa8
push dword [esp + 0x30]
mov edi, dword [esp + 0x54]
call fcn.004204fa
mov esi, edi
push dword [esi + 0x14]
call fcn.004337f6
pop ecx
push dword [esi + 0x14]
mov byte [esi + 0x10], 0
call fcn.0043380a
mov eax, dword [ebp + 0x1c]
pop ecx
mov ecx, dword [esp + 0x30]
mov dword [ecx + 0x2c], eax
push dword [esi + 0x14]
call fcn.004337f6
mov edi, dword [esi + 0xc]
pop ecx
push dword [esi + 0x14]
call fcn.0043380a
pop ecx
mov eax, edi
movzx ecx, byte [esp + 0x1f]
push dword [esp + 0x88]
neg ecx
sbb ecx, ecx
not ecx
and ecx, dword [ebp + 0x1c]
push ecx
push dword [esp + 0x70]
mov ecx, dword [ebx + 0x238]
push dword [esp + 0x40]
push dword [esp + 0xac]
push dword [esp + 0x64]
push eax
push dword [esp + 0x40]
push dword [esp + 0x38]
call fcn.004265cb
jmp 0x42eddc
push dword [esp + 0x28]
mov edi, dword [esp + 0x54]
call fcn.004204fa
push dword [edi + 0x14]
call fcn.004337f6
pop ecx
push dword [edi + 0x14]
mov byte [edi + 0x10], 0
call fcn.0043380a
cmp dword [esp + 0x1c], 0
pop ecx
je 0x42ed46
mov eax, dword [esp + 0x24]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42ecc7
push dword [esp + 0x18]
sub eax, ecx
lea ebx, [eax + 8]
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x238]
call fcn.00427ae9
mov edi, eax
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x42ece8
mov ecx, dword [esp + 0x24]
mov esi, 0x4595a8
movsd dword es:[edi], dword [esi]
mov esi, ecx
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x42ecfc
sub ecx, esi
mov edi, eax
mov edx, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x42ed0a
fldz
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 8]
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
fstp dword [esp]
push eax
push 0x21
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042cce5
test al, al
je 0x42f0dc
mov ebx, esi
xor eax, eax
jmp 0x42ec50
mov eax, dword [esp + 0x18]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ed54
sub eax, esi
add eax, 0x10
push eax
push str.Location_missing_for:
mov esi, ebx
call fcn.0042cd3a
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ed77
mov edi, dword [esp + 0x24]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x42ed85
mov ecx, eax
fldz
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor eax, eax
push eax
push eax
push eax
push ecx
mov esi, ebx
fstp dword [esp]
push dword [esp + 0x34]
push 0xb
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042cce5
lea eax, [esp + 0x24]
push eax
call fcn.0042cdb8
fldz
xor eax, eax
push eax
push eax
push eax
push ecx
fstp dword [esp]
push ebx
push 0x2e
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042cce5
mov eax, dword [ebx + 0x238]
lea edi, [esp + 0x34]
call fcn.00427c09
mov eax, dword [esp + 0x58]
mov ecx, dword [ebx + 0x234]
call fcn.00432c68
mov dword [esp + 0x18], eax
test eax, eax
jne 0x42e22c
xor edi, edi
cmp dword [esp + 0x64], edi
je 0x42ee35
jbe 0x42ee29
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x64]
mov eax, dword [ebx + 0x238]
call fcn.00427c09
add edi, 4
dec esi
jne 0x42ee18
push dword [esp + 0x6c]
call fcn.0043c387
pop ecx
xor edi, edi
mov esi, ebx
mov byte [esp + 0x10], 1
call fcn.0042d923
mov dword [esp + 0x30], edi
cmp dword [esp + 0x14], edi
jbe 0x42eeb0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov esi, dword [eax + ecx*4]
push dword [esi + 0x14]
call fcn.004337f6
mov al, byte [esi + 8]
pop ecx
push dword [esi + 0x14]
mov byte [esp + 0x17], al
call fcn.0043380a
mov al, byte [esp + 0x17]
and byte [esp + 0x14], al
pop ecx
push dword [esi + 0x14]
call fcn.004337f6
mov al, byte [esi + 8]
pop ecx
push dword [esi + 0x14]
mov byte [esp + 0x17], al
call fcn.0043380a
cmp byte [esp + 0x17], 0
pop ecx
je 0x42ee9e
inc dword [esp + 0x84]
inc dword [esp + 0x30]
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x14]
jb 0x42ee4b
cmp dword [esp + 0x14], edi
je 0x42eedf
xor esi, esi
cmp dword [esp + 0x14], edi
jbe 0x42eed5
mov eax, dword [esp + 0x20]
mov eax, dword [eax + esi*4]
cmp eax, edi
je 0x42eece
mov edi, eax
call fcn.0042f2d8
xor edi, edi
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42eeba
push dword [esp + 0x20]
call fcn.0043c387
pop ecx
cmp byte [esp + 0x10], 0
mov esi, ebx
je 0x42f188
push dword [ebp + 0x1c]
fld dword [0x459d34]
push dword [esp + 0x60]
push dword [esp + 0x64]
push ecx
fstp dword [esp]
push ebx
push 0x1d
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042cce5
test al, al
jne 0x42f1ac
jmp 0x42f1a7
lea eax, [esp + 0x34]
push eax
mov esi, ebx
call fcn.0042cdb8
call fcn.0042d923
xor edi, edi
cmp dword [esp + 0x14], edi
je 0x42ef60
xor esi, esi
cmp dword [esp + 0x14], edi
jbe 0x42ef56
mov eax, dword [esp + 0x20]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x42ef4d
call fcn.0042f2d8
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42ef3d
xor edi, edi
push dword [esp + 0x20]
call fcn.0043c387
pop ecx
push edi
push 0x26
jmp 0x42e2b0
xor esi, esi
cmp dword [esp + 0x14], esi
je 0x42ef93
jbe 0x42ef89
mov eax, dword [esp + 0x20]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x42ef82
call fcn.0042f2d8
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42ef72
push dword [esp + 0x20]
call fcn.0043c387
pop ecx
cmp dword [esp + 0x28], 0
je 0x42efa5
push dword [esp + 0x28]
mov esi, ebx
call fcn.0042caa8
cmp byte [esp + 0x11], 0
je 0x42efdc
push dword [ebx + 0x274]
call fcn.004337f6
mov esi, dword [ebx + 0x238]
pop ecx
test esi, esi
je 0x42efd0
push dword [ebp + 0x1c]
push 2
pop ebx
call fcn.0042959d
mov ebx, dword [ebp + 8]
push dword [ebx + 0x274]
call fcn.0043380a
pop ecx
cmp byte [esp + 0x12], 0
je 0x42dfc4
push 0
jmp 0x42e320
cmp dword [esp + 0x14], edi
je 0x42f01d
xor esi, esi
cmp dword [esp + 0x14], edi
jbe 0x42f013
mov eax, dword [esp + 0x20]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x42f00c
call fcn.0042f2d8
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42effc
push dword [esp + 0x20]
call fcn.0043c387
pop ecx
cmp byte [esp + 0x10], 0
je 0x42ef93
lea eax, [esp + 0x38]
push eax
push dword [ebp + 0x18]
mov esi, ebx
push dword [ebp + 0x14]
call fcn.0042c432
jmp 0x42ef93
mov esi, ebx
call fcn.0042d923
xor esi, esi
cmp dword [esp + 0x14], esi
je 0x42f071
mov eax, dword [esp + 0x20]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x42f060
mov edi, eax
call fcn.0042f2d8
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42f04e
push dword [esp + 0x20]
call fcn.0043c387
pop ecx
push 0
push 0x1c
mov esi, ebx
call fcn.0042c39c
lea eax, [esp + 0x38]
push eax
push 0x1c
call fcn.0042c39c
jmp 0x42ef93
mov esi, ebx
call fcn.0042d923
lea eax, [esp + 0x38]
push eax
push 0x19
call fcn.0042c39c
xor edi, edi
push edi
push 0x19
call fcn.0042c39c
cmp dword [esp + 0x14], edi
je 0x42ef93
xor esi, esi
cmp dword [esp + 0x14], edi
jbe 0x42ef89
mov eax, dword [esp + 0x20]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x42f0d0
call fcn.0042f2d8
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42f0c0
jmp 0x42ef89
xor ebx, ebx
cmp dword [esp + 0x14], ebx
je 0x42f10d
xor esi, esi
cmp dword [esp + 0x14], ebx
jbe 0x42f103
mov eax, dword [esp + 0x20]
mov edi, dword [eax + esi*4]
cmp edi, ebx
je 0x42f0fc
call fcn.0042f2d8
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42f0ec
push dword [esp + 0x20]
call fcn.0043c387
pop ecx
mov esi, dword [ebp + 8]
cmp byte [esp + 0x10], bl
je 0x42f126
lea eax, [esp + 0x38]
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042c432
cmp dword [esp + 0x28], ebx
je 0x42f135
push dword [esp + 0x28]
call fcn.0042caa8
cmp byte [esp + 0x11], bl
je 0x42f16f
push dword [esi + 0x274]
call fcn.004337f6
mov eax, dword [esi + 0x238]
pop ecx
cmp eax, ebx
je 0x42f163
push dword [ebp + 0x1c]
mov esi, eax
push 2
pop ebx
call fcn.0042959d
mov esi, dword [ebp + 8]
xor ebx, ebx
push dword [esi + 0x274]
call fcn.0043380a
pop ecx
cmp byte [esp + 0x12], bl
je 0x42f181
push ebx
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042c432
mov edi, esi
jmp 0x42dfc6
fldz
push edi
push edi
push edi
push ecx
fstp dword [esp]
push ebx
push 5
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042cce5
test al, al
jne 0x42f22d
mov byte [esp + 0x10], 0
cmp byte [esp + 0x10], 0
je 0x42f22d
push edi
push dword [esp + 0x48]
lea eax, [esp + 0xe0]
push str._llu_files_already_existed_locally
push eax
call fcn.0043c67a
fldz
add esp, 0x10
push edi
push edi
push edi
push ecx
fstp dword [esp]
lea eax, [esp + 0xe8]
push eax
push 0xb
push dword [ebp + 0x18]
mov esi, ebx
push dword [ebp + 0x14]
call fcn.0042cce5
push edi
push dword [esp + 0x88]
lea eax, [esp + 0xe0]
push str._llu_files_individually_downloaded
push eax
call fcn.0043c67a
fldz
add esp, 0x10
push edi
push edi
push edi
push ecx
fstp dword [esp]
lea eax, [esp + 0xe8]
push eax
push 0xb
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042cce5
push edi
push 0x3b
jmp 0x42f230
push edi
push 0x3c
mov esi, ebx
call fcn.0042c39c
cmp dword [esp + 0x28], edi
je 0x42f246
push dword [esp + 0x28]
call fcn.0042caa8
cmp byte [esp + 0x11], 0
je 0x42f29d
cmp byte [esp + 0x10], 0
je 0x42f26b
mov esi, dword [ebp + 0x1c]
cmp esi, edi
je 0x42f29d
push dword [esi]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.0043b780
jmp 0x42f29c
push dword [ebx + 0x274]
call fcn.004337f6
mov esi, dword [ebx + 0x238]
pop ecx
cmp esi, edi
je 0x42f291
push dword [ebp + 0x1c]
push 2
pop ebx
call fcn.0042959d
mov ebx, dword [ebp + 8]
xor edi, edi
push dword [ebx + 0x274]
call fcn.0043380a
pop ecx
cmp byte [esp + 0x12], 0
je 0x42f2b2
push edi
push dword [ebp + 0x18]
mov esi, ebx
push dword [ebp + 0x14]
call fcn.0042c432
mov edi, ebx
call fcn.0042d8bb
neg al
sbb al, al
and al, byte [esp + 0x10]
mov ecx, dword [esp + 0x4dc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c