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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x4ea5e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
xor ecx, ecx
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x124], ecx
cmp dword [edi + 0x1c], ecx
je 0x4687cc
cmp esi, ecx
jne 0x4687cc
xor eax, eax
jmp 0x4687d1
mov eax, 1
lea ebx, [edi + 0x109f0]
mov dword [edi + 0x7c], eax
mov eax, ebx
mov dword [edi + 0x10b80], ecx
mov dword [edi + 0x10b84], ecx
mov dword [ebp - 0x118], ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4687f1
sub eax, edx
mov dword [edi + 0x10b88], eax
test esi, esi
je 0x4688af
mov eax, ebx
cmp byte [eax], cl
je 0x468826
mov edi, edi
cmp byte [eax], 0x5c
jne 0x468818
mov byte [eax], 0x2f
push eax
call fcn.004b1232
add esp, 4
cmp byte [eax], 0
jne 0x468810
mov al, byte [ebx]
mov dword [ebp - 0x114], ebx
cmp al, 0x2f
jne 0x46884e
mov eax, 1
add dword [ebp - 0x114], eax
mov dword [edi + 0x10b84], eax
mov word [ebp - 0x110], 0x2f
jmp 0x4688af
movzx eax, al
push eax
call fcn.004aa54b
add esp, 4
test eax, eax
je 0x4688af
cmp byte [edi + 0x109f1], 0x3a
jne 0x4688af
mov eax, ebx
mov dword [edi + 0x10b84], 1
mov cl, byte [eax]
mov dl, byte [eax + 1]
add eax, 2
cmp byte [eax], 0x2f
mov byte [ebp - 0x110], cl
mov byte [ebp - 0x10f], dl
lea ecx, [ebp - 0x10e]
mov dword [ebp - 0x114], eax
jne 0x4688ac
inc eax
mov byte [ebp - 0x10e], 0x2f
lea ecx, [ebp - 0x10d]
mov dword [ebp - 0x114], eax
mov byte [ecx], 0
push 1
lea edx, [ebp - 0x110]
mov ecx, edi
call fcn.00469100
add esp, 4
mov dword [ebp - 0x11c], eax
test eax, eax
jne 0x468eaf
mov byte [ebp - 0x110], al
lea esi, [ebp - 0x110]
cmp dword [ebp + 8], eax
jne 0x46890d
cmp dword [edi + 0x24], eax
je 0x4688f6
push 0x2f
push ebx
call fcn.004ab543
add esp, 8
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0
jne 0x468907
mov dword [ebp - 0x114], ebx
jmp 0x46890d
inc dword [ebp - 0x114]
mov eax, dword [ebp - 0x114]
movzx ebx, byte [eax]
test ebx, ebx
je 0x468b20
lea eax, [ebx - 0x20]
cmp eax, 0x5c
ja case.0x468931.33
movzx ecx, byte [eax + 0x468ed4]
jmp dword [ecx*4 + 0x468ec0]
mov byte [esi], 0
lea esi, [ebp - 0x110]
call fcn.00468f40
mov ecx, 0x4d8f74
mov eax, esi
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x468970
test dl, dl
je 0x46896c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x468970
add eax, 2
add ecx, 2
test dl, dl
jne 0x468950
xor eax, eax
jmp 0x468975
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x468990
mov byte [ebp - 0x110], al
lea esi, [ebp - 0x110]
mov dword [ebp - 0x120], eax
jmp 0x468aa0
cmp dword [edi + 0x64], 0
jne 0x4689eb
mov ecx, 0x4d8f78
lea eax, [ebp - 0x110]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4689c1
test dl, dl
je 0x4689bd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4689c1
add eax, 2
add ecx, 2
test dl, dl
jne 0x4689a1
xor eax, eax
jmp 0x4689c6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4689eb
mov byte [ebp - 0x110], al
mov dword [ebp - 0x124], 1
lea esi, [ebp - 0x110]
mov dword [ebp - 0x120], eax
jmp 0x468aa0
cmp byte [ebp - 0x110], 0
je 0x468a1c
push 2
lea edx, [ebp - 0x110]
mov ecx, edi
call fcn.00469100
mov dword [ebp - 0x11c], eax
and eax, 0x7f00
add esp, 4
cmp eax, 0x100
jg 0x468ea9
lea esi, [ebp - 0x110]
mov dword [ebp - 0x120], 0
jmp 0x468aa0
mov byte [esi], 0x5f
inc esi
jmp 0x468aa0
mov dword [ebp - 0x120], esi
mov byte [esi], 0x3b
inc esi
jmp 0x468aa0
cmp dword [edi + 0x3c], 0
jne case.0x468931.34
mov ecx, dword [ebp - 0x118]
mov ebx, edi
call fcn.004681d0
test eax, eax
je 0x468a60
cmp dword [edi + 0x10b94], 0
jne case.0x468931.34
mov byte [esi], 0x20
inc esi
jmp 0x468aa0
push ebx
call fcn.004aa7d4
add esp, 4
test eax, eax
jne 0x468a78
cmp ebx, 0x7f
jb 0x468aa0
call fcn.004b0bae
mov ebx, dword [ebp - 0x114]
push eax
push ebx
call fcn.004b06f0
push eax
push ebx
push esi
call fcn.004b29a0
add esp, 0x14
push esi
call fcn.004b1232
add esp, 4
mov esi, eax
mov edx, dword [ebp - 0x114]
push edx
call fcn.004b1232
movzx ebx, byte [eax]
add esp, 4
mov dword [ebp - 0x114], eax
test ebx, ebx
jne 0x46891e
cmp dword [ebp - 0x124], ebx
je 0x468b20
cmp dword [edi + 0x38], ebx
jne 0x468b20
mov eax, dword [ebp - 0x118]
push ebx
lea ebx, [edi + 0x88dc]
call fcn.0046d700
push eax
push str.warning:__skipped__..___path_component_s__in__s_n
lea ebx, [edi + 0x8dc]
push ebx
call fcn.004a931b
add esp, 0xc
push eax
mov eax, dword [edi + 0x10b54]
push ebx
push edi
call eax
test dword [ebp - 0x11c], 0xffff80ff
jne 0x468b20
mov ecx, dword [ebp - 0x11c]
and ecx, 0x7f00
or ecx, 1
mov dword [ebp - 0x11c], ecx
mov ebx, dword [ebp - 0x118]
cmp byte [ebx], 0
mov edx, dword [edi + 0x10b88]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x124], ebx
je 0x468b68
cmp dword [ebp - 0x114], 0
jbe 0x468b68
mov dword [ebp - 0x124], ebx
call fcn.004b0bae
push eax
push ebx
call fcn.004b06f0
sub dword [ebp - 0x114], eax
add ebx, eax
add esp, 8
cmp byte [ebx], 0
jne 0x468b3d
mov eax, dword [ebp - 0x124]
cmp byte [eax], 0x2f
jne 0x468ccb
mov esi, dword [ebp - 0x118]
push 4
mov edx, esi
mov ecx, edi
call fcn.00469100
add esp, 4
cmp dword [edi + 0x10b80], 0
je 0x468c4e
cmp dword [edi + 0x38], 0
jne 0x468bd7
mov eax, dword [ebp - 0x118]
push 0
lea ebx, [edi + 0x88dc]
lea esi, [edi + 0x8dc]
call fcn.0046d700
push eax
push str.___creating:___22s_n
push esi
call fcn.004a931b
mov ecx, dword [edi + 0x10b54]
add esp, 0xc
push eax
push esi
push edi
call ecx
mov esi, dword [ebp - 0x118]
mov edx, dword [edi + 0x8d8]
mov eax, dword [edx + 0x14]
test al, 0x6f
je 0x468c2d
and eax, 0x7f
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x468c2d
mov eax, dword [ebp - 0x118]
push 1
lea ebx, [edi + 0x88dc]
lea esi, [edi + 0x8dc]
call fcn.0046d700
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._nwarning___d_:_could_not_set_file_attributes_for__s_n
push esi
call fcn.004a931b
add esp, 0x10
push eax
mov eax, dword [edi + 0x10b54]
push esi
push edi
call eax
mov eax, dword [ebp - 0x11c]
and eax, 0xffff90ff
or eax, 0x1000
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a8a2f
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x78], 1
jne 0x468caa
mov ecx, dword [edi + 0x8d8]
mov eax, dword [ecx + 0x14]
test al, 0x6f
je 0x468caa
and eax, 0x7f
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x468caa
mov eax, dword [ebp - 0x118]
push 1
lea ebx, [edi + 0x88dc]
lea esi, [edi + 0x8dc]
call fcn.0046d700
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._nwarning___d_:_could_not_set_file_attributes_for__s_n
push esi
call fcn.004a931b
mov edx, dword [edi + 0x10b54]
add esp, 0x10
push eax
push esi
push edi
call edx
mov eax, dword [ebp - 0x11c]
and eax, 0xffff82ff
or eax, 0x200
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a8a2f
mov esp, ebp
pop ebp
ret
mov byte [esi], 0
cmp dword [edi + 0x54], 0
jne 0x468d11
cmp dword [ebp - 0x120], 0
je 0x468d11
mov ebx, dword [ebp - 0x120]
movzx eax, byte [ebx + 1]
lea esi, [ebx + 1]
push eax
call fcn.004aa64b
add esp, 4
test eax, eax
je 0x468d09
movzx ecx, byte [esi + 1]
inc esi
push ecx
call fcn.004aa64b
add esp, 4
test eax, eax
jne 0x468cf7
cmp byte [esi], 0
jne 0x468d11
mov byte [ebx], 0
lea edx, [edi + 0x10980]
push edx
lea eax, [ebp - 0x110]
push eax
call fcn.004ab634
add esp, 8
test eax, eax
jne 0x468e48
mov ecx, 0x2000
test word [edi + 0x10986], cx
je 0x468e48
lea eax, [ebp - 0x110]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x468d50
sub eax, edx
inc eax
je 0x468d71
lea esp, [esp]
dec eax
mov dl, byte [ebp + eax - 0x110]
mov byte [ebp + eax - 0x10f], dl
jne 0x468d60
mov byte [ebp - 0x110], 0x5f
push 3
lea edx, [ebp - 0x110]
mov ecx, edi
call fcn.00469100
mov edx, dword [ebp - 0x118]
add esp, 4
push 4
mov ecx, edi
call fcn.00469100
mov ecx, dword [edi + 0x8d8]
add esp, 4
test byte [ecx + 0x18], 0x20
je 0x468ea9
mov dl, byte [edi + 0x10b8c]
mov ax, word [0x4dfff0]
mov cl, byte [0x4dfff2]
add dl, 0x60
cmp dword [edi + 0x38], 0
mov byte [ebp - 0x120], dl
mov word [ebp - 0x11f], ax
mov byte [ebp - 0x11d], cl
jne 0x468e14
mov eax, dword [ebp - 0x118]
push 0
lea ebx, [edi + 0x88dc]
lea esi, [edi + 0x8dc]
call fcn.0046d700
push eax
lea edx, [ebp - 0x120]
push edx
push str.labelling__s___22s_n
push esi
call fcn.004a931b
add esp, 0x10
push eax
mov eax, dword [edi + 0x10b54]
push esi
push edi
call eax
mov ecx, dword [ebp - 0x118]
push ecx
lea edx, [ebp - 0x120]
push edx
call dword [sym.imp.KERNEL32.dll_SetVolumeLabelA]
test eax, eax
jne 0x468caa
push 1
lea esi, [edi + 0x8dc]
push str.mapname:__error_setting_volume_label_n
push esi
call fcn.004a931b
add esp, 8
jmp 0x468e7d
cmp byte [ebp - 0x110], 0
jne 0x468d78
mov eax, dword [ebp - 0x118]
push 1
lea ebx, [edi + 0x88dc]
lea esi, [edi + 0x8dc]
call fcn.0046d700
push eax
push str.mapname:__conversion_of__s_failed_n
push esi
call fcn.004a931b
add esp, 0xc
push eax
mov eax, dword [edi + 0x10b54]
push esi
push edi
call eax
mov eax, dword [ebp - 0x11c]
and eax, 0xffff83ff
or eax, 0x300
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a8a2f
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a8a2f
mov esp, ebp
pop ebp
ret