Function at 0x6106dd90
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push edi
xor edi, edi
push esi
mov esi, edx
push ebx
sub esp, 0x6bc
mov ebx, eax
mov dword [ebp - 0x660], ecx
mov edx, dword fs:[4]
lea ecx, [ebp - 0x548]
mov byte [ebp - 0x661], 0
sub edx, 0x319c
mov eax, dword [edx + 0xc30]
mov byte [ebp - 0x662], 0
mov dword [ebp - 0x478], eax
mov eax, dword [edx + 0xc34]
mov dword [edx + 0xc30], ecx
mov dword [ebp - 0x474], eax
mov dword [edx + 0xc34], edi
mov dword [esp], ecx
call sym.___sjfault
test eax, eax
je 0x6106de2b
mov dword [ebx + 0x28], 0xe
mov eax, dword fs:[4]
mov edx, dword [ebp - 0x478]
sub eax, 0x319c
mov dword [eax + 0xc30], edx
mov edx, dword [ebp - 0x474]
mov dword [eax + 0xc34], edx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cld
xor edx, edx
mov dword [ebx + 0x20], 0
lea eax, [ebx + 0x2c]
mov dword [ebp - 0x66c], edx
mov edi, eax
mov dword [ebp - 0x688], eax
lea edx, [ebx + 8]
xor eax, eax
mov dword [ebx + 0x24], 0
mov ecx, 5
mov dword [ebx], 0xffffffff
mov byte [ebx + 0x40], 0
rep stosd dword es:[edi], eax
mov dword [ebp - 0x684], edx
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
and byte [edx + 0x11], 0xf0
mov byte [edx + 0x10], 0
mov dword [ebx + 0x44], 0
test byte [ebp - 0x660], 0x20
jne 0x6106e1f1
mov dword [ebx + 0x28], 0
test esi, esi
je 0x6106e9c0
mov byte [ebp - 0x663], 0
movzx ecx, byte [esi]
cmp cl, 0x2f
sete dl
cmp cl, 0x5c
sete al
or dl, al
je 0x6106e206
lea ecx, [ebp - 0x65c]
mov eax, esi
lea edx, [ebp - 0x128]
call sym.normalize_posix_path_char_const__char__char_
mov dword [ebx + 0x28], eax
test eax, eax
jne 0x6106de00
mov edx, dword [ebp - 0x65c]
lea eax, [ebp - 0x126]
cmp eax, edx
mov ecx, edx
jae 0x6106df08
cmp byte [edx - 1], 0x2f
je 0x6106e382
mov dword [ebp - 0x668], edx
mov esi, dword [ebp - 0x660]
xor eax, eax
mov dword [ebp - 0x670], eax
xor eax, eax
and esi, 0x800000
mov byte [ebp - 0x468], 0
mov dword [ebp - 0x674], eax
mov eax, dword [ebp - 0x670]
test eax, eax
je 0x6106e165
nop
xor eax, eax
lea ecx, [ebp - 0x358]
lea edx, [ebp - 0x128]
mov dword [ebp - 0x678], eax
xor eax, eax
lea edi, [ebp - 0x658]
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x688]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [0x61107518]
mov dword [esp + 4], edx
add eax, 0x6600
mov dword [esp], eax
call method.mount_info.conv_to_win32_path_char_const__char__device__unsigned_int_
mov dword [ebx + 0x28], eax
test eax, eax
jne 0x6106de00
mov eax, dword [ebp - 0x358]
or esi, eax
cmp word [ebx + 0x32], 0x62
mov dword [ebp - 0x358], esi
je 0x6106eaab
mov ecx, dword [ebp - 0x688]
cmp dword [ecx + 4], 0xf5
je 0x6106e1e5
mov ecx, dword [ebx + 0x30]
cmp ecx, 0x620000
sete dl
cmp ecx, 0xfa
sete al
or dl, al
jne 0x6106e228
cmp ecx, 0xf9
je 0x6106e228
cmp ecx, 0xf8
je 0x6106e228
cmp ecx, 0xf6
je 0x6106e228
cmp ecx, 0xf7
jne 0x6106ecf1
cmp byte [edi], 0
je 0x6106e01d
cmp byte [edi + 1], 0x3a
je 0x6106e35b
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x660]
mov edx, dword [ebp - 0x678]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x468]
mov dword [esp + 8], edx
mov dword [esp], eax
call method.symlink_info.check_char__suffix_info_const__unsigned_int_
mov dword [ebp - 0x674], eax
cmp byte [ebp - 0x343], 0
jne 0x6106eb39
mov edx, dword [ebp - 0x358]
test edx, 0x40000000
jne 0x6106eafa
cmp byte [ebp - 0x344], 0
jne 0x6106e288
test byte [ebp - 0x660], 4
jne 0x6106e110
mov edi, dword [ebp - 0x670]
test edi, edi
jne 0x6106e097
mov dword [ebx + 0x20], edx
mov eax, dword [ebp - 0x354]
mov dword [ebx], eax
mov esi, dword [ebp - 0x350]
test esi, esi
jne 0x6106e2ac
mov eax, dword [ebp - 0x354]
cmp eax, 0xffffffff
je 0x6106e2ac
mov ecx, dword [ebp - 0x670]
mov edx, dword [ebp - 0x348]
test ecx, ecx
jne 0x6106e372
mov dword [ebx + 0x28], edx
mov edx, dword [ebp - 0x360]
test edx, edx
je 0x6106e0f5
cmp byte [edx], 0
je 0x6106e0f5
mov eax, dword [ebp - 0x35c]
add eax, ebx
add eax, 0x50
cmp byte [ebp - 0x34c], 0
mov dword [ebx + 0x24], eax
jne 0x6106e793
mov eax, dword [0x61144e38]
test eax, eax
je 0x6106e318
or dword [ebp - 0x660], 4
lea esi, [esi]
mov edx, dword [ebp - 0x65c]
lea ecx, [ebp - 0x127]
cmp edx, dword [ebp - 0x668]
je 0x6106e130
mov byte [edx], 0x2f
mov edx, dword [ebp - 0x65c]
lea esi, [esi]
mov eax, edx
dec edx
cmp edx, ecx
mov dword [ebp - 0x65c], edx
jbe 0x6106e143
cmp byte [eax - 1], 0x2f
jne 0x6106e130
cmp ecx, edx
jae 0x6106e318
mov byte [eax - 1], 0
xor esi, esi
inc dword [ebp - 0x670]
mov eax, dword [ebp - 0x670]
test eax, eax
jne 0x6106df40
mov eax, dword [ebx + 0x20]
lea edi, [ebx + 0x50]
mov ecx, dword [ebp + 8]
mov dword [esp + 8], edi
mov edx, dword [ebp - 0x688]
mov dword [ebp - 0x358], eax
lea eax, [ebp - 0x358]
mov dword [esp + 0x10], eax
mov eax, dword [0x61107518]
mov dword [ebp - 0x678], ecx
lea ecx, [ebp - 0x128]
add eax, 0x6600
mov dword [esp + 0xc], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call method.mount_info.conv_to_win32_path_char_const__char__device__unsigned_int_
mov dword [ebx + 0x28], eax
test eax, eax
jne 0x6106de00
mov eax, dword [ebp - 0x358]
or esi, eax
cmp word [ebx + 0x32], 0x62
mov dword [ebp - 0x358], esi
je 0x6106eaab
mov eax, dword [ebp - 0x688]
cmp dword [eax + 4], 0xf5
jne 0x6106dfc1
mov dword [ebx + 0x30], 0xf7
jmp 0x6106e00e
cmp byte [esi], 0
jne 0x6106dea8
mov dword [ebx + 0x28], 2
jmp 0x6106de00
movsx eax, cl
test byte [eax + str.______________], 3
je 0x6106e21c
cmp byte [esi + 1], 0x3a
je 0x6106e9e3
mov byte [ebp - 0x663], 1
jmp 0x6106dece
mov ecx, dword [ebp - 0x688]
lea edx, [ebp - 0x128]
mov dword [esp + 4], edx
mov dword [esp], ecx
call sym.build_fh_dev_device_const__char_const_
mov esi, eax
mov eax, dword [eax]
mov dword [esp], esi
call dword [eax + 0x138]
cmp eax, 0xfffffffe
mov edi, eax
je 0x6106e320
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 0xc]
lea eax, [edi + 4]
cmp eax, 6
ja 0x6106e26f
jmp dword [eax*4 + 0x61128280]
mov eax, dword [ebp - 0x670]
test eax, eax
jne 0x6106e110
mov dword [ebx], 0xffffffff
jmp 0x6106e110
cmp dword [0x61144e38], 2
je 0x6106ecbd
mov ecx, dword [ebp - 0x670]
test ecx, ecx
jne 0x6106e075
mov byte [ebx + 0x40], 1
jmp 0x6106e075
mov eax, dword [ebp - 0x674]
test eax, eax
jle 0x6106e894
mov byte [ebp - 0x662], 1
mov eax, dword [ebp - 0x670]
test eax, eax
jne 0x6106eb80
cmp byte [ebp - 0x661], 0
jne 0x6106eb80
test byte [ebp - 0x660], 1
jne 0x6106eb80
or dword [ebx + 0x20], 1
mov edi, dword [ebp - 0x674]
test byte [ebp - 0x660], 8
mov dword [ebx + 0x4c], edi
je 0x6106e0cb
lea eax, [ebp - 0x468]
mov dword [esp + 4], eax
lea eax, [ebx + 0x50]
mov dword [esp], eax
call sym.cygwin1.dll__strcpy
mov ecx, dword [ebx + 0x30]
jmp 0x6106e3e9
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 0x13c]
mov eax, dword [esi + 0x1a0]
mov dword [esp + 4], eax
lea eax, [ebp - 0x468]
mov dword [esp], eax
call method.symlink_info.set_char_
mov dword [ebp - 0x674], eax
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 0xc]
mov eax, 2
jmp 0x6106e268
cmp byte [edi + 2], 0
jne 0x6106e01d
mov byte [edi + 2], 0x5c
mov byte [edi + 3], 0
jmp 0x6106e01d
test al, 0x10
je 0x6106ed35
mov dword [ebx + 0x28], edx
jmp 0x6106e0f5
mov byte [ebp - 0x661], 1
dec edx
mov dword [ebp - 0x65c], edx
mov byte [ecx - 1], 0
mov edx, dword [ebp - 0x65c]
jmp 0x6106df08
mov byte [ebp - 0x679], 0
mov esi, dword [ebp - 0x670]
cmp ecx, 0xf6
sete dl
test esi, esi
setne al
test al, dl
jne 0x6106e82e
cmp ecx, 0x620000
sete dl
cmp ecx, 0xfa
sete al
or dl, al
jne 0x6106e7a4
cmp ecx, 0xf9
je 0x6106e7a4
cmp ecx, 0xf8
je 0x6106e7a4
cmp ecx, 0xf6
je 0x6106e7a4
cmp byte [ebp - 0x661], 0
je 0x6106e467
mov edx, dword [ebx + 0x28]
test edx, edx
jne 0x6106e467
test byte [ebx], 0x10
je 0x6106ea28
and dword [ebx + 0x20], 0xfffffffe
mov edx, dword [ebp - 0x688]
xor eax, eax
cmp byte [edx + 0x10], 0
jne 0x6106e7f0
cmp dword [edx + 4], 0xf7
je 0x6106e7f0
test al, al
je 0x6106e556
cld
mov edi, str.._
lea ecx, [ebx + 0x50]
mov dword [ebp - 0x68c], ecx
mov esi, dword [ebp - 0x68c]
mov ecx, 4
repe cmpsb byte [esi], byte es:[edi]
je 0x6106e505
movzx eax, byte [ebx + 0x50]
xor esi, esi
mov ecx, dword [ebp - 0x68c]
test al, al
je 0x6106e505
mov edi, dword fs:[4]
sub edi, 0x319c
cmp al, 0x2e
setne dl
cmp al, 0x20
setne al
test al, dl
je 0x6106e71b
xor esi, esi
inc ecx
movzx eax, byte [ecx]
test al, al
jne 0x6106e4c9
test esi, esi
je 0x6106e505
cmp dword [ebp - 0x68c], esi
je 0x6106e505
cmp byte [esi - 1], 0x5c
je 0x6106e1fa
mov byte [esi], 0
mov byte [ebp - 0x679], 1
mov edi, dword [ebp - 0x68c]
mov eax, dword [ebp - 0x684]
mov dword [esp + 4], edi
mov dword [esp], eax
call method.fs_info.update_char_const_
test al, al
je 0x6106e54a
test byte [0x6110a820], 1
jne 0x6106ea41
mov edx, dword [ebp - 0x684]
test byte [edx + 0x10], 8
je 0x6106e54a
cmp byte [0x611462e2], 0
je 0x6106e54a
or dword [ebx + 0x20], 0x100
mov ecx, dword [ebx + 0x20]
test cl, 0x50
je 0x6106e84a
test byte [ebp - 0x660], 0x10
je 0x6106e60c
cmp byte [ebp - 0x663], 0
jne 0x6106e8c4
cmp byte [ebp - 0x661], 0
je 0x6106e60c
lea ecx, [ebx + 0x50]
mov dword [ebp - 0x68c], ecx
mov dword [ebp - 0x69c], ecx
mov edi, dword [ebp - 0x69c]
mov eax, dword [edi]
add edi, 4
mov dword [ebp - 0x69c], edi
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x6106e58c
test edx, 0x8080
jne 0x6106e5c3
add edi, 2
shr edx, 0x10
mov dword [ebp - 0x69c], edi
add dl, dl
mov eax, dword [ebp - 0x68c]
sbb dword [ebp - 0x69c], 3
sub dword [ebp - 0x69c], eax
mov edx, dword [ebp - 0x69c]
cmp byte [edx + ebx + 0x4f], 0x5c
je 0x6106e60c
cld
mov esi, dword [ebp - 0x68c]
mov eax, 4
mov edi, str.._
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x6106e60c
mov edi, dword [ebp - 0x69c]
mov byte [edi + ebx + 0x50], 0x5c
mov byte [edi + ebx + 0x51], 0
cmp byte [ebp - 0x662], 0
je 0x6106e61c
or dword [ebx + 0x20], 0x10000000
mov eax, dword [ebx + 0x28]
test eax, eax
jne 0x6106e702
mov eax, dword [ebx]
xor edx, edx
cmp eax, 0xffffffff
je 0x6106e639
test al, 0x10
je 0x6106e639
mov edx, 1
test edx, edx
jne 0x6106e702
mov ecx, dword [ebx + 0x20]
mov edx, ecx
and edx, 0x50
jne 0x6106e702
lea esi, [ebx + 0x50]
mov eax, edx
mov ah, al
mov al, byte [esi]
cmp al, ah
je 0x6106e663
inc esi
test al, al
jne 0x6106e656
xor esi, esi
mov eax, esi
mov edx, eax
sub edx, 4
lea eax, [ebx + 0x50]
cmp eax, edx
ja 0x6106e702
mov esi, 0x6112823a
mov edi, edx
cld
and eax, 0xff
lodsb al, byte [esi]
scasb al, byte es:[edi]
je 0x6106e691
xor al, byte [eax + 0x61106b3c]
cmp al, byte [edi - 1]
jne 0x6106e69c
test al, al
jne 0x6106e682
mov eax, 1
jmp 0x6106e69e
xor eax, eax
test eax, eax
jne 0x6106e6fc
mov esi, 0x6112823f
mov edi, edx
cld
and eax, 0xff
lodsb al, byte [esi]
scasb al, byte es:[edi]
je 0x6106e6be
xor al, byte [eax + 0x61106b3c]
cmp al, byte [edi - 1]
jne 0x6106e6c9
test al, al
jne 0x6106e6af
mov eax, 1
jmp 0x6106e6cb
xor eax, eax
test eax, eax
jne 0x6106e6fc
mov esi, 0x61128244
mov edi, edx
cld
and eax, 0xff
lodsb al, byte [esi]
scasb al, byte es:[edi]
je 0x6106e6eb
xor al, byte [eax + 0x61106b3c]
cmp al, byte [edi - 1]
jne 0x6106e6f6
test al, al
jne 0x6106e6dc
mov eax, 1
jmp 0x6106e6f8
xor eax, eax
test eax, eax
je 0x6106e702
or ecx, 0x10
mov dword [ebx + 0x20], ecx
test byte [ebp - 0x660], 0x80
jne 0x6106e7fa
mov dword [ebx + 0x48], 0
jmp 0x6106de00
test esi, esi
je 0x6106e885
cmp byte [ecx + 1], 0x5c
jne 0x6106e4dd
cmp ecx, esi
ja 0x6106e73a
cmp byte [esi], 0x2e
je 0x6106e4db
mov dword [ebx + 0x28], 2
mov eax, dword [ebp - 0x478]
mov dword [edi + 0xc30], eax
mov eax, dword [ebp - 0x474]
mov dword [edi + 0xc34], eax
jmp 0x6106de23
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.cygwin1.dll__strcpy
jmp 0x6106e0f5
cmp dword [ebx], 0xffffffff
jne 0x6106e44a
xor eax, eax
cmp ecx, 0xf6
sete al
dec eax
mov edx, dword fs:[4]
and eax, 0xffffff7a
add eax, 0x88
sub edx, 0x319c
mov dword [ebx + 0x28], eax
mov eax, dword [ebp - 0x478]
mov dword [edx + 0xc30], eax
mov eax, dword [ebp - 0x474]
mov dword [edx + 0xc34], eax
jmp 0x6106de23
mov eax, 1
jmp 0x6106e486
mov edx, dword [ebp - 0x65c]
cmp edx, dword [ebp - 0x668]
jae 0x6106e815
lea eax, [ebp - 0x127]
cmp eax, edx
jae 0x6106e815
mov byte [edx], 0x2f
movzx ecx, byte [ebp - 0x679]
lea edx, [ebp - 0x128]
mov eax, ebx
call method.path_conv.set_normalized_path_char_const__bool_
jmp 0x6106de00
mov ecx, dword [ebp - 0x688]
mov eax, 0xf7
mov dword [esp + 4], eax
mov dword [esp], ecx
call method.device.parse_unsigned_long_
jmp 0x6106e467
test ch, 1
jne 0x6106e556
mov eax, dword [sym.cygwin1.dll__check_for_executable]
test eax, eax
je 0x6106e556
mov eax, dword [ebx]
xor edx, edx
cmp eax, 0xffffffff
je 0x6106e872
test al, 0x10
je 0x6106e872
mov edx, 1
test edx, edx
je 0x6106ea8b
or ecx, 0x10
mov dword [ebx + 0x20], ecx
jmp 0x6106e556
test ecx, ecx
mov esi, ecx
jne 0x6106e723
jmp 0x6106e4dd
mov ecx, dword [ebp - 0x348]
test ecx, ecx
setne dl
cmp ecx, 2
setne al
test al, dl
je 0x6106e110
cmp ecx, 0x88
je 0x6106e110
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x30]
jmp 0x6106e3e9
mov eax, 0x104
lea edx, [ebx + 0x50]
lea edi, [ebp - 0x658]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [0x61104ec4]
mov dword [ebp - 0x680], edx
mov dword [esp + 4], edi
add eax, 0x188
mov dword [esp], eax
call method.cwdstuff.get_char__int__int__unsigned_int_
test eax, eax
je 0x6106e570
mov esi, edi
mov eax, dword [esi]
add esi, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x6106e908
test edx, 0x8080
jne 0x6106e92d
shr edx, 0x10
add esi, 2
add dl, dl
mov edx, dword [ebp - 0x680]
mov eax, edi
sbb esi, 3
sub esi, edi
mov ecx, esi
call sym.path_prefix_p_char_const__char_const__int_
test eax, eax
je 0x6106e570
mov ecx, dword [ebp - 0x680]
mov dword [esp], ecx
call sym.cygwin1.dll__strlen
cmp eax, esi
jb 0x6106e570
mov edi, dword [ebp - 0x680]
je 0x6106e97f
movzx eax, byte [ebp + esi - 0x659]
cmp al, 0x2f
sete dl
cmp al, 0x5c
sete al
or dl, al
je 0x6106e9b3
add edi, esi
mov dword [esp], edi
call sym.cygwin1.dll__strlen
mov dword [esp + 4], edi
mov edi, dword [ebp - 0x680]
inc eax
mov dword [esp + 8], eax
mov dword [esp], edi
call sym.cygwin1.dll__memmove
cmp byte [edi], 0
jne 0x6106e570
mov word [edi], 0x2e
jmp 0x6106e570
mov eax, dword [ebp - 0x680]
lea edi, [esi + eax + 1]
jmp 0x6106e981
mov dword [esp], str._ext_build_netrel_src_cygwin_1.5.24_2_winsup_cygwin_path.cc
mov eax, 0x61128249
mov dword [esp + 8], eax
mov eax, 0x261
mov dword [esp + 4], eax
call sym.___assert
jmp 0x6106deb0
movzx eax, byte [esi + 2]
test al, al
je 0x6106dece
cmp al, 0x2f
sete dl
cmp al, 0x5c
sete al
or dl, al
jne 0x6106dece
jmp 0x6106e21c
test byte [0x6110a820], 1
jne 0x6106eac7
mov dword [ebx + 0x28], 0x14
jmp 0x6106de00
mov edi, dword [ebp - 0x684]
mov ecx, str.this__path__s___has_acls__d_
mov edx, str.void_path_conv::check_const_char__unsigned_int__const_suffix_info_
movzx eax, byte [edi + 0x10]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp], 0x6110a820
shr al, 3
and eax, 1
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x68c]
mov dword [esp + 0x10], eax
mov eax, 0x40
mov dword [esp + 4], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6106e52e
test cl, 1
jne 0x6106ea9d
cmp dword [ebx + 0x30], 0x1e0078
jne 0x6106e556
or ecx, 0x100
mov dword [ebx + 0x20], ecx
jmp 0x6106e556
mov edi, dword [ebp - 0x670]
test edi, edi
jne 0x6106ecd0
mov dword [ebx], 0x11
mov ecx, dword [ebx + 0x30]
jmp 0x6106e3e9
mov dword [esp], 0x6110a820
lea eax, [ebx + 0x50]
mov edi, str.void_path_conv::check_const_char__unsigned_int__const_suffix_info_
mov dword [esp + 0x10], eax
mov esi, 0x40
mov eax, str._s_is_a_non_directory
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp + 4], esi
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x6106ea35
mov eax, dword [ebp - 0x670]
test eax, eax
jne 0x6106ea35
mov eax, dword [ebp - 0x354]
mov edx, dword [ebp - 0x688]
mov dword [ebx], eax
mov eax, 0x1e0078
mov dword [esp + 4], eax
mov dword [esp], edx
call method.device.parse_unsigned_long_
mov ecx, dword [ebp - 0x688]
mov byte [ecx + 0x10], 1
mov ecx, dword [ebx + 0x30]
jmp 0x6106e3e9
movzx eax, word [ebp - 0x340]
mov dword [esp + 8], eax
movzx eax, word [ebp - 0x342]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x688]
mov dword [esp], eax
call method.device.parse_unsigned_short__unsigned_short_
mov eax, dword [ebp - 0x33c]
mov edx, dword [ebp - 0x688]
mov ecx, dword [ebx + 0x30]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0x354]
mov byte [edx + 0x10], 1
mov dword [ebx], eax
jmp 0x6106e3e9
inc dword [ebp - 0x66c]
cmp dword [ebp - 0x66c], 0xa
jg 0x6106ed70
movzx ecx, byte [ebp - 0x468]
cmp cl, 0x2f
sete dl
cmp cl, 0x5c
sete al
or dl, al
jne 0x6106ed2a
movsx eax, cl
test byte [eax + str.______________], 3
je 0x6106ebc7
cmp byte [ebp - 0x467], 0x3a
je 0x6106ed0d
mov eax, dword [ebp - 0x65c]
jmp 0x6106ebd4
cmp byte [eax], 0x2f
je 0x6106ebdf
dec eax
lea edx, [ebp - 0x128]
cmp eax, edx
ja 0x6106ebcf
cld
lea ecx, [ebp - 0x128]
sub eax, ecx
lea edx, [eax + 1]
mov ecx, edx
lea edi, [ebp - 0x338]
shr ecx, 2
test dl, 2
lea esi, [ebp - 0x128]
rep movsd dword es:[edi], dword [esi]
je 0x6106ec0f
movzx eax, word [esi]
add esi, 2
mov word [edi], ax
add edi, 2
test dl, 1
je 0x6106ec19
movzx eax, byte [esi]
mov byte [edi], al
lea ecx, [ebp - 0x338]
add ecx, edx
mov edi, dword [ebp - 0x674]
lea edx, [ebp - 0x12d]
lea eax, [ecx + edi]
cmp eax, edx
jae 0x6106ed44
movzx eax, byte [ebp - 0x468]
lea edi, [ebp - 0x468]
jmp 0x6106ec58
mov esi, ecx
inc ecx
cmp al, 0x5c
mov dl, 0x2f
je 0x6106ec52
mov dl, al
mov byte [esi], dl
inc edi
movzx eax, byte [edi]
test al, al
jne 0x6106ec47
mov byte [ecx], 0
mov eax, dword [ebp - 0x65c]
cmp eax, dword [ebp - 0x668]
lea edx, [eax + 1]
mov dword [ebp - 0x65c], edx
jae 0x6106ecb2
cmp byte [ecx - 1], 0x2f
je 0x6106ec86
mov byte [ecx], 0x2f
mov edx, dword [ebp - 0x65c]
inc ecx
mov eax, dword [ebp - 0x668]
lea edi, [ebp - 0x12d]
sub eax, edx
lea esi, [eax + 1]
lea eax, [ecx + esi]
cmp eax, edi
ja 0x6106ed44
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov dword [esp], ecx
call sym.cygwin1.dll__memcpy
lea esi, [ebp - 0x338]
jmp 0x6106dea8
mov byte [ebx + 0x40], 1
mov ecx, dword [ebx + 0x30]
mov dword [ebx + 0x28], 2
jmp 0x6106e3e9
lea eax, [ebx + 0x50]
mov dword [esp], eax
call sub.KERNEL32.dll_GetFileAttributesA
mov dword [ebx], eax
sub esp, 4
mov ecx, 0xf7
mov dword [ebx + 0x30], 0xf7
jmp 0x6106e3e9
mov dword [ebx], 0
mov eax, dword [ebp - 0x670]
mov dword [ebx + 0x20], esi
test eax, eax
jne 0x6106ea35
jmp 0x6106e3e9
movzx eax, byte [ebp - 0x466]
test al, al
je 0x6106ed2a
cmp al, 0x2f
sete dl
cmp al, 0x5c
sete al
or dl, al
je 0x6106ebc7
lea ecx, [ebp - 0x338]
jmp 0x6106ec21
mov dword [ebx + 0x28], 0x14
mov ecx, dword [ebx + 0x30]
jmp 0x6106e3e9
mov dword [ebx + 0x28], 0x5b
mov dword [ebx + 0x50], 0x4e453a3a
mov dword [ebx + 0x54], 0x54454d41
mov dword [ebx + 0x58], 0x4f4c4f4f
mov dword [ebx + 0x5c], 0x3a3a474e
mov byte [ebx + 0x60], 0
jmp 0x6106de00
mov dword [ebx + 0x28], 0x5c
jmp 0x6106de00