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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4510cd
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 0x42da14
xor al, al
jmp 0x42efcd
push 1
lea eax, [esp + 0xa4]
push eax
mov edi, ebx
call fcn.0042c0e9
mov byte [esp + 0x12], al
mov eax, dword [ebp + 0xc]
push esi
call fcn.00428bcb
pop ecx
test al, al
jne 0x42da58
push 0
push 0x26
mov esi, ebx
call fcn.0042c0a8
cmp byte [esp + 0x12], 0
je 0x42da0d
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042c13e
jmp 0x42da0d
call fcn.0042d593
test al, al
je 0x42da0d
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
call fcn.0042d665
test al, al
jne 0x42da97
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.0042c9f1
call fcn.0042d5c7
push 0
push 9
jmp 0x42da3d
mov dword [esp + 0x9c], esi
mov byte [esp + 0x11], 0
cmp dword [ebp + 0x1c], esi
jne 0x42dac7
push 0x18
call fcn.0043b528
pop ecx
test eax, eax
je 0x42dabd
mov esi, eax
call fcn.0041fb07
jmp 0x42dabf
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.0042d27a
test al, al
mov eax, dword [ebx + 0x228]
je 0x42dced
sub eax, dword [ebx + 0x224]
mov dword [esp + 0x44], edi
sar eax, 2
test eax, eax
jbe 0x42db4e
lea esi, [ebx + 0x218]
call fcn.0042f96b
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 0x42db26
cmp byte [esp + 0x11], 0
je 0x42db63
mov esi, dword [ebp + 0x1c]
push 0
push dword [esp + 0x48]
call fcn.0041fb36
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 0x42dd92
mov eax, dword [esp + 0x44]
fild dword [esp + 0x44]
mov byte [esp + 0x1f], 1
test eax, eax
jge 0x42db9c
fadd qword [0x459d20]
and dword [esp + 0x28], 0
fstp qword [esp + 0x38]
mov edi, dword [esp + 0x48]
lea esi, [ebx + 0x218]
call fcn.0042f96b
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
test eax, eax
jge 0x42dbcb
fadd qword [0x459d20]
fdiv qword [esp + 0x38]
mov esi, ebx
fstp qword [esp + 0x90]
call fcn.0042d5fb
test al, al
jne 0x42dcd0
push dword [ebx + 0x274]
call fcn.00433545
mov edi, dword [ebx + 0x238]
pop ecx
test edi, edi
je 0x42dcdc
call fcn.004215f5
push dword [ebx + 0x274]
mov byte [esp + 0x17], al
call fcn.00433559
cmp byte [esp + 0x17], 0
pop ecx
je 0x42dc28
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x42dbe5
mov edi, ebx
call fcn.0042d593
test al, al
je 0x42da0d
push 0x30
call fcn.0043b528
mov esi, eax
pop ecx
test esi, esi
je 0x42dc73
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.0041fddb
mov esi, eax
jmp 0x42dc75
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.0042cafe
add dword [esp + 0x30], eax
push esi
mov esi, ebx
call fcn.0042c7b4
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 0x42dba5
jmp 0x42dd92
mov edi, ebx
call fcn.0042d5c7
jmp 0x42da0d
push dword [ebx + 0x274]
call fcn.00433559
pop ecx
jmp 0x42da0d
sub eax, dword [ebx + 0x224]
sar eax, 2
test eax, eax
jbe 0x42dd92
lea esi, [ebx + 0x218]
call fcn.0042f96b
mov eax, dword [eax]
cmp dword [eax + 0x18], 0x10
jb 0x42dd16
mov eax, dword [eax + 4]
jmp 0x42dd19
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.0042c9f1
test al, al
je 0x42da0d
lea esi, [ebx + 0x218]
call fcn.0042f96b
mov eax, dword [eax]
cmp dword [eax + 0x18], 0x10
jb 0x42dd54
mov eax, dword [eax + 4]
jmp 0x42dd57
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.0042c9f1
test al, al
je 0x42da0d
mov eax, dword [ebx + 0x228]
sub eax, dword [ebx + 0x224]
inc edi
sar eax, 2
cmp edi, eax
jb 0x42dcfe
mov eax, dword [esp + 0x98]
cmp dword [esp + 0x30], eax
jne 0x42ddd4
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.0042c9f1
test al, al
je 0x42da0d
mov edi, ebx
call fcn.0042d5c7
mov al, 1
jmp 0x42efcd
xor edi, edi
push edi
push edi
push edi
push dword [esp + 0x70]
push dword [esp + 0x7c]
call fcn.00427b3e
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 0x42de4b
push 0x30
call fcn.0043b528
mov esi, eax
pop ecx
cmp esi, edi
je 0x42de3b
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.0041fddb
jmp 0x42de3d
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], 0x41fe40
mov esi, ebx
mov dword [esp + 0x54], edi
call fcn.0042f18a
fldz
fst qword [esp + 0x78]
mov dword [esp + 0x5c], eax
cmp dword [esp + 0x64], edi
je 0x42de70
fld qword [0x459d08]
fstp qword [esp + 0x78]
cmp byte [esp + 0x1f], 0
fstp qword [esp + 0x90]
jne 0x42df1a
cmp byte [esp + 0x11], 0
je 0x42df1a
xor eax, eax
jmp 0x42defd
mov eax, dword [ebx + 0x260]
inc dword [esp + 0x58]
cmp eax, edi
je 0x42debc
push dword [esp + 0x18]
push dword [ebx + 0x268]
call fcn.00428749
cmp edx, 0xffffffff
pop ecx
pop ecx
jl 0x42def9
jg 0x42debc
cmp eax, 0xffffffff
jbe 0x42def9
push str.optional
push dword [esp + 0x1c]
xor eax, eax
mov ecx, esi
call fcn.0043031f
test eax, eax
je 0x42ded9
cmp byte [esp + 0x4f], 0
je 0x42def9
mov ecx, dword [ebx + 0x234]
push str.compressedsize
push dword [esp + 0x1c]
xor eax, eax
call fcn.0043031f
mov esi, dword [ebp + 0x1c]
push edi
push eax
call fcn.0041fb36
mov eax, dword [esp + 0x58]
mov esi, dword [ebx + 0x234]
mov ecx, esi
call fcn.004329b7
mov dword [esp + 0x18], eax
cmp eax, edi
jne 0x42de91
mov dword [esp + 0x58], edi
mov ecx, dword [ebx + 0x234]
xor eax, eax
mov byte [esp + 0x2f], 0
call fcn.004329b7
mov dword [esp + 0x18], eax
cmp eax, edi
je 0x42eb14
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.0042c0e9
mov esi, ebx
mov byte [esp + 0x10], al
call fcn.0042d5fb
test al, al
je 0x42e060
lea eax, [esp + 0x38]
push eax
push 0x19
call fcn.0042c0a8
call fcn.0042d62f
xor edi, edi
cmp dword [esp + 0x14], edi
je 0x42dfab
xor esi, esi
cmp dword [esp + 0x14], edi
jbe 0x42dfa1
mov eax, dword [esp + 0x20]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x42df98
call fcn.0042efe4
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42df88
xor edi, edi
push dword [esp + 0x20]
call fcn.0043c0d7
pop ecx
push edi
push 0x19
mov esi, ebx
call fcn.0042c0a8
lea eax, [esp + 0x38]
push eax
push 0x19
mov esi, ebx
call fcn.0042c0a8
cmp byte [esp + 0x10], 0
je 0x42dfd6
push edi
push edi
lea eax, [esp + 0x40]
push eax
call fcn.0042c13e
cmp dword [esp + 0x28], edi
je 0x42dfe7
push dword [esp + 0x28]
mov esi, ebx
call fcn.0042c7b4
cmp byte [esp + 0x11], 0
je 0x42e020
push dword [ebx + 0x274]
call fcn.00433545
mov esi, dword [ebx + 0x238]
pop ecx
cmp esi, edi
je 0x42e014
push dword [ebp + 0x1c]
push 2
pop ebx
call fcn.00429361
mov ebx, dword [ebp + 8]
xor edi, edi
push dword [ebx + 0x274]
call fcn.00433559
pop ecx
cmp byte [esp + 0x12], 0
je 0x42dcd0
push edi
push dword [ebp + 0x18]
mov esi, ebx
push dword [ebp + 0x14]
call fcn.0042c13e
jmp 0x42dcd0
cmp byte [esp + 0x2f], 0
jne 0x42e050
push 0
push 0x1a
mov esi, ebx
call fcn.0042c0a8
push 0xfa
mov byte [esp + 0x33], 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [ebx + 0x238]
call fcn.004215f5
test al, al
jne 0x42e03e
cmp byte [esp + 0x2f], al
je 0x42e085
push 0
push 0x1b
mov esi, ebx
call fcn.0042c0a8
mov byte [esp + 0x2f], 0
mov ecx, dword [ebx + 0x234]
push str.optional
push dword [esp + 0x1c]
xor eax, eax
call fcn.0043031f
test eax, eax
je 0x42e0c8
cmp byte [esp + 0x4f], 0
jne 0x42e0c8
cmp byte [esp + 0x10], 0
je 0x42eaf7
lea eax, [esp + 0x38]
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
mov esi, ebx
call fcn.0042c13e
jmp 0x42eaf7
push dword [esp + 0x18]
mov eax, dword [esp + 0x68]
push dword [esp + 0x70]
call fcn.00428749
and eax, edx
pop ecx
pop ecx
cmp eax, 0xffffffff
je 0x42e0e9
push 0
jmp 0x42e7e9
mov eax, dword [ebx + 0x260]
test eax, eax
je 0x42e10f
push dword [esp + 0x18]
push dword [ebx + 0x268]
call fcn.00428749
and eax, edx
pop ecx
pop ecx
cmp eax, 0xffffffff
je 0x42eaf7
mov eax, dword [ebx + 0x238]
movzx eax, byte [eax + 6]
push eax
push dword [esp + 0x1c]
mov eax, dword [ebx + 0x234]
call fcn.00430369
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.0042f030
mov edi, eax
mov dword [esp + 0x34], edi
test edi, edi
je 0x42e0a6
push 1
call fcn.00428bcb
pop ecx
test al, al
je 0x42ec28
fldz
push ecx
push ecx
fstp qword [esp]
push dword [esp + 0x20]
push dword [ebx + 0x234]
call fcn.004303ab
call fcn.004507d6
mov dword [esp + 0x50], eax
test eax, eax
jne 0x42e219
push 0x4590f4
push edi
call fcn.0043ccfd
pop ecx
pop ecx
test eax, eax
je 0x42e19e
push eax
call fcn.0043d47e
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 0x42e1bb
fadd qword [0x459d20]
mov eax, dword [esp + 0x68]
fmul qword [0x459d08]
fild dword [esp + 0x68]
test eax, eax
jge 0x42e1d3
fadd qword [0x459d20]
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.0042c9f1
lea eax, [esp + 0x38]
push eax
push 0x31
call fcn.0042c0a8
cmp byte [esp + 0x10], 0
je 0x42eaf7
push 0
push 0
lea eax, [esp + 0x40]
push eax
jmp 0x42e0bc
mov ecx, dword [ebx + 0x234]
push str.compressedsize
push dword [esp + 0x1c]
xor eax, eax
call fcn.0043031f
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.0042c0a8
mov ecx, dword [ebx + 0x290]
mov dword [esp + 0x24], edi
test ecx, ecx
je 0x42e371
mov eax, dword [ebp + 0xc]
mov esi, edi
test eax, eax
je 0x42e27a
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42e26e
sub eax, esi
lea esi, [eax + edi]
cmp byte [esi], 0x5c
jne 0x42e280
inc esi
push ecx
push esi
call fcn.0043b880
pop ecx
pop ecx
cmp eax, esi
jne 0x42e371
lea eax, [esp + 0xa8]
push eax
push edi
call fcn.0043e98c
pop ecx
pop ecx
test eax, eax
je 0x42e371
mov eax, dword [ebx + 0x290]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e2b2
sub eax, edx
add esi, eax
cmp byte [esi], 0x5c
mov dword [esp + 0x30], esi
jne 0x42e2cb
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 0x42e2d1
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 0x42e2e3
sub eax, edi
lea eax, [eax + esi + 4]
push eax
call fcn.0043b7b3
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 0x42e302
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x42e311
sub ecx, esi
je 0x42e343
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x42e321
sub ecx, esi
cmp byte [ecx + eax - 1], 0x5c
je 0x42e343
mov edi, eax
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x42e334
mov esi, 0x45569c
movsw word es:[edi], word [esi]
mov ecx, dword [esp + 0x30]
mov esi, ecx
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x42e349
sub ecx, esi
mov edi, eax
mov edx, ecx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e357
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.0043e98c
pop ecx
pop ecx
test eax, eax
jne 0x42e622
mov eax, dword [esp + 0x50]
cmp dword [esp + 0xbc], eax
jne 0x42e622
lea eax, [esp + 0x38]
push eax
push 0x33
mov esi, ebx
call fcn.0042c0a8
cmp byte [ebp + 0x10], 0
je 0x42e724
cmp byte [esp + 0x68], 0
je 0x42e3c6
cmp byte [ebx + 0x23e], 0
je 0x42e724
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.004290c4
test al, al
je 0x42e60e
lea eax, [esp + 0x8c]
push eax
push dword [esp + 0x74]
mov eax, dword [edi + 0x238]
push dword [esp + 0x7c]
call fcn.00424aae
mov eax, dword [edi + 0x234]
push 0
push str.hash
push dword [esp + 0x20]
call fcn.004302de
test eax, eax
je 0x42e5e8
mov ecx, dword [esp + 0x8c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42e44c
test dl, dl
je 0x42e448
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42e44c
inc eax
inc eax
inc ecx
inc ecx
test dl, dl
jne 0x42e42e
xor eax, eax
jmp 0x42e451
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42e5e8
lea eax, [esp + 0x38]
push eax
push 0x35
mov esi, edi
call fcn.0042c0a8
mov esi, dword [esp + 0x24]
cmp esi, dword [esp + 0x34]
je 0x42e481
push dword [esp + 0x34]
call fcn.0043c0d7
pop ecx
mov dword [esp + 0x34], esi
jmp 0x42e500
push dword [ebp + 0xc]
mov eax, edi
push dword [esp + 0x1c]
call fcn.0042f030
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x24], eax
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42e4b5
test dl, dl
je 0x42e4b1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42e4b5
inc eax
inc eax
inc ecx
inc ecx
test dl, dl
jne 0x42e497
xor eax, eax
jmp 0x42e4ba
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42e4ee
mov eax, dword [edi + 0x238]
mov esi, dword [eax + 0x558]
push 0
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x24]
call fcn.004207be
add esp, 0x10
lea eax, [esp + 0x38]
push eax
push 0x36
mov esi, edi
call fcn.0042c0a8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x238]
lea edi, [esp + 0x24]
call fcn.004279f5
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x238]
lea edi, [esp + 0x8c]
call fcn.004279f5
push dword [esp + 0x74]
mov edi, dword [ebx + 0x238]
call fcn.0042783b
mov eax, dword [esp + 0x88]
inc dword [esp + 0x44]
add dword [esp + 0x54], eax
cmp byte [esp + 0x1f], 0
jne 0x42e5d4
cmp dword [ebp + 0x1c], 0
je 0x42e54f
mov esi, dword [ebp + 0x1c]
push 0
push eax
call fcn.0041fb57
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.0042c0a8
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 0x42e586
fadd qword [0x459d20]
mov eax, dword [esp + 0x68]
fmul qword [0x459d08]
fild dword [esp + 0x68]
test eax, eax
jge 0x42e59e
fadd qword [0x459d20]
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.0042c9f1
test al, al
je 0x42ec74
mov eax, dword [ebx + 0x238]
lea edi, [esp + 0x34]
call fcn.004279f5
jmp 0x42e0b1
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x238]
lea edi, [esp + 0x8c]
call fcn.004279f5
push dword [esp + 0x74]
mov edi, dword [esi + 0x238]
call fcn.0042783b
jmp 0x42e61c
lea eax, [esp + 0x38]
push eax
push 0x25
mov esi, edi
call fcn.0042c0a8
mov edi, dword [esp + 0x34]
mov ebx, esi
mov esi, dword [esp + 0x24]
cmp esi, edi
je 0x42e635
push edi
call fcn.0043c0d7
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.004302de
mov dword [esp + 0x24], eax
cmp eax, edi
je 0x42ea59
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e65b
sub eax, edx
je 0x42ea59
cmp byte [ebp + 0x10], cl
je 0x42e68b
mov eax, dword [ebx + 0x234]
push edi
push str.hash
push dword [esp + 0x20]
call fcn.004302de
mov dword [esp + 0x9c], eax
cmp byte [ebx + 0x23c], 0
je 0x42e6db
cmp dword [esp + 0x14], edi
jbe 0x42e6db
mov eax, dword [esp + 0x20]
mov esi, dword [eax + edi*4]
push dword [esi + 0x14]
call fcn.00433545
cmp byte [esi + 9], 0
pop ecx
mov byte [esp + 0x13], 0
je 0x42e6c0
cmp byte [esi + 8], 0
jne 0x42e6c0
mov byte [esp + 0x13], 1
push dword [esi + 0x14]
call fcn.00433559
cmp byte [esp + 0x17], 0
pop ecx
jne 0x42ed4b
inc edi
cmp edi, dword [esp + 0x14]
jb 0x42e69a
push 0x1c
call fcn.0043b528
mov esi, eax
pop ecx
mov dword [esp + 0x60], esi
and dword [esp + 0x4e4], 0
test esi, esi
je 0x42e7f7
mov ecx, dword [ebx + 0x234]
push str.size
push dword [esp + 0x1c]
xor eax, eax
call fcn.0043031f
push eax
push dword [esp + 0x1c]
call fcn.00420343
mov esi, eax
mov dword [esp + 0x50], esi
jmp 0x42e800
mov eax, dword [esp + 0x88]
inc dword [esp + 0x44]
add dword [esp + 0x54], eax
xor edi, edi
cmp dword [ebp + 0x1c], edi
je 0x42e744
mov esi, dword [ebp + 0x1c]
push edi
push eax
call fcn.0041fb57
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.0042c0a8
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 0x42e77b
fadd qword [0x459d20]
mov eax, dword [esp + 0xa4]
fmul qword [0x459d08]
fild dword [esp + 0xa4]
test eax, eax
jge 0x42e799
fadd qword [0x459d20]
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.0042c9f1
test al, al
je 0x42ecfa
mov eax, dword [ebx + 0x238]
inc dword [esp + 0x44]
lea edi, [esp + 0x34]
call fcn.004279f5
lea eax, [esp + 0x38]
push eax
push 0x20
mov esi, ebx
call fcn.0042c0a8
jmp 0x42e0a6
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 0x42e84e
add dword [esp + 0x48], 0x40
mov eax, dword [esp + 0x48]
shl eax, 2
push eax
push dword [esp + 0x24]
call fcn.0043c165
pop ecx
pop ecx
mov dword [esp + 0x20], eax
cmp edi, dword [esp + 0x48]
jae 0x42e84e
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.00433545
mov edi, dword [esi + 4]
pop ecx
push dword [esi + 0x14]
call fcn.00433559
mov dword [esp + 0x64], edi
fild dword [esp + 0x64]
pop ecx
test edi, edi
jge 0x42e893
fadd qword [0x459d20]
mov eax, dword [esp + 0x5c]
fild dword [esp + 0x5c]
test eax, eax
jge 0x42e8a5
fadd qword [0x459d20]
cmp byte [esp + 0x1f], 0
fdivp st(1)
fstp qword [esp + 0x90]
jne 0x42e99e
mov esi, ebx
call fcn.0042d5fb
test al, al
jne 0x42ed99
push 0x30
call fcn.0043b528
mov esi, eax
pop ecx
test esi, esi
je 0x42e906
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.0041fddb
mov dword [esp + 0x30], eax
jmp 0x42e90b
and dword [esp + 0x30], 0
push dword [esp + 0x30]
mov esi, ebx
call fcn.0042c7b4
push dword [esp + 0x30]
mov edi, dword [esp + 0x54]
call fcn.004203ab
mov esi, edi
push dword [esi + 0x14]
call fcn.00433545
pop ecx
push dword [esi + 0x14]
mov byte [esi + 0x10], 0
call fcn.00433559
mov eax, dword [ebp + 0x1c]
pop ecx
mov ecx, dword [esp + 0x30]
mov dword [ecx + 0x2c], eax
push dword [esi + 0x14]
call fcn.00433545
mov edi, dword [esi + 0xc]
pop ecx
push dword [esi + 0x14]
call fcn.00433559
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.004263e1
jmp 0x42eae8
push dword [esp + 0x28]
mov edi, dword [esp + 0x54]
call fcn.004203ab
push dword [edi + 0x14]
call fcn.00433545
pop ecx
push dword [edi + 0x14]
mov byte [edi + 0x10], 0
call fcn.00433559
cmp dword [esp + 0x1c], 0
pop ecx
je 0x42ea52
mov eax, dword [esp + 0x24]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42e9d3
push dword [esp + 0x18]
sub eax, ecx
lea ebx, [eax + 8]
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x238]
call fcn.004278d5
mov edi, eax
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x42e9f4
mov ecx, dword [esp + 0x24]
mov esi, 0x459578
movsd dword es:[edi], dword [esi]
mov esi, ecx
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x42ea08
sub ecx, esi
mov edi, eax
mov edx, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x42ea16
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.0042c9f1
test al, al
je 0x42ede8
mov ebx, esi
xor eax, eax
jmp 0x42e95c
mov eax, dword [esp + 0x18]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ea60
sub eax, esi
add eax, 0x10
push eax
push str.Location_missing_for:
mov esi, ebx
call fcn.0042ca46
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ea83
mov edi, dword [esp + 0x24]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x42ea91
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.0042c9f1
lea eax, [esp + 0x24]
push eax
call fcn.0042cac4
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.0042c9f1
mov eax, dword [ebx + 0x238]
lea edi, [esp + 0x34]
call fcn.004279f5
mov eax, dword [esp + 0x58]
mov ecx, dword [ebx + 0x234]
call fcn.004329b7
mov dword [esp + 0x18], eax
test eax, eax
jne 0x42df38
xor edi, edi
cmp dword [esp + 0x64], edi
je 0x42eb41
jbe 0x42eb35
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x64]
mov eax, dword [ebx + 0x238]
call fcn.004279f5
add edi, 4
dec esi
jne 0x42eb24
push dword [esp + 0x6c]
call fcn.0043c0d7
pop ecx
xor edi, edi
mov esi, ebx
mov byte [esp + 0x10], 1
call fcn.0042d62f
mov dword [esp + 0x30], edi
cmp dword [esp + 0x14], edi
jbe 0x42ebbc
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov esi, dword [eax + ecx*4]
push dword [esi + 0x14]
call fcn.00433545
mov al, byte [esi + 8]
pop ecx
push dword [esi + 0x14]
mov byte [esp + 0x17], al
call fcn.00433559
mov al, byte [esp + 0x17]
and byte [esp + 0x14], al
pop ecx
push dword [esi + 0x14]
call fcn.00433545
mov al, byte [esi + 8]
pop ecx
push dword [esi + 0x14]
mov byte [esp + 0x17], al
call fcn.00433559
cmp byte [esp + 0x17], 0
pop ecx
je 0x42ebaa
inc dword [esp + 0x84]
inc dword [esp + 0x30]
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x14]
jb 0x42eb57
cmp dword [esp + 0x14], edi
je 0x42ebeb
xor esi, esi
cmp dword [esp + 0x14], edi
jbe 0x42ebe1
mov eax, dword [esp + 0x20]
mov eax, dword [eax + esi*4]
cmp eax, edi
je 0x42ebda
mov edi, eax
call fcn.0042efe4
xor edi, edi
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42ebc6
push dword [esp + 0x20]
call fcn.0043c0d7
pop ecx
cmp byte [esp + 0x10], 0
mov esi, ebx
je 0x42ee94
push dword [ebp + 0x1c]
fld dword [0x459d04]
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.0042c9f1
test al, al
jne 0x42eeb8
jmp 0x42eeb3
lea eax, [esp + 0x34]
push eax
mov esi, ebx
call fcn.0042cac4
call fcn.0042d62f
xor edi, edi
cmp dword [esp + 0x14], edi
je 0x42ec6c
xor esi, esi
cmp dword [esp + 0x14], edi
jbe 0x42ec62
mov eax, dword [esp + 0x20]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x42ec59
call fcn.0042efe4
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42ec49
xor edi, edi
push dword [esp + 0x20]
call fcn.0043c0d7
pop ecx
push edi
push 0x26
jmp 0x42dfbc
xor esi, esi
cmp dword [esp + 0x14], esi
je 0x42ec9f
jbe 0x42ec95
mov eax, dword [esp + 0x20]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x42ec8e
call fcn.0042efe4
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42ec7e
push dword [esp + 0x20]
call fcn.0043c0d7
pop ecx
cmp dword [esp + 0x28], 0
je 0x42ecb1
push dword [esp + 0x28]
mov esi, ebx
call fcn.0042c7b4
cmp byte [esp + 0x11], 0
je 0x42ece8
push dword [ebx + 0x274]
call fcn.00433545
mov esi, dword [ebx + 0x238]
pop ecx
test esi, esi
je 0x42ecdc
push dword [ebp + 0x1c]
push 2
pop ebx
call fcn.00429361
mov ebx, dword [ebp + 8]
push dword [ebx + 0x274]
call fcn.00433559
pop ecx
cmp byte [esp + 0x12], 0
je 0x42dcd0
push 0
jmp 0x42e02c
cmp dword [esp + 0x14], edi
je 0x42ed29
xor esi, esi
cmp dword [esp + 0x14], edi
jbe 0x42ed1f
mov eax, dword [esp + 0x20]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x42ed18
call fcn.0042efe4
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42ed08
push dword [esp + 0x20]
call fcn.0043c0d7
pop ecx
cmp byte [esp + 0x10], 0
je 0x42ec9f
lea eax, [esp + 0x38]
push eax
push dword [ebp + 0x18]
mov esi, ebx
push dword [ebp + 0x14]
call fcn.0042c13e
jmp 0x42ec9f
mov esi, ebx
call fcn.0042d62f
xor esi, esi
cmp dword [esp + 0x14], esi
je 0x42ed7d
mov eax, dword [esp + 0x20]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x42ed6c
mov edi, eax
call fcn.0042efe4
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42ed5a
push dword [esp + 0x20]
call fcn.0043c0d7
pop ecx
push 0
push 0x1c
mov esi, ebx
call fcn.0042c0a8
lea eax, [esp + 0x38]
push eax
push 0x1c
call fcn.0042c0a8
jmp 0x42ec9f
mov esi, ebx
call fcn.0042d62f
lea eax, [esp + 0x38]
push eax
push 0x19
call fcn.0042c0a8
xor edi, edi
push edi
push 0x19
call fcn.0042c0a8
cmp dword [esp + 0x14], edi
je 0x42ec9f
xor esi, esi
cmp dword [esp + 0x14], edi
jbe 0x42ec95
mov eax, dword [esp + 0x20]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x42eddc
call fcn.0042efe4
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42edcc
jmp 0x42ec95
xor ebx, ebx
cmp dword [esp + 0x14], ebx
je 0x42ee19
xor esi, esi
cmp dword [esp + 0x14], ebx
jbe 0x42ee0f
mov eax, dword [esp + 0x20]
mov edi, dword [eax + esi*4]
cmp edi, ebx
je 0x42ee08
call fcn.0042efe4
inc esi
cmp esi, dword [esp + 0x14]
jb 0x42edf8
push dword [esp + 0x20]
call fcn.0043c0d7
pop ecx
mov esi, dword [ebp + 8]
cmp byte [esp + 0x10], bl
je 0x42ee32
lea eax, [esp + 0x38]
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042c13e
cmp dword [esp + 0x28], ebx
je 0x42ee41
push dword [esp + 0x28]
call fcn.0042c7b4
cmp byte [esp + 0x11], bl
je 0x42ee7b
push dword [esi + 0x274]
call fcn.00433545
mov eax, dword [esi + 0x238]
pop ecx
cmp eax, ebx
je 0x42ee6f
push dword [ebp + 0x1c]
mov esi, eax
push 2
pop ebx
call fcn.00429361
mov esi, dword [ebp + 8]
xor ebx, ebx
push dword [esi + 0x274]
call fcn.00433559
pop ecx
cmp byte [esp + 0x12], bl
je 0x42ee8d
push ebx
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042c13e
mov edi, esi
jmp 0x42dcd2
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.0042c9f1
test al, al
jne 0x42ef39
mov byte [esp + 0x10], 0
cmp byte [esp + 0x10], 0
je 0x42ef39
push edi
push dword [esp + 0x48]
lea eax, [esp + 0xe0]
push str._llu_files_already_existed_locally
push eax
call fcn.0043c3ca
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.0042c9f1
push edi
push dword [esp + 0x88]
lea eax, [esp + 0xe0]
push str._llu_files_individually_downloaded
push eax
call fcn.0043c3ca
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.0042c9f1
push edi
push 0x3b
jmp 0x42ef3c
push edi
push 0x3c
mov esi, ebx
call fcn.0042c0a8
cmp dword [esp + 0x28], edi
je 0x42ef52
push dword [esp + 0x28]
call fcn.0042c7b4
cmp byte [esp + 0x11], 0
je 0x42efa9
cmp byte [esp + 0x10], 0
je 0x42ef77
mov esi, dword [ebp + 0x1c]
cmp esi, edi
je 0x42efa9
push dword [esi]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.0043b4d0
jmp 0x42efa8
push dword [ebx + 0x274]
call fcn.00433545
mov esi, dword [ebx + 0x238]
pop ecx
cmp esi, edi
je 0x42ef9d
push dword [ebp + 0x1c]
push 2
pop ebx
call fcn.00429361
mov ebx, dword [ebp + 8]
xor edi, edi
push dword [ebx + 0x274]
call fcn.00433559
pop ecx
cmp byte [esp + 0x12], 0
je 0x42efbe
push edi
push dword [ebp + 0x18]
mov esi, ebx
push dword [ebp + 0x14]
call fcn.0042c13e
mov edi, ebx
call fcn.0042d5c7
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