Function at 0x101173e0
Capabilities:
Get file attributes

Disassembly:
sub esp, 0x304
push ebx
push ebp
push esi
mov esi, dword [esp + 0x318]
test esi, esi
push edi
jne 0x10117405
pop edi
pop esi
pop ebp
mov eax, 0x12
pop ebx
add esp, 0x304
ret
mov eax, dword [esp + 0x320]
test eax, eax
jne 0x10117420
pop edi
pop esi
pop ebp
mov eax, 0x12
pop ebx
add esp, 0x304
ret
mov eax, dword [esp + 0x324]
test eax, eax
jne 0x1011743b
pop edi
pop esi
pop ebp
mov eax, 0x12
pop ebx
add esp, 0x304
ret
mov eax, dword [esp + 0x328]
test eax, eax
jne 0x10117456
pop edi
pop esi
pop ebp
mov eax, 0x12
pop ebx
add esp, 0x304
ret
mov eax, dword [esp + 0x32c]
test eax, eax
jne 0x10117471
pop edi
pop esi
pop ebp
mov eax, 0x12
pop ebx
add esp, 0x304
ret
mov cl, byte [esi + 0x220]
mov eax, dword [esp + 0x330]
mov dl, cl
mov eax, dword [eax + 0x6a]
and dl, 1
cmp dl, 1
jne 0x10117497
mov esi, dword [esi + 4]
shl esi, 0xb
mov dword [esp + 0x18], esi
jmp 0x1011749f
mov dword [esp + 0x18], 0
mov bl, cl
and bl, 2
cmp bl, 2
mov byte [esp + 0x13], bl
jne 0x101174bc
mov esi, dword [esp + 0x31c]
mov esi, dword [esi + 8]
shl esi, 0xb
jmp 0x101174be
xor esi, esi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x14], esi
test edi, edi
jne 0x101174de
test esi, esi
jne 0x101174de
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
add esp, 0x304
ret
mov bl, cl
and bl, 4
cmp bl, 4
jne 0x101174fa
mov esi, dword [esp + 0x31c]
mov esi, dword [esi]
shl esi, 0xb
mov dword [esp + 0x24], esi
jmp 0x10117502
mov dword [esp + 0x24], 0
mov bl, cl
and bl, 8
cmp bl, 8
jne 0x1011751b
mov esi, dword [esp + 0x31c]
mov esi, dword [esi + 0xc]
shl esi, 0xb
jmp 0x1011751d
xor esi, esi
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
lea ebp, [esi + ebx]
add ebp, edi
mov edi, dword [esp + 0x18]
add ebp, edi
cmp eax, ebp
jae 0x10117544
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
add esp, 0x304
ret
and cl, 0x10
cmp cl, 0x10
jne 0x10117580
mov ecx, dword [esp + 0x14]
and ecx, 0x7ff
je 0x10117580
mov ebp, dword [esp + 0x14]
add ebp, ecx
cmp ecx, esi
mov dword [esp + 0x14], ebp
jae 0x1011756a
sub esi, ecx
jmp 0x10117580
cmp ecx, edi
jae 0x10117576
sub edi, ecx
mov dword [esp + 0x18], edi
jmp 0x10117580
cmp ecx, ebx
jae 0x10117534
sub ebx, ecx
mov dword [esp + 0x24], ebx
cmp dl, 1
jne 0x10117595
mov ecx, dword [esp + 0x14]
sub eax, esi
sub eax, ebx
sub eax, ecx
mov dword [esp + 0x18], eax
jmp 0x101175a6
cmp byte [esp + 0x13], 2
jne 0x101175a6
sub eax, esi
sub eax, ebx
sub eax, edi
mov dword [esp + 0x14], eax
push 0x3d3
call fcn.10034761
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x101175cb
pop edi
pop esi
pop ebp
mov eax, 0x14
pop ebx
add esp, 0x304
ret
mov edx, dword [esp + 0x1c]
mov ecx, 0xf4
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x330]
mov ebp, dword [esp + 0x318]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [ecx + 0x53b]
push edx
push ebp
mov byte [edx + 0x7c], al
call dword [0x10794624]
add esp, 8
test eax, eax
jne 0x10117620
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.10034678
add esp, 4
mov eax, 0xf
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x304
ret
mov edi, dword [esp + 0x330]
mov eax, dword [esp + 0x1c]
cmp word [edi + 0x11], 0x1168
je 0x10117643
cmp byte [eax + 0xe], 8
jb 0x1011763f
mov byte [eax + 0x7b], 1
jmp 0x10117643
mov byte [eax + 0x7b], 0
mov dl, byte [edi + 0x53c]
mov ecx, 0x10
mov byte [eax + 0xf3], dl
xor eax, eax
lea edi, [esp + 0x2c]
mov byte [esp + 0x13], al
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
xor ecx, ecx
test edi, edi
setne cl
xor edx, edx
test eax, eax
setne dl
xor ecx, edx
je 0x10117768
test ebx, ebx
jne 0x10117768
test esi, esi
jne 0x10117768
lea eax, [esp + 0x28]
lea ecx, [esp + 0x20]
push eax
xor edi, edi
push ecx
push ebp
mov byte [esp + 0x1f], 1
mov dword [esp + 0x34], edi
mov dword [esp + 0x2c], edi
call dword [0x107946cc]
add esp, 0xc
test eax, eax
jne 0x101176d0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x1c]
and eax, 0x7ff
mov dword [esp + 0x20], eax
mov esi, dword [ecx + 0x1c]
sub esi, eax
mov dword [esp + 0x28], esi
jmp 0x101176d8
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x31c]
mov cl, byte [ebp + 0x221]
test cl, 1
je 0x101176f4
mov eax, dword [ebp + 0x254]
mov dword [esp + 0x20], eax
mov dl, cl
and dl, 8
cmp dl, 8
je 0x10117721
test cl, 0x80
je 0x10117716
mov ecx, eax
and ecx, 1
test cl, cl
jne 0x10117721
cmp eax, 0x3f
jb 0x10117721
sub eax, 0x3f
jmp 0x1011771d
test al, 1
je 0x10117721
add eax, 0x3f
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], eax
cmp ecx, edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x48], eax
je 0x1011773f
cmp dword [esp + 0x14], edi
jne 0x1011773f
mov ebx, esi
jmp 0x10117741
xor ebx, ebx
add eax, ebx
cmp ecx, edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], eax
jne 0x10117755
cmp dword [esp + 0x14], edi
jne 0x10117757
xor esi, esi
lea edx, [esi + eax]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x50], edx
mov dword [esp + 0x40], edi
jmp 0x1011779d
mov ebp, dword [esp + 0x31c]
mov dword [esp + 0x38], eax
add eax, ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x4c], eax
add eax, edi
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], 0
mov dword [esp + 0x3c], edi
mov dword [esp + 0x50], eax
mov esi, edi
mov eax, dword [esp + 0x330]
lea edi, [esp + 0x6c]
mov dword [esp + 0x2c], 0x60606060
mov dword [esp + 0x30], 0x82828282
mov ecx, dword [eax + 0x77]
mov edx, dword [eax + 0x7b]
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax + 0x6f]
mov dword [esp + 0x60], edx
mov edx, dword [eax + 0x73]
mov dword [esp + 0x54], ecx
mov ecx, 0x15
xor eax, eax
mov dword [esp + 0x58], edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x10117859
lea edx, [ebp + 0x223]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x30], 4
je 0x10117827
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x84], eax
mov ax, word [edx + 8]
mov dword [esp + 0x88], ecx
mov cl, byte [edx + 0xa]
mov word [esp + 0x8c], ax
mov byte [esp + 0x8e], cl
mov eax, dword [ebp + 0x244]
test eax, eax
je 0x1011784b
push eax
call fcn.10033dce
add esp, 4
test eax, eax
je 0x1011784b
mov edx, dword [ebp + 0x244]
mov dword [esp + 0xb0], edx
test byte [ebp + 0x222], 1
je 0x10117859
or byte [esp + 0x2c], 0x80
test ebx, ebx
je 0x101178d1
lea edx, [ebp + 0x22e]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x31], 2
je 0x1011789f
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x8f], eax
mov ax, word [edx + 8]
mov dword [esp + 0x93], ecx
mov cl, byte [edx + 0xa]
mov word [esp + 0x97], ax
mov byte [esp + 0x99], cl
mov eax, dword [ebp + 0x248]
test eax, eax
je 0x101178c3
push eax
call fcn.10033dce
add esp, 4
test eax, eax
je 0x101178c3
mov edx, dword [ebp + 0x248]
mov dword [esp + 0xb4], edx
test byte [ebp + 0x222], 2
je 0x101178d1
or byte [esp + 0x2d], 0x80
mov ebp, dword [esp + 0x31c]
mov ebx, 3
test esi, esi
je 0x1011796f
mov al, byte [ebp + 0x220]
and al, 0x10
cmp al, 0x10
jne 0x101178fb
mov byte [esp + 0x2e], al
mov byte [esp + 0x32], bl
jmp 0x1011793d
lea edx, [ebp + 0x239]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x32], 2
je 0x1011793d
mov ecx, dword [edx]
mov eax, dword [edx + 4]
mov dword [esp + 0x9a], ecx
mov cx, word [edx + 8]
mov dl, byte [edx + 0xa]
mov dword [esp + 0x9e], eax
mov word [esp + 0xa2], cx
mov byte [esp + 0xa4], dl
mov eax, dword [ebp + 0x24c]
test eax, eax
je 0x10117961
push eax
call fcn.10033dce
add esp, 4
test eax, eax
je 0x10117961
mov eax, dword [ebp + 0x24c]
mov dword [esp + 0xb8], eax
test byte [ebp + 0x222], 4
je 0x1011796f
or byte [esp + 0x2e], 0x80
mov eax, dword [esp + 0x40]
test eax, eax
je 0x1011797c
mov byte [esp + 0x33], 0x80
mov eax, dword [esp + 0x330]
lea edi, [esp + 0x100]
mov ecx, dword [eax + 0x62]
mov edx, dword [eax + 0x66]
mov dword [esp + 0x64], ecx
mov ecx, 0x85
xor eax, eax
mov dword [esp + 0x68], edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x24]
mov edx, 1
test eax, eax
mov dword [esp + 0x100], edx
je 0x10117a08
test byte [ebp + 0x221], 0x20
je 0x101179cb
mov dword [esp + 0x100], 0
jmp 0x10117a36
lea eax, [ebp + 0x10]
lea esi, [ebp + 0x20]
lea edi, [esp + 0x114]
mov ecx, dword [eax]
mov dword [esp + 0x104], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x108], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x10c], ecx
mov ecx, 0x80
mov eax, dword [eax + 0xc]
mov dword [esp + 0x110], eax
rep movsd dword es:[edi], dword [esi]
jmp 0x10117a36
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x104], ecx
lea edi, [esp + 0x114]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], ecx
mov ecx, 0x80
rep stosd dword es:[edi], eax
mov cl, byte [ebp + 0x221]
mov dword [esp + 0x78], edx
mov dl, cl
mov eax, dword [esp + 0x34]
and dl, 2
mov dword [esp + 0x80], ebx
sub dl, 2
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
neg dl
sbb edx, edx
mov dword [esp + 0x74], 0
and edx, 0x380000
mov dword [esp + 0x7c], 2
add edx, 0x80000
test eax, eax
mov esi, edx
je 0x10117ae4
mov al, cl
mov dl, cl
and al, 8
sub al, 8
neg al
sbb al, al
and dl, 0x10
and al, 0xf0
add al, 0x20
cmp dl, 0x10
mov byte [esp + 0x70], al
jne 0x10117aa1
or al, 2
mov byte [esp + 0x70], al
cmp dword [esp + 0x24], esi
jb 0x10117aac
mov byte [esp + 0x6c], 1
test cl, 1
je 0x10117ab6
mov byte [esp + 0x6c], 4
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x10117ae4
push eax
call fcn.10033dce
add esp, 4
test eax, eax
je 0x10117ae4
mov ecx, dword [esp + 0xb0]
push ecx
call ebx
and eax, 0x10
cmp al, 0x10
je 0x10117ae4
mov byte [esp + 0x6c], 2
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10117b5e
mov cl, byte [ebp + 0x221]
mov al, cl
mov dl, cl
and al, 8
sub al, 8
neg al
sbb al, al
and dl, 0x80
and al, 0xf0
add al, 0x20
or al, dl
mov dl, cl
and dl, 0x10
mov byte [esp + 0x71], al
cmp dl, 0x10
jne 0x10117b1b
or al, 2
mov byte [esp + 0x71], al
cmp dword [esp + 0x18], esi
jb 0x10117b26
mov byte [esp + 0x6d], 1
test cl, 1
je 0x10117b30
mov byte [esp + 0x6d], 4
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x10117b5e
push eax
call fcn.10033dce
add esp, 4
test eax, eax
je 0x10117b5e
mov ecx, dword [esp + 0xb4]
push ecx
call ebx
and eax, 0x10
cmp al, 0x10
je 0x10117b5e
mov byte [esp + 0x6d], 2
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0xb8]
test eax, eax
je 0x10117c1d
mov dl, byte [ebp + 0x220]
and dl, 0x10
cmp dl, 0x10
jne 0x10117bb9
test edi, edi
mov byte [esp + 0x6e], 2
je 0x10117bb2
push edi
call fcn.10033dce
add esp, 4
test eax, eax
je 0x10117bb2
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x7a], 0x10
call dword [0x107946c4]
add esp, 8
jmp 0x10117c1d
mov byte [esp + 0x72], 0
jmp 0x10117c1d
mov cl, byte [ebp + 0x221]
mov al, cl
mov dl, cl
and al, 8
sub al, 8
neg al
sbb al, al
and dl, 0x10
and al, 0xf0
add al, 0x20
cmp dl, 0x10
mov byte [esp + 0x72], al
jne 0x10117be1
or al, 2
mov byte [esp + 0x72], al
cmp dword [esp + 0x14], esi
jb 0x10117bec
mov byte [esp + 0x6e], 1
test cl, 1
je 0x10117bf6
mov byte [esp + 0x6e], 4
test edi, edi
je 0x10117c1d
push edi
call fcn.10033dce
add esp, 4
test eax, eax
je 0x10117c1d
mov eax, dword [esp + 0xb8]
push eax
call ebx
and eax, 0x10
cmp al, 0x10
je 0x10117c1d
mov byte [esp + 0x6e], 2
mov al, byte [esp + 0x13]
test al, al
jne 0x10117c74
mov cl, byte [ebp + 0x221]
and cl, 4
cmp cl, 4
jne 0x10117c74
mov ebx, dword [esp + 0x1c]
lea edx, [esp + 0x6c]
lea eax, [esp + 0xc0]
mov ecx, 0x10
lea esi, [esp + 0x2c]
lea edi, [esp + 0xc0]
push edx
push eax
rep movsd dword es:[edi], dword [esi]
push ebx
call dword [0x107947d8]
mov ecx, 0x10
lea esi, [esp + 0xcc]
lea edi, [esp + 0x38]
add esp, 0xc
rep movsd dword es:[edi], dword [esi]
jmp 0x10117c78
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x320]
mov ecx, 0x10
lea esi, [esp + 0x2c]
push ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x32c]
mov ecx, 0x15
lea esi, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x328]
mov ecx, 0x85
lea esi, [esp + 0x104]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x330]
mov ecx, 0xf4
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.10034678
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x304
ret