Function at 0x48d769
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3b0
push ebx
push esi
mov esi, ecx
push edi
cmp dword [esi + 0x258], 0
je 0x48d9e4
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.004270b0
mov ecx, eax
call fcn.0044b740
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.004270b0
mov ecx, eax
call fcn.0044b740
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.004270b0
mov ecx, eax
call fcn.0044b740
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.004270b0
mov ecx, eax
call fcn.0044b740
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.004270b0
mov ecx, eax
call fcn.0044b740
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.004270b0
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.004270b0
mov ecx, eax
call fcn.0044b740
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.004270b0
mov ecx, eax
call fcn.0044b740
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.004270b0
mov ecx, eax
call fcn.004a3290
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 0x5b7ae0
push 0x5b67e4
push 0
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.004270b0
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 0x5b7ae0
push 0x5b67e4
push 0
lea eax, [ebp - 0xb4]
mov ecx, esi
push eax
call fcn.004270b0
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.004270b0
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x4c], 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.004270b0
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.004270b0
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.004270b0
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x20], eax
call fcn.00403070
push 0xa
xor eax, eax
mov dword [ebp - 0x54], 0
push str.edit_admin
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], ax
call fcn.00402e60
lea eax, [ebp - 0x64]
mov ecx, esi
push eax
call fcn.004270b0
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], eax
call fcn.00403070
mov ecx, dword [esi + 0x258]
mov eax, dword [ecx + 0x14]
cmp eax, 7
ja case.default.0x48d680
jmp dword [eax*4 + 0x48e428]
push 0x57e044
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 0x57e054
lea ecx, [ebp - 0x38]
call fcn.00402fa0
jmp 0x48d7f7
push 0x57e05c
jmp 0x48d68c
push 0x57e06c
jmp 0x48d68c
push 0x57e07c
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 0x57e08c
lea ecx, [ebp - 0x38]
call fcn.00402fa0
jmp 0x48d7f7
push 0x57e094
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 0x57e0a8
lea ecx, [ebp - 0x38]
call fcn.00402fa0
jmp 0x48d7f7
push 0x57e0b0
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 0x57e0c8
lea ecx, [ebp - 0x38]
call fcn.00402fa0
jmp 0x48d7f7
push 0x57e0d0
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 0x48d7f7
push 4
xor eax, eax
mov dword [ebp - 0x28], 0
push 0x57e0f0
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 0x57e054
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.0x48d81f
jmp dword [eax*4 + 0x48e448]
mov ecx, dword [ebp - 0x4c]
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 0x48d93c
mov ecx, dword [ebp - 0x4c]
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 0x48d93c
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.0x48d81f
lea eax, [ebp - 0x3a4]
push eax
lea ecx, [ebp - 0x38]
call fcn.00402fa0
mov ebx, dword [ebp - 0x4c]
lea eax, [ebp - 0x38]
push eax
mov ecx, ebx
call fcn.0044b740
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 0x5b79d8
push 0x5b67e4
push 0
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
call fcn.004270b0
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 - 0x54], 0
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], ax
cmp dword [ecx + 0x14], 4
lea ecx, [ebp - 0x64]
jne 0x48d9c2
push 7
push 0x57e0fc
jmp 0x48d9c9
push 8
push 0x57e10c
call fcn.00402e60
mov eax, dword [edi]
lea ecx, [ebp - 0x64]
push ecx
mov ecx, edi
call dword [eax + 0x154]
lea ecx, [ebp - 0x64]
call fcn.00403070
push 0x57d55b
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x49f900
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.004846b0
lea eax, [ebp - 0x40]
push eax
call fcn.00484a80
mov ecx, dword [ebp - 0x3c]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x50], edi
test ecx, ecx
je 0x48da43
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48da43
mov eax, dword [ecx]
call dword [eax + 4]
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.004270b0
lea ecx, [ebp - 4]
mov dword [ebp - 4], 0x2e
push ecx
lea ecx, [eax + 0x70]
call fcn.004298e0
mov ebx, eax
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x20], ecx
cmp dword [ebx + 8], ecx
je 0x48daaf
mov dword [ecx + 0x24], 0
test edi, edi
je 0x48daa9
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 0x48dabb
lea eax, [ebp - 0x74]
push eax
push ecx
mov ecx, ebx
call fcn.00429ae0
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48daf5
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48daeb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48e3fe
push edx
push ecx
call fcn.0053140c
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 0x48db20
mov edx, dword [edi]
lea eax, [ebp - 0x74]
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.004270b0
mov ecx, eax
call fcn.0044c550
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48db91
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48db87
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48e403
push edx
push ecx
call fcn.0053140c
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.004270b0
mov ecx, eax
call fcn.0044c550
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48dc02
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48dbf8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48e408
push edx
push ecx
call fcn.0053140c
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.004270b0
mov ecx, eax
call fcn.0044c550
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48dc73
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48dc69
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48e40d
push edx
push ecx
call fcn.0053140c
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.004270b0
mov ecx, eax
call fcn.0044c550
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48dce4
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48dcda
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48e412
push edx
push ecx
call fcn.0053140c
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.004270b0
mov ecx, eax
call fcn.0044c550
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48dd55
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48dd4b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48e417
push edx
push ecx
call fcn.0053140c
add esp, 8
push 0x57d55b
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x487bec
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.004846b0
lea eax, [ebp - 0x40]
push eax
call fcn.00484a80
mov ecx, dword [ebp - 0x3c]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x50], edi
test ecx, ecx
je 0x48ddb4
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48ddb4
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 0x5b70c4
push 0x5b67e4
push 0
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.004270b0
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.004298e0
mov dword [ebp - 0x20], eax
mov ebx, dword [eax + 4]
cmp dword [eax + 8], ebx
je 0x48de35
mov dword [ebx + 0x24], 0
test edi, edi
je 0x48de2f
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 0x48de41
lea ecx, [ebp - 0x74]
push ecx
push ebx
mov ecx, eax
call fcn.00429ae0
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48de7b
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48de71
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48e41c
push edx
push ecx
call fcn.0053140c
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 0x48dea6
mov edx, dword [edi]
lea eax, [ebp - 0x74]
cmp edi, eax
mov ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
push 0x57d55b
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x487bec
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.004846b0
lea eax, [ebp - 0x40]
push eax
call fcn.00484a80
mov ecx, dword [ebp - 0x3c]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x50], edi
test ecx, ecx
je 0x48df05
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48df05
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 0x5b70c4
push 0x5b67e4
push 0
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.004270b0
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.004298e0
mov dword [ebp - 0x20], eax
mov ebx, dword [eax + 4]
cmp dword [eax + 8], ebx
je 0x48df86
mov dword [ebx + 0x24], 0
test edi, edi
je 0x48df80
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 0x48df92
lea ecx, [ebp - 0x74]
push ecx
push ebx
mov ecx, eax
call fcn.00429ae0
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x48dfcc
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48dfc2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48e421
push edx
push ecx
call fcn.0053140c
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 0x48dff7
mov edx, dword [edi]
lea eax, [ebp - 0x74]
cmp edi, eax
mov ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
push 0x57d55b
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x487bec
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 - 0x6c]
push eax
call fcn.004846b0
lea eax, [ebp - 0x6c]
push eax
call fcn.00484a80
mov ecx, dword [ebp - 0x68]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x78], edi
test ecx, ecx
je 0x48e056
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48e056
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 0x5b70c4
push 0x5b67e4
push 0
lea eax, [ebp - 0x38]
push eax
call fcn.004270b0
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
mov ecx, eax
call fcn.0043a9a0
lea ecx, [ebp - 0x38]
call fcn.00403070
test edi, edi
je 0x48e0cb
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 0x57d55b
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0x487bec
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 - 0x6c]
push eax
call fcn.004846b0
lea eax, [ebp - 0x6c]
push eax
call fcn.00484a80
mov ecx, dword [ebp - 0x68]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x78], edi
test ecx, ecx
je 0x48e12a
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48e12a
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 0x5b70c4
push 0x5b67e4
push 0
lea eax, [ebp - 0x38]
push eax
call fcn.004270b0
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
mov ecx, eax
call fcn.0043a9a0
lea ecx, [ebp - 0x38]
call fcn.00403070
test edi, edi
je 0x48e19f
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.004270b0
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 0x48e2c8
mov eax, dword [edi]
mov ecx, edi
push 0
push 0x5b70c4
push 0x5b67e4
push 0
push ebx
call dword [eax + 0x150]
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 0x48], eax
test eax, eax
je 0x48e2be
push 0x57d55b
lea eax, [ebp - 0x20]
mov dword [ebp - 0x10], 0x487bec
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 - 0x6c]
push eax
call fcn.004846b0
lea eax, [ebp - 0x6c]
push eax
call fcn.00484a80
mov ecx, dword [ebp - 0x68]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x78], edi
test ecx, ecx
je 0x48e27d
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48e27d
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.004298e0
mov ecx, eax
call fcn.00429d60
test edi, edi
je 0x48e2bb
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 0x48e1f1
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.004270b0
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 0x48e3f7
nop word [eax + eax]
mov eax, dword [edi]
mov ecx, edi
push 0
push 0x5b70c4
push 0x5b67e4
push 0
push ebx
call dword [eax + 0x150]
push eax
call sub.msvcrt.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 0x48], eax
test eax, eax
je 0x48e3ed
push 0x57d55b
lea eax, [ebp - 0x20]
mov dword [ebp - 0x10], 0x487bec
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 - 0x6c]
push eax
call fcn.004846b0
lea eax, [ebp - 0x6c]
push eax
call fcn.00484a80
mov ecx, dword [ebp - 0x68]
add esp, 0x1c
mov edi, eax
mov dword [ebp - 0x78], edi
test ecx, ecx
je 0x48e3ac
or edx, 0xffffffff
lock xadd dword [ecx + 8], edx
jne 0x48e3ac
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.004298e0
mov ecx, eax
call fcn.00429d60
test edi, edi
je 0x48e3ea
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 0x48e320
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0055d660
call fcn.0055d660
call fcn.0055d660
call fcn.0055d660
call fcn.0055d660
call fcn.0055d660
call fcn.0055d660
call fcn.0055d660
nop
xchg esi, edx
dec eax
add byte [esi + edx*8 - 0x2943ffb8], bh
dec eax
add bl, al
salc
dec eax
add dl, cl
salc
dec eax
add bh, bh
salc
dec eax
add byte [edi + edx*8], dh
dec eax
add byte [ecx - 0x29], ch
dec eax
add byte [esi], ah
fmul dword [eax]
fmul dword es:[eax]
fmul dword es:[eax]
fmul dword es:[eax]
popal
fmul dword [eax]
popal
fmul dword [eax]
popal
fmul dword [eax]
pushfd
fmul dword [eax]
int3