Function at 0x452c80
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4dcae3
mov eax, dword fs:[0]
push eax
mov eax, 0x1290
call fcn.004adde0
mov eax, dword [0x5021c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x123c], edi
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1240], ebx
cmp dword [ebx + 8], 0xfffffffd
jne 0x452cd6
mov eax, dword [ebx + 0xc]
test eax, eax
js 0x452cd6
push eax
call fcn.00454d40
cmp dword [ebx + 8], 0xffffff8d
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
jne 0x452d06
cmp byte [edi + 0x30], 0
jne 0x452d06
push 0
push 0
push 0x1032
push dword [ebx]
call eax
mov ecx, edi
mov dword [edi + 0x148], eax
call fcn.00450860
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebx + 8], 0xffffff9b
jne 0x452d38
test byte [ebx + 0x18], 2
jne 0x452d18
test byte [ebx + 0x14], 2
je 0x452d38
cmp byte [edi + 0x30], 0
jne 0x452d38
push 0
push 0
push 0x1032
push dword [ebx]
call eax
mov ecx, edi
mov dword [edi + 0x148], eax
call fcn.00450860
cmp dword [ebx + 8], 0xffffff93
jne 0x452e80
xor esi, esi
mov dword [ebp - 0x125c], 0
mov dword [ebp - 0x1258], esi
mov dword [ebp - 0x1254], esi
push 0x3f6
mov dword [ebp - 4], esi
push dword [edi + 8]
call dword [sym.imp.USER32.dll_GetDlgItem]
push esi
push esi
push 0x1004
push eax
mov dword [ebp - 0x124c], eax
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jne 0x452d93
lea ecx, [ebp - 0x125c]
call fcn.004020e0
jmp 0x45481f
mov eax, dword [sym.imp.USER32.dll_IsDlgButtonChecked]
push 0x423
push dword [edi + 8]
call eax
push 2
push 0xffffffffffffffff
push 0x100c
push dword [ebp - 0x124c]
mov dword [ebp - 0x1234], eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
cmp edi, 0xffffffff
je 0x452e3e
mov ebx, dword [ebp - 0x123c]
lea ebx, [ebx]
cmp dword [ebp - 0x1234], 1
jne 0x452ddd
mov eax, edi
jmp 0x452de7
mov eax, dword [ebx + 0x128]
mov eax, dword [eax + edi*8 + 4]
imul eax, eax, 0x68
add eax, dword [ebx + 0x11c]
push eax
cmp esi, dword [ebp - 0x1254]
je 0x452e0b
mov ecx, esi
call fcn.004024d0
add esi, 0x18
mov dword [ebp - 0x1258], esi
jmp 0x452e1d
push esi
lea ecx, [ebp - 0x125c]
call fcn.004021d0
mov esi, dword [ebp - 0x1258]
push 2
push edi
push 0x100c
push dword [ebp - 0x124c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x452dd0
mov ebx, dword [ebp - 0x1240]
sub esi, dword [ebp - 0x125c]
mov eax, 0x2aaaaaab
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x452e68
push dword [ebp - 0x124c]
lea ecx, [ebp - 0x125c]
call fcn.004086e0
lea ecx, [ebp - 0x125c]
mov dword [ebp - 4], 0xffffffff
call fcn.004020e0
mov edi, dword [ebp - 0x123c]
cmp dword [ebx + 8], 0xffffff94
jne 0x453330
push 0x423
push dword [edi + 8]
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov cl, byte [edi + 0x14c]
mov edx, eax
test cl, cl
mov dword [ebp - 0x1244], edx
mov byte [ebp - 0x1235], 0
sete al
mov byte [edi + 0x14c], al
mov eax, dword [ebx + 0x10]
cmp eax, 6
ja case.default.0x452ec4
jmp dword [eax*4 + 0x454888]
mov eax, dword [ebp - 0x123c]
test cl, cl
mov edi, dword [edi + 0x11c]
mov byte [ebp - 0x1234], 0
push dword [ebp - 0x1234]
mov esi, dword [eax + 0x120]
mov eax, 0x4ec4ec4f
mov ecx, esi
jne 0x452eff
push 0x488680
jmp 0x45307b
push 0x4890c0
jmp 0x45307b
cmp edx, 1
jne case.default.0x452ec4
mov eax, dword [ebp - 0x123c]
test cl, cl
mov edi, dword [edi + 0x11c]
mov byte [ebp - 0x1234], 0
push dword [ebp - 0x1234]
mov esi, dword [eax + 0x120]
mov eax, 0x4ec4ec4f
mov ecx, esi
jne 0x452f46
push 0x488890
jmp 0x45307b
push 0x4892d0
jmp 0x45307b
cmp edx, 1
jne case.default.0x452ec4
mov eax, dword [ebp - 0x123c]
test cl, cl
mov edi, dword [edi + 0x11c]
mov byte [ebp - 0x1234], 0
push dword [ebp - 0x1234]
mov esi, dword [eax + 0x120]
mov eax, 0x4ec4ec4f
mov ecx, esi
jne 0x452f8d
push 0x4888b0
jmp 0x45307b
push 0x4892f0
jmp 0x45307b
mov eax, dword [ebp - 0x123c]
test cl, cl
mov edi, dword [edi + 0x11c]
mov byte [ebp - 0x1234], 0
push dword [ebp - 0x1234]
mov esi, dword [eax + 0x120]
mov eax, 0x4ec4ec4f
mov ecx, esi
jne 0x452fcb
push 0x4888d0
jmp 0x45307b
push 0x489310
jmp 0x45307b
mov eax, dword [ebp - 0x123c]
test cl, cl
mov edi, dword [edi + 0x11c]
mov byte [ebp - 0x1234], 0
push dword [ebp - 0x1234]
mov esi, dword [eax + 0x120]
mov eax, 0x4ec4ec4f
mov ecx, esi
jne 0x453006
push 0x488c70
jmp 0x45307b
push 0x4896b0
jmp 0x45307b
mov eax, dword [ebp - 0x123c]
test cl, cl
mov edi, dword [edi + 0x11c]
mov byte [ebp - 0x1234], 0
push dword [ebp - 0x1234]
mov esi, dword [eax + 0x120]
mov eax, 0x4ec4ec4f
mov ecx, esi
jne 0x45303e
push 0x488c30
jmp 0x45307b
push 0x489670
jmp 0x45307b
mov eax, dword [ebp - 0x123c]
test cl, cl
mov edi, dword [edi + 0x11c]
mov byte [ebp - 0x1234], 0
push dword [ebp - 0x1234]
mov esi, dword [eax + 0x120]
mov eax, 0x4ec4ec4f
mov ecx, esi
jne 0x453076
push 0x488c50
jmp 0x45307b
push 0x489690
sub ecx, edi
imul ecx
mov ecx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
push eax
call fcn.004662f0
mov edi, dword [ebp - 0x123c]
add esp, 0xc
mov edx, dword [edi + 0x128]
lea esi, [edi + 0x128]
mov ecx, dword [esi + 4]
sub ecx, edx
mov byte [ebp - 0x1235], 1
sar ecx, 3
cmp edx, dword [esi + 4]
je 0x4530c2
mov dword [edi + 0x12c], edx
mov eax, dword [esi + 8]
sub eax, edx
mov dword [ebp - 0x1264], ecx
sar eax, 3
cmp ecx, eax
jbe 0x4530ee
cmp ecx, 0x1fffffff
ja 0x45483d
lea eax, [ebp - 0x1264]
mov ecx, esi
push eax
call fcn.00463dd0
mov ecx, dword [edi + 0x120]
xor edx, edx
mov eax, dword [edi + 0x11c]
mov dword [ebp - 0x124c], edx
mov dword [ebp - 0x1250], ecx
mov dword [ebp - 0x1248], eax
cmp eax, ecx
je case.default.0x452ec4
mov edi, dword [eax + 0x24]
xor ecx, ecx
mov ebx, dword [eax + 0x20]
mov dword [ebp - 0x1260], ecx
mov dword [ebp - 0x1234], edi
cmp ebx, edi
je 0x453187
xor edx, edx
xor edi, edi
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x45314b
mov dword [eax], ecx
mov ecx, dword [ebp - 0x124c]
mov dword [eax + 4], ecx
add dword [esi + 4], 8
jmp 0x453163
lea ecx, [ebp - 0x1260]
push ecx
lea ecx, [ebp - 0x124c]
push ecx
push eax
mov ecx, esi
call fcn.00466160
mov edx, edi
lea ecx, [edx + 1]
add ebx, 4
mov edx, ecx
mov dword [ebp - 0x1260], ecx
mov edi, edx
cmp ebx, dword [ebp - 0x1234]
jne 0x453132
mov eax, dword [ebp - 0x1248]
mov edx, dword [ebp - 0x124c]
add eax, 0x68
inc edx
mov dword [ebp - 0x124c], edx
mov dword [ebp - 0x1248], eax
cmp eax, dword [ebp - 0x1250]
jne 0x453116
mov ebx, dword [ebp - 0x1240]
mov edi, dword [ebp - 0x123c]
push 0x3f6
push dword [edi + 8]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0
mov esi, eax
push 0xb
push esi
mov dword [ebp - 0x1234], esi
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebp - 0x1244], 1
jne 0x4531fa
mov ecx, dword [edi + 0x120]
mov eax, 0x4ec4ec4f
sub ecx, dword [edi + 0x11c]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x453209
mov eax, dword [edi + 0x12c]
sub eax, dword [edi + 0x128]
sar eax, 3
push 3
push eax
push 0x102f
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, edi
call fcn.0045e8c0
push 0x30
lea eax, [ebp - 0x129c]
push 0
push eax
call fcn.004affe0
add esp, 0xc
mov dword [ebp - 0x129c], 4
push 0
push 0
push 0x101f
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
call esi
push 0
push 0
push 0x1200
push eax
mov dword [ebp - 0x1248], eax
call esi
xor esi, esi
mov dword [ebp - 0x1244], eax
test eax, eax
jle 0x4532b7
mov ebx, dword [ebp - 0x1248]
mov edi, eax
lea eax, [ebp - 0x129c]
push eax
push esi
push 0x120b
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
and dword [ebp - 0x1288], 0xfffff9ff
lea eax, [ebp - 0x129c]
push eax
push esi
push 0x120c
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
inc esi
cmp esi, edi
jl 0x453274
mov ebx, dword [ebp - 0x1240]
mov edi, dword [ebp - 0x123c]
cmp byte [ebp - 0x1235], 0
je 0x45330d
mov esi, dword [ebp - 0x1248]
lea eax, [ebp - 0x129c]
push eax
push dword [ebx + 0x10]
push 0x120b
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
movzx eax, byte [edi + 0x14c]
neg eax
sbb eax, eax
and eax, 0x200
add eax, 0x200
or dword [ebp - 0x1288], eax
lea eax, [ebp - 0x129c]
push eax
push dword [ebx + 0x10]
push 0x120c
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebp - 0x1234]
push 0
push 1
push 0xb
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x485
push 0
push 0
push esi
call dword [sym.imp.USER32.dll_RedrawWindow]
cmp dword [ebx + 8], 0xffffff62
jne 0x453741
mov eax, dword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov esi, dword [ebx + 0x18]
push 0x423
push dword [edi + 8]
call eax
cmp eax, 1
je 0x453360
mov eax, dword [edi + 0x128]
lea eax, [eax + esi*8]
mov esi, dword [eax + 4]
mov eax, dword [ebx + 0x10]
xor ecx, ecx
mov word [eax], cx
mov eax, 0x4ec4ec4f
mov ecx, dword [edi + 0x120]
sub ecx, dword [edi + 0x11c]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jle 0x453741
imul eax, esi, 0x68
lea ecx, [ebp - 0x150]
add eax, dword [edi + 0x11c]
push eax
call fcn.004548d0
mov dword [ebp - 4], 1
mov eax, 0x7ffffffe
mov ecx, dword [ebp - 0x140]
sub eax, ecx
cmp eax, 1
jb 0x454842
cmp dword [ebp - 0x13c], 7
lea eax, [ebp - 0x150]
jbe 0x4533d4
mov eax, dword [ebp - 0x150]
push 1
push 0x4ebe38
push ecx
push eax
push ecx
push dword [ebp - 0x1244]
lea ecx, [ebp - 0xb8]
call fcn.004069c0
mov byte [ebp - 4], 2
cmp dword [ebp - 0xf4], 0
je 0x45341e
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0xb8]
call fcn.00404a00
push 0x4ebe38
lea ecx, [ebp - 0xb8]
call fcn.00405930
call fcn.00411ad0
mov edx, dword [edi + 4]
lea ecx, [ebp - 0x1e0]
push 0x96
mov esi, eax
call fcn.0041fc20
push esi
lea edx, [ebp - 0x1e0]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xd0]
call fcn.004108d0
add esp, 8
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 5
call fcn.004027a0
xor ebx, ebx
xor edi, edi
mov ecx, dword [ebp - 0x120]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x124]
sub ecx, esi
imul ecx
mov dword [ebp - 0x1234], edi
mov ecx, 5
sar edx, 2
mov eax, edx
mov dword [ebp - 0x1250], ebx
shr eax, 0x1f
add eax, edx
cmp eax, 5
ja 0x45349b
mov ecx, eax
cmp ebx, ecx
jae 0x453606
lea eax, [esi + edi]
push eax
lea ecx, [ebp - 0x70]
call fcn.004024d0
mov byte [ebp - 4], 6
lea edx, [ebp - 0x70]
cmp dword [ebp - 0x5c], 7
mov ecx, dword [ebp - 0x70]
seta bl
mov dword [ebp - 0x1248], ecx
jbe 0x4534ca
mov edx, ecx
mov eax, dword [ebp - 0x60]
lea esi, [eax + eax]
lea eax, [esi + edx]
mov dword [ebp - 0x1244], eax
lea edx, [ebp - 0x70]
test bl, bl
je 0x4534e4
mov eax, ecx
jmp 0x4534ef
lea eax, [ebp - 0x70]
mov dword [ebp - 0x1248], edx
mov ecx, edx
add esi, eax
cmp esi, ecx
je 0x45351a
mov ebx, dword [ebp - 0x1248]
jmp 0x453500
movzx eax, word [esi - 2]
lea edi, [esi - 2]
push eax
call fcn.004b8e3c
add esp, 4
test eax, eax
je 0x45351a
mov esi, edi
cmp edi, ebx
jne 0x453500
push dword [ebp - 0x1244]
lea eax, [ebp - 0x126c]
push esi
push eax
lea ecx, [ebp - 0x70]
call fcn.00412c40
mov edx, dword [ebp - 0x5c]
lea esi, [ebp - 0x70]
mov ecx, dword [ebp - 0x70]
cmp edx, 7
seta bl
jbe 0x453543
mov esi, ecx
mov eax, dword [ebp - 0x60]
lea edi, [esi + eax*2]
lea esi, [ebp - 0x70]
test bl, bl
je 0x453552
mov esi, ecx
cmp esi, edi
je 0x453573
movzx eax, word [esi]
push eax
call fcn.004b8e3c
add esp, 4
test eax, eax
je 0x45356d
add esi, 2
cmp esi, edi
jne 0x453556
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x70]
lea eax, [ebp - 0x70]
cmp edx, 7
jbe 0x45357d
mov eax, ecx
push esi
push eax
lea eax, [ebp - 0x1268]
push eax
lea ecx, [ebp - 0x70]
call fcn.00412c40
cmp dword [ebp - 0x5c], 7
lea ecx, [ebp - 0x70]
jbe 0x45359a
mov ecx, dword [ebp - 0x70]
cmp dword [ebp - 0xbc], 7
mov eax, dword [ebp - 0x130]
mov ebx, dword [ebp - 0x1250]
mov edx, dword [eax + ebx*4]
lea eax, [ebp - 0xd0]
jbe 0x4535be
mov eax, dword [ebp - 0xd0]
push ecx
push edx
push eax
lea eax, [ebp - 0x1f8]
push eax
call fcn.00419200
add esp, 0x10
push eax
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 7
call fcn.00404a00
lea ecx, [ebp - 0x1f8]
call fcn.004027a0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 5
call fcn.004027a0
mov edi, dword [ebp - 0x1234]
inc ebx
add edi, 0x18
jmp 0x453464
mov ebx, dword [ebp - 0x1240]
cmp eax, 5
jbe 0x4536d1
call fcn.00411ad0
mov edi, dword [ebp - 0x123c]
lea ecx, [ebp - 0x1c8]
push 0x95
mov esi, eax
mov edx, dword [edi + 4]
call fcn.0041fc20
push esi
lea edx, [ebp - 0x1c8]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xe8]
call fcn.004108d0
add esp, 8
lea ecx, [ebp - 0x1c8]
mov byte [ebp - 4], 0xa
call fcn.004027a0
mov ecx, dword [ebp - 0x120]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x124]
imul ecx
lea eax, [ebp - 0xe8]
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, 0xfffffffb
add ecx, edx
cmp dword [ebp - 0xd4], 7
jbe 0x453692
mov eax, dword [ebp - 0xe8]
push ecx
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.00419200
add esp, 0xc
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0xb8]
call fcn.00404a00
lea ecx, [ebp - 0x1b0]
call fcn.004027a0
lea ecx, [ebp - 0xe8]
call fcn.004027a0
jmp 0x4536d7
mov edi, dword [ebp - 0x123c]
cmp dword [ebp - 0xa4], 7
lea eax, [ebp - 0xb8]
jbe 0x4536ec
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
push eax
call fcn.00422290
lea ecx, [ebp - 0xd0]
call fcn.004027a0
lea ecx, [ebp - 0xb8]
call fcn.004027a0
lea ecx, [ebp - 0x104]
mov dword [ebp - 4], 0xffffffff
call fcn.004027a0
lea ecx, [ebp - 0x124]
call fcn.004020e0
lea ecx, [ebp - 0x130]
call fcn.0041b770
lea ecx, [ebp - 0x150]
call fcn.004027a0
cmp dword [ebx + 8], 0xffffff4f
jne 0x45481f
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x5084e0]
cmp eax, dword [ecx + 4]
jle 0x4537db
push 0x5084e0
call fcn.004acdaf
add esp, 4
cmp dword [0x5084e0], 0xffffffff
jne 0x4537db
mov dword [ebp - 4], 0xc
call fcn.00411ad0
mov edx, dword [edi + 4]
lea ecx, [ebp - 0x198]
push 0x82
mov esi, eax
call fcn.0041fc20
push esi
lea edx, [ebp - 0x198]
mov byte [ebp - 4], 0xd
mov ecx, 0x5084e4
call fcn.004108d0
add esp, 8
lea ecx, [ebp - 0x198]
call fcn.004027a0
push 0x4e1d30
call fcn.004ad050
push 0x5084e0
mov dword [ebp - 4], 0xffffffff
call fcn.004acd5e
add esp, 8
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x5084fc]
cmp eax, dword [ecx + 4]
jle 0x453868
push 0x5084fc
call fcn.004acdaf
add esp, 4
cmp dword [0x5084fc], 0xffffffff
jne 0x453868
mov dword [ebp - 4], 0xe
call fcn.00411ad0
mov edx, dword [edi + 4]
lea ecx, [ebp - 0x180]
push 0x81
mov esi, eax
call fcn.0041fc20
push esi
lea edx, [ebp - 0x180]
mov byte [ebp - 4], 0xf
mov ecx, 0x508500
call fcn.004108d0
add esp, 8
lea ecx, [ebp - 0x180]
call fcn.004027a0
push 0x4e1d20
call fcn.004ad050
push 0x5084fc
mov dword [ebp - 4], 0xffffffff
call fcn.004acd5e
add esp, 8
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x508518]
cmp eax, dword [ecx + 4]
jle 0x4538f5
push 0x508518
call fcn.004acdaf
add esp, 4
cmp dword [0x508518], 0xffffffff
jne 0x4538f5
mov dword [ebp - 4], 0x10
call fcn.00411ad0
mov edx, dword [edi + 4]
lea ecx, [ebp - 0x168]
push 0xb3
mov esi, eax
call fcn.0041fc20
push esi
lea edx, [ebp - 0x168]
mov byte [ebp - 4], 0x11
mov ecx, 0x50851c
call fcn.004108d0
add esp, 8
lea ecx, [ebp - 0x168]
call fcn.004027a0
push 0x4e1d10
call fcn.004ad050
push 0x508518
mov dword [ebp - 4], 0xffffffff
call fcn.004acd5e
add esp, 8
mov esi, dword [ebx + 0x10]
push 0x423
push dword [edi + 8]
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
cmp eax, 1
jne 0x453fdf
imul ecx, esi, 0x68
mov esi, dword [edi + 0x11c]
add esi, ecx
test byte [ebx + 0xc], al
je 0x453f3a
mov eax, dword [ebx + 0x14]
cmp eax, 6
ja case.default.0x45392f
jmp dword [eax*4 + 0x4548a4]
mov edi, dword [ebx + 0x24]
mov ecx, esi
mov eax, dword [esi + 0x10]
dec edi
cmp dword [esi + 0x14], 7
jbe 0x453947
mov ecx, dword [esi]
test eax, eax
je 0x453973
dec eax
cmp eax, 0xffffffff
jb 0x453954
or eax, 0xffffffff
cmp word [ecx + eax*2], 0x5c
lea eax, [ecx + eax*2]
je 0x45396d
mov edi, edi
cmp eax, ecx
je 0x453973
sub eax, 2
cmp word [eax], 0x5c
jne 0x453960
sub eax, ecx
sar eax, 1
jmp 0x453976
or eax, 0xffffffff
lea ecx, [eax + 1]
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x10]
cmp eax, ecx
jb 0x454847
sub eax, ecx
cmp eax, 0xffffffff
jb 0x4539a2
or eax, 0xffffffff
cmp dword [esi + 0x14], 7
mov edx, esi
jbe 0x4539ac
mov edx, dword [esi]
push eax
lea eax, [edx + ecx*2]
push eax
lea ecx, [ebp - 0x28]
call fcn.00403450
cmp dword [ebp - 0x14], 7
lea eax, [ebp - 0x28]
jbe 0x4539c5
mov eax, dword [ebp - 0x28]
push edi
push eax
push dword [ebx + 0x24]
push dword [ebx + 0x20]
call fcn.004ba826
mov ecx, dword [ebp - 0x14]
add esp, 0x10
cmp ecx, 7
jbe 0x453a0f
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x453a05
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45484c
push ecx
push edx
call fcn.004accfd
add esp, 8
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
jmp 0x453f3a
cmp byte [esi + 0x65], 0
jne 0x453f3a
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [esi + 0x1c]
push dword [esi + 0x18]
call dword [sym.imp.SHLWAPI.dll_StrFormatByteSizeW]
jmp 0x453f3a
cmp byte [esi + 0x64], 0
je 0x453a7b
cmp dword [0x508514], 7
mov eax, 0x508500
mov ecx, dword [ebx + 0x24]
lea edx, [ecx - 1]
jbe 0x453a68
mov eax, dword [0x508500]
push edx
push eax
push ecx
push dword [ebx + 0x20]
call fcn.004ba826
add esp, 0x10
jmp 0x453f3a
cmp dword [esi + 0x5c], 0
je 0x453aad
cmp dword [0x508530], 7
mov eax, 0x50851c
mov ecx, dword [ebx + 0x24]
lea edx, [ecx - 1]
jbe 0x453a9a
mov eax, dword [0x50851c]
push edx
push eax
push ecx
push dword [ebx + 0x20]
call fcn.004ba826
add esp, 0x10
jmp 0x453f3a
push dword [esi + 0x3c]
push dword [esi + 0x38]
push 0x4f0688
push dword [ebx + 0x24]
push dword [ebx + 0x20]
call fcn.00418e70
add esp, 0x14
jmp 0x453f3a
cmp dword [edi + 0x50], 7
lea eax, [edi + 0x3c]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x1234], eax
jbe 0x453ae5
mov eax, dword [eax]
mov dword [ebp - 0x1234], eax
test ecx, ecx
je 0x453c37
cmp word [eax], 0x7c
mov edx, eax
je 0x453b04
cmp ecx, 1
je 0x453b08
add edx, 2
dec ecx
cmp word [edx], 0x7c
jne 0x453af5
mov eax, edx
jmp 0x453b0a
xor eax, eax
test eax, eax
je 0x453c37
sub eax, dword [ebp - 0x1234]
sar eax, 1
cmp eax, 0xffffffff
je 0x453c37
mov edi, dword [ebx + 0x24]
mov ecx, esi
mov eax, dword [esi + 0x10]
dec edi
cmp dword [esi + 0x14], 7
jbe 0x453b34
mov ecx, dword [esi]
test eax, eax
je 0x453b63
dec eax
cmp eax, 0xffffffff
jb 0x453b41
or eax, 0xffffffff
cmp word [ecx + eax*2], 0x5c
lea eax, [ecx + eax*2]
je 0x453b5d
jmp 0x453b50
cmp eax, ecx
je 0x453b63
sub eax, 2
cmp word [eax], 0x5c
jne 0x453b50
sub eax, ecx
sar eax, 1
jmp 0x453b66
or eax, 0xffffffff
xor ecx, ecx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x454851
sub ecx, eax
cmp ecx, 0xffffffff
jb 0x453ba1
or ecx, 0xffffffff
cmp dword [esi + 0x14], 7
mov edx, esi
jbe 0x453bab
mov edx, dword [esi]
push ecx
lea eax, [edx + eax*2]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00403450
mov dword [ebp - 4], 0x12
xor ecx, ecx
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x90]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x453be8
mov ecx, eax
cmp dword [esi + 0x14], 7
mov eax, esi
jbe 0x453bf2
mov eax, dword [esi]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.00403450
cmp dword [ebp - 0x2c], 7
lea eax, [ebp - 0x40]
jbe 0x453c08
mov eax, dword [ebp - 0x40]
push edi
push eax
push dword [ebx + 0x24]
push dword [ebx + 0x20]
call fcn.004ba826
add esp, 0x10
lea ecx, [ebp - 0x40]
call fcn.004027a0
lea ecx, [ebp - 0xa0]
mov dword [ebp - 4], 0xffffffff
call fcn.004027a0
jmp 0x453f3a
cmp dword [esi + 0x14], 7
mov ecx, esi
mov eax, dword [esi + 0x10]
jbe 0x453c44
mov ecx, dword [esi]
test eax, eax
je 0x453c73
dec eax
cmp eax, 0xffffffff
jb 0x453c51
or eax, 0xffffffff
cmp word [ecx + eax*2], 0x5c
lea eax, [ecx + eax*2]
je 0x453c6d
jmp 0x453c60
cmp eax, ecx
je 0x453c73
sub eax, 2
cmp word [eax], 0x5c
jne 0x453c60
sub eax, ecx
sar eax, 1
jmp 0x453c76
or eax, 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x454856
sub ecx, eax
cmp ecx, 0xffffffff
jb 0x453ca5
or ecx, 0xffffffff
cmp dword [esi + 0x14], 7
mov edx, esi
jbe 0x453caf
mov edx, dword [esi]
push ecx
lea eax, [edx + eax*2]
push eax
lea ecx, [ebp - 0x88]
call fcn.00403450
mov dword [ebp - 4], 0x13
mov ecx, dword [esi + 0x10]
mov eax, ecx
sub eax, dword [ebp - 0x78]
mov edx, dword [edi + 0x4c]
sub eax, edx
je 0x453cd6
dec eax
mov edi, dword [ebx + 0x24]
lea ebx, [edi - 1]
mov dword [ebp - 0x1244], ebx
mov ebx, dword [ebp - 0x1240]
cmp edx, ecx
jae 0x453d85
xor edi, edi
inc edx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
cmp ecx, edx
jb 0x45485b
sub ecx, edx
cmp ecx, eax
jb 0x453d15
mov ecx, eax
cmp dword [esi + 0x14], 7
mov eax, esi
jbe 0x453d1f
mov eax, dword [esi]
push ecx
lea eax, [eax + edx*2]
push eax
lea ecx, [ebp - 0x28]
call fcn.00403450
cmp dword [ebp - 0x14], 7
lea eax, [ebp - 0x28]
jbe 0x453d38
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x1244]
push eax
push dword [ebx + 0x24]
push dword [ebx + 0x20]
call fcn.004ba826
add esp, 0x10
lea ecx, [ebp - 0x28]
call fcn.004027a0
mov eax, dword [ebx + 0x20]
cmp word [eax], di
jne 0x453da0
push 0x4f067c
push dword [ebx + 0x24]
push eax
call fcn.004b30c0
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88]
call fcn.004027a0
jmp 0x453f3a
cmp dword [esi + 0x14], 7
mov eax, esi
jbe 0x453d8f
mov eax, dword [esi]
lea ecx, [edi - 1]
push ecx
push eax
push edi
push dword [ebx + 0x20]
call fcn.004ba826
add esp, 0x10
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], 0xffffffff
call fcn.004027a0
jmp 0x453f3a
mov eax, dword [ebx + 0x20]
xor ecx, ecx
mov word [eax], cx
cmp byte [esi + 0x65], cl
jne 0x453f3a
cmp dword [esi + 0x14], 7
mov ecx, esi
mov eax, dword [esi + 0x10]
jbe 0x453dd5
mov ecx, dword [esi]
test eax, eax
je 0x453f3a
dec eax
cmp eax, 0xffffffff
jb 0x453de6
or eax, 0xffffffff
cmp word [ecx + eax*2], 0x2e
lea eax, [ecx + eax*2]
je 0x453e01
cmp eax, ecx
je 0x453f3a
sub eax, 2
cmp word [eax], 0x2e
jne 0x453df0
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
je 0x453f3a
cmp dword [esi + 0x14], 7
mov edx, esi
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x1234], esi
jbe 0x453e27
mov edx, dword [esi]
mov dword [ebp - 0x1234], edx
mov dword [ebp - 0x1240], eax
cmp eax, ecx
jae 0x453e7b
mov dword [ebp - 0x1240], eax
lea edx, [edx + eax*2]
mov edi, 0
sub ecx, eax
je 0x453e66
cmp word [edx], 0x5c
mov dword [ebp - 0x1240], eax
je 0x453e64
mov dword [ebp - 0x1240], eax
cmp ecx, 1
je 0x453e66
add edx, 2
dec ecx
cmp word [edx], 0x5c
jne 0x453e55
mov edi, edx
test edi, edi
je 0x453e7b
sub edi, dword [ebp - 0x1234]
sar edi, 1
cmp edi, 0xffffffff
jne 0x453f3a
mov ecx, dword [ebp - 0x1240]
xor eax, eax
mov edi, dword [ebx + 0x24]
inc ecx
mov dword [ebp - 0x40], eax
dec edi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x10]
cmp eax, ecx
jb 0x454860
sub eax, ecx
cmp eax, 0xffffffff
jb 0x453eaf
or eax, 0xffffffff
cmp dword [esi + 0x14], 7
mov edx, esi
jbe 0x453eb9
mov edx, dword [esi]
push eax
lea eax, [edx + ecx*2]
push eax
lea ecx, [ebp - 0x40]
call fcn.00403450
cmp dword [ebp - 0x2c], 7
lea eax, [ebp - 0x40]
jbe 0x453ed2
mov eax, dword [ebp - 0x40]
push edi
push eax
push dword [ebx + 0x24]
push dword [ebx + 0x20]
call fcn.004ba826
add esp, 0x10
lea ecx, [ebp - 0x40]
call fcn.004027a0
jmp 0x453f3a
mov edi, dword [ebx + 0x24]
lea ecx, [ebp - 0x88]
mov edx, dword [esi + 0x40]
dec edi
call fcn.0041b660
cmp dword [eax + 0x14], 7
jbe 0x453f06
mov eax, dword [eax]
push edi
push eax
push dword [ebx + 0x24]
push dword [ebx + 0x20]
call fcn.004ba826
add esp, 0x10
lea ecx, [ebp - 0x88]
call fcn.004027a0
jmp 0x453f3a
push ecx
lea eax, [esi + 0x44]
push eax
push dword [ebx + 0x20]
call fcn.0045dc50
jmp 0x453f3a
mov eax, dword [ebx + 0x20]
xor ecx, ecx
mov word [eax], cx
test byte [ebx + 0xc], 2
je 0x45481f
cmp byte [esi + 0x65], 0
je 0x453f94
call fcn.00419ab0
mov ecx, 0x2b4
lea eax, [ebp - 0xa14]
lea ebx, [ebx]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x453f60
push 0x4011
push 0x2b4
lea eax, [ebp - 0xa14]
push eax
push 0x10
push 0x4ec05c
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [ebp - 0xa10]
jmp 0x45481c
call fcn.00419ab0
mov ecx, 0x2b4
lea eax, [ebp - 0xcc8]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x453fa4
cmp dword [esi + 0x14], 7
jbe 0x453fb7
mov esi, dword [esi]
push 0x4011
push 0x2b4
lea eax, [ebp - 0xcc8]
push eax
push 0x80
push esi
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [ebp - 0xcc4]
jmp 0x45481c
mov eax, dword [edi + 0x128]
mov ecx, dword [eax + esi*8]
imul esi, dword [eax + esi*8 + 4], 0x68
mov eax, dword [ebx + 0xc]
and eax, 1
mov dword [ebp - 0x1244], ecx
add esi, dword [edi + 0x11c]
cmp dword [esi + 0x40], 1
jne 0x45432f
test eax, eax
je 0x45428d
mov eax, dword [ebx + 0x14]
sub eax, 0
je 0x4541e3
sub eax, 1
je 0x4541ba
sub eax, 2
je 0x454038
mov eax, dword [ebx + 0x20]
xor ecx, ecx
mov word [eax], cx
jmp 0x45428d
mov edi, dword [ebx + 0x24]
mov ecx, esi
mov eax, dword [esi + 0x10]
dec edi
cmp dword [esi + 0x14], 7
jbe 0x454049
mov ecx, dword [esi]
test eax, eax
je 0x454073
dec eax
cmp eax, 0xffffffff
jb 0x454056
or eax, 0xffffffff
cmp word [ecx + eax*2], 0x5c
lea eax, [ecx + eax*2]
je 0x45406d
cmp eax, ecx
je 0x454073
sub eax, 2
cmp word [eax], 0x5c
jne 0x454060
sub eax, ecx
sar eax, 1
jmp 0x454076
or eax, 0xffffffff
xor ecx, ecx
inc eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x454865
sub ecx, eax
cmp ecx, 0xffffffff
jb 0x4540a0
or ecx, 0xffffffff
cmp dword [esi + 0x14], 7
mov edx, esi
jbe 0x4540aa
mov edx, dword [esi]
push ecx
lea eax, [edx + eax*2]
push eax
lea ecx, [ebp - 0x40]
call fcn.00403450
mov dword [ebp - 4], 0x14
xor ecx, ecx
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x4540e2
mov ecx, eax
cmp dword [esi + 0x14], 7
mov eax, esi
jbe 0x4540ec
mov eax, dword [esi]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.00403450
cmp dword [ebp - 0x14], 7
lea eax, [ebp - 0x28]
jbe 0x454102
mov eax, dword [ebp - 0x28]
push edi
push eax
push dword [ebx + 0x24]
push dword [ebx + 0x20]
call fcn.004ba826
mov ecx, dword [ebp - 0x14]
add esp, 0x10
cmp ecx, 7
jbe 0x45414c
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x454142
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45486a
push ecx
push edx
call fcn.004accfd
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp ecx, 7
jbe 0x4541a1
mov edx, dword [ebp - 0x40]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x454197
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45486a
push ecx
push edx
call fcn.004accfd
add esp, 8
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
jmp 0x45428d
cmp dword [0x5084f8], 7
mov eax, 0x5084e4
mov ecx, dword [ebx + 0x24]
jbe 0x4541d0
mov eax, dword [0x5084e4]
push ecx
push eax
push ecx
push dword [ebx + 0x20]
call fcn.004ba826
add esp, 0x10
jmp 0x45428d
mov edi, dword [ebx + 0x24]
mov ecx, esi
mov eax, dword [esi + 0x10]
dec edi
cmp dword [esi + 0x14], 7
jbe 0x4541f4
mov ecx, dword [esi]
test eax, eax
je 0x454223
dec eax
cmp eax, 0xffffffff
jb 0x454201
or eax, 0xffffffff
cmp word [ecx + eax*2], 0x5c
lea eax, [ecx + eax*2]
je 0x45421d
jmp 0x454210
cmp eax, ecx
je 0x454223
sub eax, 2
cmp word [eax], 0x5c
jne 0x454210
sub eax, ecx
sar eax, 1
jmp 0x454226
or eax, 0xffffffff
lea ecx, [eax + 1]
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x10]
cmp eax, ecx
jb 0x45486f
sub eax, ecx
cmp eax, 0xffffffff
jb 0x454252
or eax, 0xffffffff
cmp dword [esi + 0x14], 7
mov edx, esi
jbe 0x45425c
mov edx, dword [esi]
push eax
lea eax, [edx + ecx*2]
push eax
lea ecx, [ebp - 0x40]
call fcn.00403450
cmp dword [ebp - 0x2c], 7
lea eax, [ebp - 0x40]
jbe 0x454275
mov eax, dword [ebp - 0x40]
push edi
push eax
push dword [ebx + 0x24]
push dword [ebx + 0x20]
call fcn.004ba826
add esp, 0x10
lea ecx, [ebp - 0x40]
call fcn.004027a0
test byte [ebx + 0xc], 2
je 0x45481f
cmp byte [esi + 0x65], 0
je 0x4542e4
call fcn.00419ab0
mov ecx, 0x2b4
lea eax, [ebp - 0xf7c]
lea ecx, [ecx]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x4542b0
push 0x4011
push 0x2b4
lea eax, [ebp - 0xf7c]
push eax
push 0x10
push 0x4ec05c
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [ebp - 0xf78]
jmp 0x45481c
call fcn.00419ab0
mov ecx, 0x2b4
lea eax, [ebp - 0x1230]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x4542f4
cmp dword [esi + 0x14], 7
jbe 0x454307
mov esi, dword [esi]
push 0x4011
push 0x2b4
lea eax, [ebp - 0x1230]
push eax
push 0x80
push esi
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [ebp - 0x122c]
jmp 0x45481c
test eax, eax
je 0x454785
mov eax, dword [ebx + 0x14]
cmp eax, 3
ja case.default.0x454343
jmp dword [eax*4 + 0x4548c0]
mov edi, dword [ebx + 0x24]
mov ecx, esi
mov eax, dword [esi + 0x10]
dec edi
cmp dword [esi + 0x14], 7
jbe 0x45435b
mov ecx, dword [esi]
test eax, eax
je 0x454385
dec eax
cmp eax, 0xffffffff
jb 0x454368
or eax, 0xffffffff
cmp word [ecx + eax*2], 0x5c
lea eax, [ecx + eax*2]
je 0x45437f
cmp eax, ecx
je 0x454385
sub eax, 2
cmp word [eax], 0x5c
jne 0x454372
sub eax, ecx
sar eax, 1
jmp 0x454388
or eax, 0xffffffff
lea ecx, [eax + 1]
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x10]
cmp eax, ecx
jb 0x454874
sub eax, ecx
cmp eax, 0xffffffff
jb 0x4543b4
or eax, 0xffffffff
cmp dword [esi + 0x14], 7
mov edx, esi
jbe 0x4543be
mov edx, dword [esi]
push eax
lea eax, [edx + ecx*2]
push eax
lea ecx, [ebp - 0x28]
call fcn.00403450
cmp dword [ebp - 0x14], 7
lea eax, [ebp - 0x28]
jbe 0x4543d7
mov eax, dword [ebp - 0x28]
push edi
push eax
push dword [ebx + 0x24]
push dword [ebx + 0x20]
call fcn.004ba826
mov ecx, dword [ebp - 0x14]
add esp, 0x10
cmp ecx, 7
jbe 0x454421
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x454417
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x454879
push ecx
push edx
call fcn.004accfd
add esp, 8
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
jmp 0x454785
mov eax, dword [esi + 0x20]
push dword [eax + ecx*4]
push 0x4f0694
push dword [ebx + 0x24]
push dword [ebx + 0x20]
call fcn.00418e70
add esp, 0x10
jmp 0x454785
xor eax, eax
mov edi, 7
xor ecx, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edi
mov word [ebp - 0x58], cx
mov dword [ebp - 4], 0x15
mov eax, 0x2aaaaaab
mov ecx, dword [esi + 0x30]
sub ecx, dword [esi + 0x2c]
imul ecx
mov ecx, dword [ebp - 0x1244]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
jbe 0x4544c6
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + 0x2c]
lea eax, [ecx + eax*8]
lea ecx, [ebp - 0x58]
cmp ecx, eax
je 0x4544c6
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0x14], edi
jbe 0x4544b9
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00403a40
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x58]
lea eax, [ebp - 0x58]
cmp edi, 7
jbe 0x4544d3
mov eax, ecx
lea edx, [ebp - 0x58]
mov dword [ebp - 0x1234], edx
jbe 0x4544e4
mov dword [ebp - 0x1234], ecx
mov edx, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x1234]
mov dword [ebp - 0x123c], 0x20
lea ebx, [ebx + edx*2]
mov dword [ebp - 0x1244], ebx
cmp eax, ebx
je 0x454529
mov ecx, ebx
mov ebx, dword [ebp - 0x123c]
lea esp, [esp]
cmp word [eax], 9
jne 0x454519
mov word [eax], bx
add eax, 2
cmp eax, ecx
jne 0x454510
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x58]
cmp edi, 7
jbe 0x454533
mov eax, ecx
lea ebx, [ebp - 0x58]
mov dword [ebp - 0x1234], ebx
jbe 0x454544
mov dword [ebp - 0x1234], ecx
mov ebx, dword [ebp - 0x1234]
lea ebx, [ebx + edx*2]
mov dword [ebp - 0x1244], ebx
cmp eax, ebx
je 0x454579
mov ecx, ebx
mov ebx, dword [ebp - 0x123c]
nop
cmp word [eax], 0xa
jne 0x454569
mov word [eax], bx
add eax, 2
cmp eax, ecx
jne 0x454560
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x58]
cmp edi, 7
jbe 0x454583
mov eax, ecx
lea ebx, [ebp - 0x58]
mov dword [ebp - 0x1234], ebx
jbe 0x454594
mov dword [ebp - 0x1234], ecx
mov ebx, dword [ebp - 0x1234]
lea edx, [ebx + edx*2]
mov ebx, dword [ebp - 0x1240]
cmp eax, edx
je 0x4545cc
mov ebx, dword [ebp - 0x123c]
lea ecx, [ecx]
cmp word [eax], 0xd
jne 0x4545b9
mov word [eax], bx
add eax, 2
cmp eax, edx
jne 0x4545b0
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x1240]
mov edx, dword [ebx + 0x24]
lea eax, [ebp - 0x58]
cmp edi, 7
jbe 0x4545d9
mov eax, ecx
lea ecx, [edx - 1]
push ecx
push eax
push edx
push dword [ebx + 0x20]
call fcn.004ba826
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.004027a0
jmp 0x454785
mov edi, dword [ebx + 0x24]
mov ecx, esi
mov eax, dword [esi + 0x10]
dec edi
cmp dword [esi + 0x14], 7
jbe 0x45460f
mov ecx, dword [esi]
test eax, eax
je 0x454639
dec eax
cmp eax, 0xffffffff
jb 0x45461c
or eax, 0xffffffff
cmp word [ecx + eax*2], 0x5c
lea eax, [ecx + eax*2]
je 0x454633
cmp eax, ecx
je 0x454639
sub eax, 2
cmp word [eax], 0x5c
jne 0x454626
sub eax, ecx
sar eax, 1
jmp 0x45463c
or eax, 0xffffffff
xor ecx, ecx
inc eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x45487e
sub ecx, eax
cmp ecx, 0xffffffff
jb 0x454666
or ecx, 0xffffffff
cmp dword [esi + 0x14], 7
mov edx, esi
jbe 0x454670
mov edx, dword [esi]
push ecx
lea eax, [edx + eax*2]
push eax
lea ecx, [ebp - 0x40]
call fcn.00403450
mov dword [ebp - 4], 0x16
xor ecx, ecx
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x4546a8
mov ecx, eax
cmp dword [esi + 0x14], 7
mov eax, esi
jbe 0x4546b2
mov eax, dword [esi]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.00403450
cmp dword [ebp - 0x14], 7
lea eax, [ebp - 0x28]
jbe 0x4546c8
mov eax, dword [ebp - 0x28]
push edi
push eax
push dword [ebx + 0x24]
push dword [ebx + 0x20]
call fcn.004ba826
mov ecx, dword [ebp - 0x14]
add esp, 0x10
cmp ecx, 7
jbe 0x454712
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x454708
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x454883
push ecx
push edx
call fcn.004accfd
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp ecx, 7
jbe 0x454767
mov edx, dword [ebp - 0x40]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x45475d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x454883
push ecx
push edx
call fcn.004accfd
add esp, 8
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
jmp 0x454785
mov eax, dword [ebx + 0x20]
xor ecx, ecx
mov word [eax], cx
test byte [ebx + 0xc], 2
je 0x45481f
cmp byte [esi + 0x65], 0
je 0x4547d6
call fcn.00419ab0
mov ecx, 0x2b4
lea eax, [ebp - 0x4ac]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x4547a5
push 0x4011
push 0x2b4
lea eax, [ebp - 0x4ac]
push eax
push 0x10
push 0x4ec05c
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [ebp - 0x4a8]
jmp 0x45481c
call fcn.00419ab0
mov ecx, 0x2b4
lea eax, [ebp - 0x760]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x4547e6
cmp dword [esi + 0x14], 7
jbe 0x4547f9
mov esi, dword [esi]
push 0x4011
push 0x2b4
lea eax, [ebp - 0x760]
push eax
push 0x80
push esi
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [ebp - 0x75c]
mov dword [ebx + 0x28], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004accbf
mov esp, ebp
pop ebp
ret 4
call fcn.00402330
call fcn.004026f0
call fcn.00404b30
call fcn.004b306f
call fcn.00404b30
call fcn.00404b30
call fcn.00404b30
call fcn.00404b30
call fcn.00404b30
call fcn.004b306f
call fcn.00404b30
call fcn.00404b30
call fcn.004b306f
call fcn.00404b30
call fcn.004b306f
retf