Function at 0x415bd0
Capabilities:
Resolve function by parsing pe exports
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4731ab
mov eax, dword fs:[0]
push eax
sub esp, 0x104
mov eax, dword [0x48f840]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [0x49645c]
mov eax, dword [ebp + 8]
movzx ecx, ax
mov dword [ebp - 0x10c], ecx
mov al, byte [esi + 0x54]
not al
mov dword [ebp - 0x110], esi
and al, 1
jne 0x415e89
mov edx, dword [esi + 0xbc]
mov eax, dword [edx + 4]
sub eax, dword [edx]
sar eax, 2
cmp cx, ax
jae 0x415e89
mov eax, 0xffff
cmp cx, ax
je 0x415e89
mov eax, dword [edx]
movzx ecx, cx
mov ebx, dword [eax + ecx*4]
test ebx, ebx
je 0x415e89
mov eax, dword [ebx + 0x80]
test eax, eax
jne 0x415c9e
lea ecx, [ebx + 0x74]
call fcn.00412500
push dword [ebx + 0x80]
mov ecx, ebx
call fcn.00413560
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x415c98
push eax
call fcn.0043d771
add esp, 4
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x78], 0
mov eax, dword [ebx + 0x80]
xor ecx, ecx
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x34], 0
mov word [ebp - 0x44], cx
push 0xffffffffffffffff
push ecx
mov dword [ebp - 4], ecx
lea ecx, [ebp - 0x44]
push eax
call fcn.00402ab0
mov dword [ebp - 4], 1
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 8
mov ecx, esi
cmovae eax, dword [ebp - 0x44]
sub esp, 0xc
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00416240
mov byte [ebp - 4], 2
mov ecx, dword [esi + 8]
mov edx, ecx
mov eax, dword [ecx + 4]
cmp byte [eax + 0xd], 0
jne 0x415d09
cmp dword [eax + 0x10], 8
jge 0x415cff
mov eax, dword [eax + 8]
jmp 0x415d03
mov edx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x415cf4
cmp edx, ecx
je 0x415d19
cmp dword [edx + 0x10], 8
mov dword [ebp - 0x104], edx
jle 0x415d1f
mov dword [ebp - 0x104], ecx
lea eax, [ebp - 0x104]
mov eax, dword [eax]
cmp eax, ecx
je 0x415d37
mov edi, dword [eax + 0x14]
mov dword [edi + 0x3c], 8
jmp 0x415d39
xor edi, edi
mov dword [ebp - 0x104], edi
test edi, edi
je 0x415d62
cmp dword [ebp - 0x18], 8
lea edx, [ebp - 0x2c]
mov eax, dword [edi]
lea ecx, [ebp - 0x44]
cmovae edx, dword [ebp - 0x2c]
cmp dword [ebp - 0x30], 8
push edx
cmovae ecx, dword [ebp - 0x44]
push ecx
mov ecx, edi
call dword [eax + 0xc]
mov ecx, ebx
call fcn.004139d0
shr eax, 4
test al, 1
je 0x415e1a
test edi, edi
je 0x415d81
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x10]
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x2c]
call fcn.0041b6e0
cmp dword [ebp - 0x18], 8
lea esi, [ebp - 0x2c]
mov ecx, ebx
cmovae esi, dword [ebp - 0x2c]
call fcn.004139d0
push 1
mov edx, esi
lea ecx, [ebp - 0x5c]
mov ebx, eax
call fcn.0041e4a0
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x415dbc
mov eax, dword [eax]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp dword [ebp - 0x48], 8
jb 0x415dd5
push dword [ebp - 0x5c]
call fcn.0043d771
add esp, 4
test edi, edi
je 0x415de0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x18]
cmp dword [ebp - 0x18], 8
jb 0x415df1
push dword [ebp - 0x2c]
call fcn.0043d771
add esp, 4
xor eax, eax
mov dword [ebp - 0x18], 7
cmp dword [ebp - 0x30], 8
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
jb 0x415e16
push dword [ebp - 0x44]
call fcn.0043d771
add esp, 4
mov al, 1
jmp 0x415e8b
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x2c]
call fcn.00417fe0
test eax, eax
je 0x415e42
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x2c]
push ecx
call fcn.004181e0
add esp, 4
push dword [ebp - 0x10c]
mov ecx, esi
call fcn.00415540
test al, al
jne 0x415ea9
cmp dword [ebp - 0x18], 8
jb 0x415e64
push dword [ebp - 0x2c]
call fcn.0043d771
add esp, 4
xor eax, eax
mov dword [ebp - 0x18], 7
cmp dword [ebp - 0x30], 8
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
jb 0x415e89
push dword [ebp - 0x44]
call fcn.0043d771
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0043d762
mov esp, ebp
pop ebp
ret 0x18
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x100]
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.00414820
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x100]
call fcn.00414bf0
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 8
jb 0x415edf
mov eax, dword [eax]
mov ecx, eax
call fcn.0041b6e0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x48], 8
jb 0x415efb
push dword [ebp - 0x5c]
call fcn.0043d771
add esp, 4
test edi, edi
je 0x415f09
mov eax, dword [edi]
mov ecx, edi
push dword [ebx + 0x1c]
call dword [eax + 0x10]
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
push ecx
cmovae eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x7c]
push eax
call fcn.0041dbe0
mov byte [ebp - 4], 5
push 0x10000
mov dword [ebp - 0x50], vtable.CZipAutoBuffer.0
call fcn.0043d776
mov edx, eax
mov ebx, 0x10000
add esp, 4
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], ebx
mov byte [ebp - 4], 6
jmp 0x415f51
mov edx, dword [ebp - 0x4c]
mov ebx, 0x10000
cmp dword [esi + 0xc8], 0xffffffff
jne 0x415fd9
test edx, edx
je 0x415fd9
test ebx, ebx
je 0x415fd9
mov ecx, dword [esi + 0x118]
push ebx
push edx
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ebx, eax
test ebx, ebx
je 0x415fd9
push ebx
push dword [ebp - 0x4c]
push dword [ebp - 0x78]
call fcn.00443018
add esp, 0xc
cmp eax, ebx
jne 0x415fd1
test edi, edi
je 0x415f49
push ebx
mov ecx, edi
call fcn.00414770
test al, al
jne 0x415f49
cmp ebx, 0x10000
jne 0x415fee
cmp dword [esi + 0xc8], 0xffffffff
jne 0x415fee
mov ecx, dword [esi + 0x118]
push 1
push dword [ebp - 0x4c]
mov eax, dword [ecx]
call dword [eax + 0x10]
test eax, eax
je 0x415fee
push 1
push ecx
mov ecx, esi
mov ebx, 0xce
call fcn.00415ac0
jmp 0x41606b
lea ecx, [ebp - 0x7c]
call fcn.0041dc60
test edi, edi
je 0x416084
push 0
mov ecx, edi
call fcn.004147d0
test al, al
jne 0x416015
mov ebx, 0xcf
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 7
push eax
mov ecx, esi
call fcn.00415940
cmp eax, 1
mov dword [ebp - 4], 6
sete al
test al, al
jne 0x41606b
jmp 0x41605c
xor ebx, ebx
jne 0x41602f
lea eax, [ebp - 0x7c]
mov ecx, esi
push eax
call fcn.00415940
mov edx, dword [edi]
mov ecx, edi
mov ebx, eax
call dword [edx + 0x18]
jmp 0x416091
cmp ebx, 0xce
jne 0x415ff3
push 1
push ecx
mov ecx, esi
call fcn.00415ac0
jmp 0x41606b
push 1
push ecx
mov ecx, esi
call fcn.00415ac0
mov ebx, 0xce
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x18]
cmp dword [ebp - 0x18], 8
lea edx, [ebp - 0x2c]
mov ecx, ebx
cmovae edx, dword [ebp - 0x2c]
call fcn.00411d20
lea eax, [ebp - 0x7c]
mov ecx, esi
push eax
call fcn.00415940
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4160ae
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
mov ecx, esi
cmovae eax, dword [ebp - 0x2c]
push eax
push 0xc9
call fcn.004154c0
cmp ebx, 1
lea ecx, [ebp - 0x50]
sete bl
call fcn.0041b000
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 3
call fcn.004146a0
lea ecx, [ebp - 0x100]
call fcn.0041e2c0
lea ecx, [ebp - 0x2c]
call fcn.00402990
lea ecx, [ebp - 0x44]
call fcn.00402990
mov al, bl
jmp 0x415e8b