Function at 0x48ed95
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 0x48e7d7
call fcn.0047aee0
cmp dword [eax + 0xc8], 0
jle 0x48e7d7
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 0x48f010
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.004a6600
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 0x5bb710
push 0x5ba80c
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 0x5bb710
push 0x5ba80c
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.0x48ecac
jmp dword [eax*4 + 0x48fb48]
push 0x58258c
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 0x58259c
lea ecx, [ebp - 0x38]
call fcn.00402fa0
jmp 0x48ee23
push 0x5825a4
jmp 0x48ecb8
push 0x5825b4
jmp 0x48ecb8
push 0x5825c4
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 0x5825d4
lea ecx, [ebp - 0x38]
call fcn.00402fa0
jmp 0x48ee23
push 0x5825dc
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 0x5825f0
lea ecx, [ebp - 0x38]
call fcn.00402fa0
jmp 0x48ee23
push 0x5825f8
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 0x582610
lea ecx, [ebp - 0x38]
call fcn.00402fa0
jmp 0x48ee23
push 0x582618
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 0x48ee23
push 4
xor eax, eax
mov dword [ebp - 0x28], 0
push 0x582638
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 0x58259c
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.0x48ee4b
jmp dword [eax*4 + 0x48fb68]
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 0x48ef68
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 0x48ef68
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.0x48ee4b
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 0x5bbba0
push 0x5ba80c
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 0x48efee
push 7
push 0x582644
jmp 0x48eff5
push 8
push 0x582654
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 0x48f07e
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48f074
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48fb1e
push edx
push ecx
call fcn.005348bc
add esp, 8
mov eax, dword [esi + 0x258]
cmp dword [eax + 0xd4], 0
jbe 0x48f0a1
mov ecx, dword [esi + 0x260]
add eax, 0xc4
push eax
mov edx, dword [ecx]
call dword [edx + 0x200]
push 0x5819d1
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x4a2640
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.00485930
lea eax, [ebp - 0x40]
push eax
call fcn.00485d00
mov ecx, dword [ebp - 0x3c]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x4c], edi
test ecx, ecx
je 0x48f100
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48f100
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 0x48f144
mov dword [ecx + 0x24], 0
test edi, edi
je 0x48f13e
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 0x48f150
lea eax, [ebp - 0x70]
push eax
push ecx
mov ecx, ebx
call fcn.00429a60
test edi, edi
je 0x48f167
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 0x48f1d8
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48f1ce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48fb23
push edx
push ecx
call fcn.005348bc
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 0x48f249
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48f23f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48fb28
push edx
push ecx
call fcn.005348bc
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 0x48f2ba
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48f2b0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48fb2d
push edx
push ecx
call fcn.005348bc
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 0x48f32b
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48f321
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48fb32
push edx
push ecx
call fcn.005348bc
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 0x48f39c
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48f392
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48fb37
push edx
push ecx
call fcn.005348bc
add esp, 8
push 0x5819d1
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x488e5c
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.00485930
lea eax, [ebp - 0x40]
push eax
call fcn.00485d00
mov ecx, dword [ebp - 0x3c]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x4c], edi
test ecx, ecx
je 0x48f3fb
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48f3fb
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 0x5bb0ec
push 0x5ba80c
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 0x48f47c
mov dword [ebx + 0x24], 0
test edi, edi
je 0x48f476
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 0x48f488
lea ecx, [ebp - 0x70]
push ecx
push ebx
mov ecx, eax
call fcn.00429a60
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48f4c2
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48f4b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48fb3c
push edx
push ecx
call fcn.005348bc
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 0x48f4ed
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 0x5819d1
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x488e5c
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.00485930
lea eax, [ebp - 0x40]
push eax
call fcn.00485d00
mov ecx, dword [ebp - 0x3c]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x4c], edi
test ecx, ecx
je 0x48f54c
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48f54c
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 0x5bb0ec
push 0x5ba80c
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 0x48f5cd
mov dword [ebx + 0x24], 0
test edi, edi
je 0x48f5c7
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 0x48f5d9
lea ecx, [ebp - 0x70]
push ecx
push ebx
mov ecx, eax
call fcn.00429a60
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48f613
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48f609
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48fb41
push edx
push ecx
call fcn.005348bc
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 0x48f63e
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 0x5819d1
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x488e5c
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.00485930
lea eax, [ebp - 0x68]
push eax
call fcn.00485d00
mov ecx, dword [ebp - 0x64]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x78], edi
test ecx, ecx
je 0x48f69d
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48f69d
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 0x5bb0ec
push 0x5ba80c
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 0x48f712
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 0x5819d1
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x488e5c
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.00485930
lea eax, [ebp - 0x68]
push eax
call fcn.00485d00
mov ecx, dword [ebp - 0x64]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x78], edi
test ecx, ecx
je 0x48f771
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48f771
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 0x5bb0ec
push 0x5ba80c
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 0x48f7e6
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 0x5819d1
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x488e5c
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.00485930
lea eax, [ebp - 0x68]
push eax
call fcn.00485d00
mov ecx, dword [ebp - 0x64]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x78], edi
test ecx, ecx
je 0x48f845
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48f845
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 0x5bb0ec
push 0x5ba80c
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 0x48f8ba
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 0x48f9e7
nop dword [eax]
mov eax, dword [edi]
mov ecx, edi
push 0
push 0x5bb0ec
push 0x5ba80c
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 0x48f9dd
push 0x5819d1
lea eax, [ebp - 0x20]
mov dword [ebp - 0x10], 0x488e5c
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.00485930
lea eax, [ebp - 0x68]
push eax
call fcn.00485d00
mov ecx, dword [ebp - 0x64]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x78], edi
test ecx, ecx
je 0x48f99c
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48f99c
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 0x48f9da
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 0x48f910
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 0x48fb17
nop dword [eax]
mov eax, dword [edi]
mov ecx, edi
push 0
push 0x5bb0ec
push 0x5ba80c
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 0x48fb0d
push 0x5819d1
lea eax, [ebp - 0x20]
mov dword [ebp - 0x10], 0x488e5c
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.00485930
lea eax, [ebp - 0x68]
push eax
call fcn.00485d00
mov ecx, dword [ebp - 0x64]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x78], edi
test ecx, ecx
je 0x48facc
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48facc
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 0x48fb0a
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 0x48fa40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00560be0
call fcn.00560be0
call fcn.00560be0
call fcn.00560be0
call fcn.00560be0
call fcn.00560be0
call fcn.00560be0
call fcn.00560be0
nop
mov bl, 0xec
dec eax
add al, ch
in al, dx
dec eax
add al, ch
in al, dx
dec eax
add bh, ch
in al, dx
dec eax
add dh, dh
in al, dx
dec eax
add byte [ebx], ch
in eax, dx
dec eax
add byte [eax - 0x13], ah
dec eax
add byte [ebp + 0x520048ed], dl
out dx, al
dec eax
add byte [edx - 0x12], dl
dec eax
add byte [edx - 0x12], dl
dec eax
add byte [edx - 0x12], dl
dec eax
add byte [ebp - 0x72ffb712], cl
out dx, al
dec eax
add byte [ebp - 0x37ffb712], cl
out dx, al
dec eax
add ah, cl
int3