Function at 0x48eb05
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3b0
push ebx
push esi
mov esi, ecx
push edi
mov dword [esi + 0x264], 0
call fcn.0047aee0
cmp dword [eax + 0xc4], 0
jle 0x48e547
call fcn.0047aee0
cmp dword [eax + 0xc8], 0
jle 0x48e547
push 1
push 0
call fcn.0047aee0
mov eax, dword [eax + 0xc8]
push eax
call fcn.0047aee0
mov ecx, esi
mov eax, dword [eax + 0xc4]
push eax
call fcn.00424cb0
call fcn.0047aee0
mov ecx, esi
mov eax, dword [eax + 0xe0]
push eax
call fcn.00427980
cmp dword [esi + 0x258], 0
je 0x48ed80
push 9
xor eax, eax
mov dword [ebp - 0xc], 0
push str.edit_name
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
mov eax, dword [esi + 0x258]
mov ecx, esi
add eax, 0x18
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00427170
mov ecx, eax
call fcn.0044dfb0
lea ecx, [ebp - 0x1c]
call fcn.00403070
push 8
xor eax, eax
mov dword [ebp - 0xc], 0
push str.edit_url
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
mov eax, dword [esi + 0x258]
mov ecx, esi
add eax, 0x48
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00427170
mov ecx, eax
call fcn.0044dfb0
lea ecx, [ebp - 0x1c]
call fcn.00403070
push 9
xor eax, eax
mov dword [ebp - 0xc], 0
push str.edit_icon
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
mov eax, dword [esi + 0x258]
mov ecx, esi
add eax, 0x6c
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00427170
mov ecx, eax
call fcn.0044dfb0
lea ecx, [ebp - 0x1c]
call fcn.00403070
push 0xa
xor eax, eax
mov dword [ebp - 0xc], 0
push str.edit_param
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
mov eax, dword [esi + 0x258]
mov ecx, esi
add eax, 0x84
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00427170
mov ecx, eax
call fcn.0044dfb0
lea ecx, [ebp - 0x1c]
call fcn.00403070
xor eax, eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
push 8
push str.edit_dir
lea ecx, [ebp - 0x1c]
call fcn.00402e60
mov eax, dword [esi + 0x258]
mov ecx, esi
add eax, 0x9c
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00427170
mov ecx, eax
call fcn.0044dfb0
lea ecx, [ebp - 0x1c]
call fcn.00403070
push 0xa
xor eax, eax
mov dword [ebp - 0xc], 0
push str.edit_admin
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.00427170
mov ecx, dword [esi + 0x258]
push 0
mov edx, dword [eax]
movzx ecx, byte [ecx + 0xc0]
push ecx
mov ecx, eax
call dword [edx + 0x164]
lea ecx, [ebp - 0x1c]
call fcn.00403070
push 0xa
xor eax, eax
mov dword [ebp - 0xc], 0
push str.edit_color
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
mov eax, dword [esi + 0x258]
mov ecx, esi
add eax, 0xc4
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00427170
mov ecx, eax
call fcn.0044dfb0
lea ecx, [ebp - 0x1c]
call fcn.00403070
push 0xb
xor eax, eax
mov dword [ebp - 0xc], 0
push str.edit_remark
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
mov eax, dword [esi + 0x258]
mov ecx, esi
add eax, 0xdc
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00427170
mov ecx, eax
call fcn.0044dfb0
lea ecx, [ebp - 0x1c]
call fcn.00403070
push 0xb
xor eax, eax
mov dword [ebp - 0xc], 0
push str.edit_hotkey
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
mov eax, dword [esi + 0x258]
mov ecx, esi
movzx eax, word [eax + 0xb8]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00427170
mov ecx, eax
call fcn.004a6040
lea ecx, [ebp - 0x1c]
call fcn.00403070
push 5
xor eax, eax
mov dword [ebp - 0xc], 0
push str.title
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
push 0
push 0x5ba710
push 0x5b980c
push 0
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.00427170
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
lea ecx, [ebp - 0x1c]
mov edi, eax
call fcn.00403070
push 9
xor eax, eax
mov dword [ebp - 0xa4], 0
push str.label_url
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0xa0], 7
mov word [ebp - 0xb4], ax
call fcn.00402e60
push 0
push 0x5ba710
push 0x5b980c
push 0
lea eax, [ebp - 0xb4]
mov ecx, esi
push eax
call fcn.00427170
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
lea ecx, [ebp - 0xb4]
mov ebx, eax
call fcn.00403070
push 8
xor eax, eax
mov dword [ebp - 0xbc], 0
push str.edit_url
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0xb8], 7
mov word [ebp - 0xcc], ax
call fcn.00402e60
lea eax, [ebp - 0xcc]
mov ecx, esi
push eax
call fcn.00427170
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x74], eax
call fcn.00403070
push 8
xor eax, eax
mov dword [ebp - 0xd4], 0
push str.btn_path
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0xd0], 7
mov word [ebp - 0xe4], ax
call fcn.00402e60
lea eax, [ebp - 0xe4]
mov ecx, esi
push eax
call fcn.00427170
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x44], eax
call fcn.00403070
push 0xa
xor eax, eax
mov dword [ebp - 0xec], 0
push str.edit_param
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0xe8], 7
mov word [ebp - 0xfc], ax
call fcn.00402e60
lea eax, [ebp - 0xfc]
mov ecx, esi
push eax
call fcn.00427170
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x48], eax
call fcn.00403070
push 8
xor eax, eax
mov dword [ebp - 0x7c], 0
push str.edit_dir
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
call fcn.00402e60
lea eax, [ebp - 0x8c]
mov ecx, esi
push eax
call fcn.00427170
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x20], eax
call fcn.00403070
push 0xa
xor eax, eax
mov dword [ebp - 0x50], 0
push str.edit_admin
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
call fcn.00402e60
lea eax, [ebp - 0x60]
mov ecx, esi
push eax
call fcn.00427170
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], eax
call fcn.00403070
mov ecx, dword [esi + 0x258]
mov eax, dword [ecx + 0x14]
cmp eax, 7
ja case.default.0x48ea1c
jmp dword [eax*4 + 0x48f8b8]
push 0x58154c
lea ecx, [ebp - 0x38]
call fcn.00402fa0
mov eax, dword [edi]
lea ecx, [ebp - 0x38]
push ecx
mov ecx, edi
call dword [eax + 0x154]
lea ecx, [ebp - 0x38]
call fcn.00403070
push 0x58155c
lea ecx, [ebp - 0x38]
call fcn.00402fa0
jmp 0x48eb93
push 0x581564
jmp 0x48ea28
push 0x581574
jmp 0x48ea28
push 0x581584
lea ecx, [ebp - 0x38]
call fcn.00402fa0
mov eax, dword [edi]
lea ecx, [ebp - 0x38]
push ecx
mov ecx, edi
call dword [eax + 0x154]
lea ecx, [ebp - 0x38]
call fcn.00403070
push 0x581594
lea ecx, [ebp - 0x38]
call fcn.00402fa0
jmp 0x48eb93
push 0x58159c
lea ecx, [ebp - 0x38]
call fcn.00402fa0
mov eax, dword [edi]
lea ecx, [ebp - 0x38]
push ecx
mov ecx, edi
call dword [eax + 0x154]
lea ecx, [ebp - 0x38]
call fcn.00403070
push 0x5815b0
lea ecx, [ebp - 0x38]
call fcn.00402fa0
jmp 0x48eb93
push 0x5815b8
lea ecx, [ebp - 0x38]
call fcn.00402fa0
mov eax, dword [edi]
lea ecx, [ebp - 0x38]
push ecx
mov ecx, edi
call dword [eax + 0x154]
lea ecx, [ebp - 0x38]
call fcn.00403070
push 0x5815d0
lea ecx, [ebp - 0x38]
call fcn.00402fa0
jmp 0x48eb93
push 0x5815d8
lea ecx, [ebp - 0x38]
call fcn.00402fa0
mov eax, dword [edi]
lea ecx, [ebp - 0x38]
push ecx
mov ecx, edi
call dword [eax + 0x154]
lea ecx, [ebp - 0x38]
call fcn.00403070
push str.Pidl
lea ecx, [ebp - 0x38]
call fcn.00402fa0
jmp 0x48eb93
push 4
xor eax, eax
mov dword [ebp - 0x28], 0
push 0x5815f8
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
call fcn.00402e60
mov eax, dword [edi]
lea ecx, [ebp - 0x38]
push ecx
mov ecx, edi
call dword [eax + 0x154]
lea ecx, [ebp - 0x38]
call fcn.00403070
push 2
xor eax, eax
mov dword [ebp - 0x28], 0
push 0x58155c
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
call fcn.00402e60
mov eax, dword [ebx]
lea ecx, [ebp - 0x38]
push ecx
mov ecx, ebx
call dword [eax + 0x154]
lea ecx, [ebp - 0x38]
call fcn.00403070
mov edi, dword [esi + 0x258]
mov eax, dword [edi + 0x14]
cmp eax, 7
ja case.default.0x48ebbb
jmp dword [eax*4 + 0x48f8d8]
mov ecx, dword [ebp - 0x74]
push 1
mov eax, dword [ecx]
call dword [eax + 0xa0]
mov ecx, dword [ebp - 0x44]
push 1
mov eax, dword [ecx]
call dword [eax + 0xa0]
mov ecx, dword [ebp - 0x48]
push 1
mov eax, dword [ecx]
call dword [eax + 0xa0]
mov ecx, dword [ebp - 0x20]
push 1
mov eax, dword [ecx]
call dword [eax + 0xa0]
push 1
jmp 0x48ecd8
mov ecx, dword [ebp - 0x74]
push 1
mov eax, dword [ecx]
call dword [eax + 0xa0]
mov ecx, dword [ebp - 0x44]
push 1
mov eax, dword [ecx]
call dword [eax + 0xa0]
mov ecx, dword [ebp - 0x48]
push 0
mov eax, dword [ecx]
call dword [eax + 0xa0]
mov ecx, dword [ebp - 0x20]
push 0
mov eax, dword [ecx]
call dword [eax + 0xa0]
push 1
jmp 0x48ecd8
push 0x2b4
lea eax, [ebp - 0x3b0]
push 0
push eax
call sub.msvcrt.dll_memset
mov ecx, dword [edi + 0x64]
lea eax, [ebp - 0x3b0]
sub ecx, dword [edi + 0x60]
add esp, 0xc
neg ecx
sbb ecx, ecx
and ecx, dword [edi + 0x60]
push 0x4208
push 0x2b4
push eax
push 0
push ecx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
cmp dword [ebp - 0x3ac], 0
je case.default.0x48ebbb
lea eax, [ebp - 0x3a4]
push eax
lea ecx, [ebp - 0x38]
call fcn.00402fa0
mov ebx, dword [ebp - 0x74]
lea eax, [ebp - 0x38]
push eax
mov ecx, ebx
call fcn.0044dfb0
lea ecx, [ebp - 0x38]
call fcn.00403070
mov eax, dword [ebx]
mov ecx, ebx
push 0
call dword [eax + 0xa0]
mov ecx, dword [ebp - 0x44]
push 0
mov eax, dword [ecx]
call dword [eax + 0xa0]
mov ecx, dword [ebp - 0x48]
push 0
mov eax, dword [ecx]
call dword [eax + 0xa0]
mov ecx, dword [ebp - 0x20]
push 0
mov eax, dword [ecx]
call dword [eax + 0xa0]
push 0
mov ecx, dword [ebp - 4]
mov eax, dword [ecx]
call dword [eax + 0xa0]
push 0xa
xor eax, eax
mov dword [ebp - 0x28], 0
push str.edit_admin
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
call fcn.00402e60
push 0
push 0x5baba0
push 0x5b980c
push 0
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
call fcn.00427170
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
lea ecx, [ebp - 0x38]
mov edi, eax
call fcn.00403070
mov ecx, dword [esi + 0x258]
xor eax, eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
cmp dword [ecx + 0x14], 4
lea ecx, [ebp - 0x60]
jne 0x48ed5e
push 7
push 0x581604
jmp 0x48ed65
push 8
push 0x581614
call fcn.00402e60
mov eax, dword [edi]
lea ecx, [ebp - 0x60]
push ecx
mov ecx, edi
call dword [eax + 0x154]
lea ecx, [ebp - 0x60]
call fcn.00403070
push 0xa
xor eax, eax
mov dword [ebp - 0xc], 0
push str.edit_color
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.00427170
mov edx, dword [ebp - 8]
mov dword [esi + 0x260], eax
cmp edx, 8
jb 0x48edee
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48ede4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48f88e
push edx
push ecx
call fcn.005342bc
add esp, 8
mov eax, dword [esi + 0x258]
cmp dword [eax + 0xd4], 0
jbe 0x48ee11
mov ecx, dword [esi + 0x260]
add eax, 0xc4
push eax
mov edx, dword [ecx]
call dword [edx + 0x200]
push 0x580991
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x4a2350
push eax
sub esp, 0xc
mov dword [ebp - 0xc], 0
movq xmm0, qword [ebp - 0x10]
mov eax, esp
mov dword [ebp - 4], esi
movq qword [eax], xmm0
mov dword [eax + 8], 0
lea eax, [ebp - 0x40]
push eax
call fcn.004856e0
lea eax, [ebp - 0x40]
push eax
call fcn.00485ab0
mov ecx, dword [ebp - 0x3c]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x4c], edi
test ecx, ecx
je 0x48ee70
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48ee70
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esi + 0x260]
lea eax, [ebp - 4]
push eax
add ecx, 0x70
mov dword [ebp - 4], 0x2e
call fcn.00429860
mov ebx, eax
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x20], ecx
cmp dword [ebx + 8], ecx
je 0x48eeb4
mov dword [ecx + 0x24], 0
test edi, edi
je 0x48eeae
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax]
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x24], eax
add dword [ebx + 4], 0x28
jmp 0x48eec0
lea eax, [ebp - 0x70]
push eax
push ecx
mov ecx, ebx
call fcn.00429a60
test edi, edi
je 0x48eed7
mov edx, dword [edi]
lea eax, [ebp - 0x70]
cmp edi, eax
mov ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
push 8
xor eax, eax
mov dword [ebp - 0xc], 0
push str.edit_url
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
push 0
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.00427170
mov ecx, eax
call fcn.0044ef60
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48ef48
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48ef3e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48f893
push edx
push ecx
call fcn.005342bc
add esp, 8
push 9
xor eax, eax
mov dword [ebp - 0xc], 0
push str.edit_icon
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
push 0
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.00427170
mov ecx, eax
call fcn.0044ef60
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48efb9
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48efaf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48f898
push edx
push ecx
call fcn.005342bc
add esp, 8
push 0xa
xor eax, eax
mov dword [ebp - 0xc], 0
push str.edit_param
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
push 0
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.00427170
mov ecx, eax
call fcn.0044ef60
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48f02a
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48f020
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48f89d
push edx
push ecx
call fcn.005342bc
add esp, 8
push 8
xor eax, eax
mov dword [ebp - 0xc], 0
push str.edit_dir
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
push 0
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.00427170
mov ecx, eax
call fcn.0044ef60
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48f09b
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48f091
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48f8a2
push edx
push ecx
call fcn.005342bc
add esp, 8
push 0xa
xor eax, eax
mov dword [ebp - 0xc], 0
push str.edit_color
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
push 0
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.00427170
mov ecx, eax
call fcn.0044ef60
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48f10c
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48f102
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48f8a7
push edx
push ecx
call fcn.005342bc
add esp, 8
push 0x580991
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x488bec
push eax
sub esp, 0xc
mov dword [ebp - 0xc], 0
movq xmm0, qword [ebp - 0x10]
mov eax, esp
mov dword [ebp - 4], esi
movq qword [eax], xmm0
mov dword [eax + 8], 0
lea eax, [ebp - 0x40]
push eax
call fcn.004856e0
lea eax, [ebp - 0x40]
push eax
call fcn.00485ab0
mov ecx, dword [ebp - 0x3c]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x4c], edi
test ecx, ecx
je 0x48f16b
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48f16b
mov eax, dword [ecx]
call dword [eax + 4]
push 6
xor eax, eax
mov dword [ebp - 0xc], 0
push str.btn_ok
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
push 0
push 0x5ba0ec
push 0x5b980c
push 0
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.00427170
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 4], 0x29
lea ecx, [ebp - 4]
push ecx
lea ecx, [eax + 0x70]
call fcn.00429860
mov dword [ebp - 0x20], eax
mov ebx, dword [eax + 4]
cmp dword [eax + 8], ebx
je 0x48f1ec
mov dword [ebx + 0x24], 0
test edi, edi
je 0x48f1e6
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax]
mov dword [ebx + 0x24], eax
mov eax, dword [ebp - 0x20]
add dword [eax + 4], 0x28
jmp 0x48f1f8
lea ecx, [ebp - 0x70]
push ecx
push ebx
mov ecx, eax
call fcn.00429a60
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48f232
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48f228
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48f8ac
push edx
push ecx
call fcn.005342bc
add esp, 8
xor eax, eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
test edi, edi
je 0x48f25d
mov edx, dword [edi]
lea eax, [ebp - 0x70]
cmp edi, eax
mov ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
push 0x580991
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x488bec
push eax
sub esp, 0xc
mov dword [ebp - 0xc], 0
movq xmm0, qword [ebp - 0x10]
mov eax, esp
mov dword [ebp - 4], esi
movq qword [eax], xmm0
mov dword [eax + 8], 0
lea eax, [ebp - 0x40]
push eax
call fcn.004856e0
lea eax, [ebp - 0x40]
push eax
call fcn.00485ab0
mov ecx, dword [ebp - 0x3c]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x4c], edi
test ecx, ecx
je 0x48f2bc
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48f2bc
mov eax, dword [ecx]
call dword [eax + 4]
push 0xa
xor eax, eax
mov dword [ebp - 0xc], 0
push str.btn_cancel
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00402e60
push 0
push 0x5ba0ec
push 0x5b980c
push 0
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.00427170
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 4], 0x29
lea ecx, [ebp - 4]
push ecx
lea ecx, [eax + 0x70]
call fcn.00429860
mov dword [ebp - 0x20], eax
mov ebx, dword [eax + 4]
cmp dword [eax + 8], ebx
je 0x48f33d
mov dword [ebx + 0x24], 0
test edi, edi
je 0x48f337
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax]
mov dword [ebx + 0x24], eax
mov eax, dword [ebp - 0x20]
add dword [eax + 4], 0x28
jmp 0x48f349
lea ecx, [ebp - 0x70]
push ecx
push ebx
mov ecx, eax
call fcn.00429a60
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48f383
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48f379
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48f8b1
push edx
push ecx
call fcn.005342bc
add esp, 8
xor eax, eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
test edi, edi
je 0x48f3ae
mov edx, dword [edi]
lea eax, [ebp - 0x70]
cmp edi, eax
mov ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
push 0x580991
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x488bec
push eax
sub esp, 0xc
mov dword [ebp - 0xc], 0
movq xmm0, qword [ebp - 0x10]
mov eax, esp
mov dword [ebp - 4], esi
movq qword [eax], xmm0
mov dword [eax + 8], 0
lea eax, [ebp - 0x68]
push eax
call fcn.004856e0
lea eax, [ebp - 0x68]
push eax
call fcn.00485ab0
mov ecx, dword [ebp - 0x64]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x78], edi
test ecx, ecx
je 0x48f40d
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48f40d
mov eax, dword [ecx]
call dword [eax + 4]
push 8
xor eax, eax
mov dword [ebp - 0x28], 0
push str.btn_path
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
call fcn.00402e60
lea eax, [ebp - 0x9c]
mov ecx, esi
push eax
push 0
push 0x5ba0ec
push 0x5b980c
push 0
lea eax, [ebp - 0x38]
push eax
call fcn.00427170
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
mov ecx, eax
call fcn.0043a8b0
lea ecx, [ebp - 0x38]
call fcn.00403070
test edi, edi
je 0x48f482
mov edx, dword [edi]
lea eax, [ebp - 0x9c]
cmp edi, eax
mov ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
push 0x580991
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x488bec
push eax
sub esp, 0xc
mov dword [ebp - 0xc], 0
movq xmm0, qword [ebp - 0x10]
mov eax, esp
mov dword [ebp - 4], esi
movq qword [eax], xmm0
mov dword [eax + 8], 0
lea eax, [ebp - 0x68]
push eax
call fcn.004856e0
lea eax, [ebp - 0x68]
push eax
call fcn.00485ab0
mov ecx, dword [ebp - 0x64]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x78], edi
test ecx, ecx
je 0x48f4e1
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48f4e1
mov eax, dword [ecx]
call dword [eax + 4]
push 8
xor eax, eax
mov dword [ebp - 0x28], 0
push str.btn_icon
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
call fcn.00402e60
lea eax, [ebp - 0x9c]
mov ecx, esi
push eax
push 0
push 0x5ba0ec
push 0x5b980c
push 0
lea eax, [ebp - 0x38]
push eax
call fcn.00427170
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
mov ecx, eax
call fcn.0043a8b0
lea ecx, [ebp - 0x38]
call fcn.00403070
test edi, edi
je 0x48f556
mov edx, dword [edi]
lea eax, [ebp - 0x9c]
cmp edi, eax
mov ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
push 0x580991
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x488bec
push eax
sub esp, 0xc
mov dword [ebp - 0xc], 0
movq xmm0, qword [ebp - 0x10]
mov eax, esp
mov dword [ebp - 4], esi
movq qword [eax], xmm0
mov dword [eax + 8], 0
lea eax, [ebp - 0x68]
push eax
call fcn.004856e0
lea eax, [ebp - 0x68]
push eax
call fcn.00485ab0
mov ecx, dword [ebp - 0x64]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x78], edi
test ecx, ecx
je 0x48f5b5
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48f5b5
mov eax, dword [ecx]
call dword [eax + 4]
push 9
xor eax, eax
mov dword [ebp - 0x28], 0
push str.btn_color
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
call fcn.00402e60
lea eax, [ebp - 0x9c]
mov ecx, esi
push eax
push 0
push 0x5ba0ec
push 0x5b980c
push 0
lea eax, [ebp - 0x38]
push eax
call fcn.00427170
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
mov ecx, eax
call fcn.0043a8b0
lea ecx, [ebp - 0x38]
call fcn.00403070
test edi, edi
je 0x48f62a
mov edx, dword [edi]
lea eax, [ebp - 0x9c]
cmp edi, eax
mov ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
push 8
xor eax, eax
mov dword [ebp - 0x28], 0
push str.colorbox
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
call fcn.00402e60
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
call fcn.00427170
mov edi, eax
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], edi
call fcn.00403070
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x15c]
xor ebx, ebx
mov dword [ebp - 0x44], eax
test eax, eax
jle 0x48f757
nop dword [eax]
mov eax, dword [edi]
mov ecx, edi
push 0
push 0x5ba0ec
push 0x5b980c
push 0
push ebx
call dword [eax + pe_nt_image_headers32]
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 0x48], eax
test eax, eax
je 0x48f74d
push 0x580991
lea eax, [ebp - 0x20]
mov dword [ebp - 0x10], 0x488bec
push eax
sub esp, 0xc
mov dword [ebp - 0xc], 0
movq xmm0, qword [ebp - 0x10]
mov eax, esp
mov dword [ebp - 0x20], esi
movq qword [eax], xmm0
mov dword [eax + 8], 0
lea eax, [ebp - 0x68]
push eax
call fcn.004856e0
lea eax, [ebp - 0x68]
push eax
call fcn.00485ab0
mov ecx, dword [ebp - 0x64]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x78], edi
test ecx, ecx
je 0x48f70c
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48f70c
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x29
push eax
add ecx, 0x70
call fcn.00429860
mov ecx, eax
call fcn.00429ce0
test edi, edi
je 0x48f74a
mov edx, dword [edi]
lea eax, [ebp - 0x9c]
cmp edi, eax
mov ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov edi, dword [ebp - 4]
inc ebx
cmp ebx, dword [ebp - 0x44]
jl 0x48f680
push 9
xor eax, eax
mov dword [ebp - 0x28], 0
push str.colorbox2
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
call fcn.00402e60
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
call fcn.00427170
mov edi, eax
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], edi
call fcn.00403070
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x15c]
xor ebx, ebx
mov dword [ebp - 0x44], eax
test eax, eax
jle 0x48f887
nop dword [eax]
mov eax, dword [edi]
mov ecx, edi
push 0
push 0x5ba0ec
push 0x5b980c
push 0
push ebx
call dword [eax + pe_nt_image_headers32]
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 0x48], eax
test eax, eax
je 0x48f87d
push 0x580991
lea eax, [ebp - 0x20]
mov dword [ebp - 0x10], 0x488bec
push eax
sub esp, 0xc
mov dword [ebp - 0xc], 0
movq xmm0, qword [ebp - 0x10]
mov eax, esp
mov dword [ebp - 0x20], esi
movq qword [eax], xmm0
mov dword [eax + 8], 0
lea eax, [ebp - 0x68]
push eax
call fcn.004856e0
lea eax, [ebp - 0x68]
push eax
call fcn.00485ab0
mov ecx, dword [ebp - 0x64]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x78], edi
test ecx, ecx
je 0x48f83c
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48f83c
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x29
push eax
add ecx, 0x70
call fcn.00429860
mov ecx, eax
call fcn.00429ce0
test edi, edi
je 0x48f87a
mov edx, dword [edi]
lea eax, [ebp - 0x9c]
cmp edi, eax
mov ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov edi, dword [ebp - 4]
inc ebx
cmp ebx, dword [ebp - 0x44]
jl 0x48f7b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00560610
call fcn.00560610
call fcn.00560610
call fcn.00560610
call fcn.00560610
call fcn.00560610
call fcn.00560610
call fcn.00560610
nop
and ebp, edx
dec eax
add byte [eax - 0x16], bl
dec eax
add byte [eax - 0x16], bl
dec eax
add byte [edi - 0x16], bl
dec eax
add byte [esi - 0x16], ah
dec eax
add byte [ebx - 0x2fffb716], bl
ljmp 0x48