Function at 0x428010
Capabilities:
Inspect section memory permissions

Disassembly:
push 0xffffffffffffffff
push 0x519dc6
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
mov eax, dword [0x55609c]
xor eax, esp
mov dword [esp + 0x88], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x55609c]
xor eax, esp
push eax
lea eax, [esp + 0xa0]
mov dword fs:[0], eax
mov eax, dword [esp + 0xb8]
mov ebp, dword [esp + 0xb0]
mov edi, dword [esp + 0xb4]
mov esi, dword [esp + 0xbc]
mov ebx, edx
mov edx, dword [ebx + 0x10]
and edx, 0xe0000000
cmp edx, 0x20000000
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], ecx
jne 0x4282f4
push str.length
mov eax, ebx
call fcn.0044d820
test eax, eax
je 0x4282f4
mov ecx, dword [eax + 0x10]
and ecx, 0xe0000000
cmp ecx, 0x80000000
jne 0x4282f4
mov edx, eax
call fcn.0044d450
test edx, edx
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x2c], edx
jg 0x4280d2
jl 0x4282f4
test eax, eax
jb 0x4282f4
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
mov eax, str.mtime
call fcn.0044d780
test edx, edx
jl 0x4280f0
jg 0x4280eb
test eax, eax
jbe 0x4280f0
mov dword [esi], eax
mov dword [esi + 4], edx
push str.path.utf_8
mov eax, ebx
call fcn.0044d820
mov ebx, eax
xor esi, esi
cmp ebx, esi
je 0x428115
mov edx, dword [ebx + 0x10]
and edx, 0xe0000000
cmp edx, 0x40000000
je 0x428125
mov eax, dword [esp + 0x14]
push str.path
call fcn.0044d820
mov ebx, eax
cmp ebx, esi
je 0x4282f4
mov eax, dword [ebx + 0x10]
and eax, 0xe0000000
cmp eax, 0x40000000
jne 0x4282f4
push edi
lea ecx, [esp + 0x4c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov dword [esp + 0xa8], esi
mov eax, dword [ebx + 0xc]
cmp eax, esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], eax
jle 0x428234
mov dword [esp + 0x18], esi
mov ecx, dword [ebx]
mov edx, dword [esp + 0x18]
lea eax, [edx + ecx]
mov ecx, dword [eax + 0x10]
and ecx, 0xe0000000
cmp ecx, 0x60000000
jne 0x4282df
lea esi, [esp + 0x80]
call fcn.004275e0
mov edi, esi
mov byte [esp + 0xa8], 1
call fcn.00427ce0
test al, al
je 0x428203
mov edx, dword [esp + 0x24]
add edx, 0xffffffff
cmp dword [esp + 0x1c], edx
jne 0x4281bf
mov eax, dword [ebx]
add eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
lea edi, [esp + 0x80]
call fcn.00427d60
mov edx, edi
push edx
lea edx, [esp + 0x4c]
lea ecx, [esp + 0x68]
call fcn.00431410
add esp, 4
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0xac], 2
call dword [0x52e398]
lea ecx, [esp + 0x64]
mov byte [esp + 0xa8], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x80]
mov byte [esp + 0xa8], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, dword [esp + 0x1c]
add dword [esp + 0x18], 0x14
add eax, 1
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
jl 0x428169
xor esi, esi
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x4c]
call fcn.00427ec0
add esp, 4
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0xac], 3
call dword [0x52e398]
lea ecx, [esp + 0x64]
mov byte [esp + 0xa8], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 1
lea ecx, [esp + 0x4c]
call fcn.00427740
add esp, 4
push esi
push str._____padding_file_
lea ecx, [esp + 0x50]
call dword [sym.imp.MSVCP80.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int_const]
mov ecx, dword [sym.imp.MSVCP80.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
cmp eax, dword [ecx]
je 0x428296
or byte [ebp + 0x54], 1
lea edx, [esp + 0x48]
push edx
mov ecx, ebp
call dword [0x52e398]
mov edi, dword [esp + 0x14]
push edi
mov eax, str.attr
call fcn.0044d750
cmp eax, esi
mov bl, 8
je 0x428341
xor edx, edx
cmp dword [eax + 0xc], esi
jle 0x428341
mov ecx, dword [eax]
movsx ecx, byte [ecx + edx]
add ecx, 0xffffff98
cmp ecx, 0x10
ja case.0x4282d8.105
movzx ecx, byte [ecx + 0x428460]
jmp dword [ecx*4 + 0x42844c]
lea ecx, [esp + 0x48]
mov dword [esp + 0xa8], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor al, al
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x88]
xor ecx, esp
call fcn.00515015
add esp, 0x98
ret
or byte [ebp + 0x54], bl
mov dword [ebp + 0x28], esi
mov dword [ebp + 0x2c], esi
jmp case.0x4282d8.105
or byte [ebp + 0x54], 4
jmp case.0x4282d8.105
or byte [ebp + 0x54], 2
jmp case.0x4282d8.105
or byte [ebp + 0x54], 1
add edx, 1
cmp edx, dword [eax + 0xc]
jl 0x4282c3
push str.sha1
mov eax, edi
call fcn.0044d820
cmp eax, esi
je 0x428372
mov edx, dword [eax + 0x10]
and edx, 0xe0000000
cmp edx, 0x60000000
jne 0x428372
cmp dword [eax + 0xc], 0x14
jne 0x428372
mov ecx, dword [esp + 0x20]
cmp ecx, esi
je 0x428372
mov dword [ecx], eax
push str.symlink_path
mov eax, edi
call fcn.0044d820
cmp eax, esi
mov dword [esp + 0x20], eax
je 0x42842e
mov ecx, dword [eax + 0x10]
and ecx, 0xe0000000
cmp ecx, 0x40000000
jne 0x42842e
test byte [ebp + 0x54], bl
je 0x42842e
mov ecx, dword [eax + 0xc]
cmp ecx, esi
jle 0x42842e
lea ebx, [ebp + 0x58]
xor ebp, ebp
mov dword [esp + 0x14], ecx
jmp 0x4283c4
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
add eax, ebp
lea esi, [esp + 0x64]
call fcn.004275e0
mov edi, esi
mov byte [esp + 0xa8], 4
call fcn.00427d60
mov edx, esi
push edx
mov edx, ebx
lea ecx, [esp + 0x30]
call fcn.00431410
add esp, 4
push eax
mov ecx, ebx
mov byte [esp + 0xac], 5
call dword [0x52e398]
lea ecx, [esp + 0x2c]
mov byte [esp + 0xa8], 4
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ecx, esi
mov byte [esp + 0xa8], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
add ebp, 0x14
sub dword [esp + 0x14], 1
jne 0x4283c0
lea ecx, [esp + 0x48]
mov dword [esp + 0xa8], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov al, 1
jmp 0x4282f6