Function at 0x47de10
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x577135
mov eax, dword fs:[0]
push eax
sub esp, 0x268
mov eax, dword [0x5fc150]
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 esi, ecx
mov dword [ebp - 0x1b4], esi
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x1b0], eax
cmp byte [eax + 5], 0
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0
je 0x47de85
push 0
call fcn.0054fb7f
add esp, 4
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], edx
mov ecx, dword [ebp + 0xc]
push 0x64
push edi
mov dword [esi + 4], edi
mov dword [esi + 8], ecx
mov dword [ebp - 0x210], 0x2008
mov dword [ebp - 0x20c], 0x482b80
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x200], edi
call dword [sym.imp.USER32.dll_LoadIconW]
push 0x7f00
push 0
mov dword [ebp - 0x1fc], eax
call dword [sym.imp.USER32.dll_LoadCursorW]
push 4
mov dword [ebp - 0x1f8], eax
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov edi, dword [ebp - 0x1b0]
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1f0], 0x5dc
mov dword [ebp - 0x1ec], 0x5ae798
mov al, byte [edi + 4]
mov byte [esi + 0x69010], al
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
jne 0x47df90
xor eax, eax
mov dword [ebp - method.std::exception.virtual_0], vtable.std::exception.0
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x1bc], str.Notepad_plus_Window::init_:_RegisterClass___function_failed
push eax
mov byte [ebp - 0x1b8], 1
call fcn.005435d4
add esp, 8
mov dword [ebp - 4], 0
mov dword [ebp - method.std::bad_cast.virtual_0], vtable.std::runtime_error.0
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x11c]
push 0x5dbc2c
push eax
call fcn.00543656
call fcn.0040baa0
cmp byte [edi], 0
mov dword [ebp - 0x1a0], eax
je 0x47dfa7
mov byte [esi + 0x68a4c], 1
movzx eax, byte [esi + 0x318]
push esi
push dword [esi + 4]
neg eax
push 0
push dword [esi + 8]
sbb eax, eax
push 0
push 0
push 0
push 0
push 0x2cf0000
push 0x586a50
and eax, 0x400000
push 0x5ae798
add eax, 0x10
push eax
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [ebp - 0x1e8], eax
mov dword [esi + 0xc], eax
test eax, eax
jne 0x47e037
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x1bc]
mov dword [ebp - method.std::exception.virtual_0], vtable.std::exception.0
push eax
mov dword [ebp - 0x1bc], str.Notepad_plus_Window::init_:_CreateWindowEx___function_return_null
mov byte [ebp - 0x1b8], 1
call fcn.005435d4
add esp, 8
mov dword [ebp - 4], 1
jmp 0x47df6e
push eax
mov dword [ebp - 0x1b8], eax
call dword [sym.imp.USER32.dll_LockWindowUpdate]
mov dword [ebp - 4], 2
lea ecx, [esi + 0x10]
call fcn.0047b840
mov eax, dword [esi + 0xc]
mov dword [0x610148], eax
cmp byte [edi + 0x1c], 0
je 0x47e08f
cmp byte [edi + 0x1d], 0
je 0x47e08f
mov eax, dword [ebp - 0x1a0]
push 1
push dword [eax + 0x84]
push dword [eax + 0x80]
push dword [edi + 0x18]
push dword [edi + 0x14]
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_MoveWindow]
jmp 0x47e148
cmp byte [esi + 0x69010], 0
mov dword [ebp - 0x16c], 0x2c
mov dword [ebp - 0x168], 0
je 0x47e0b8
mov dword [ebp - 0x164], 0
jmp 0x47e0d6
mov ecx, dword [ebp - 0x1a0]
xor eax, eax
cmp byte [ecx + 0x98], al
setne al
lea eax, [eax*2 + 1]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x160], 0xffffffff
mov dword [ebp - 0x15c], 0xffffffff
mov dword [ebp - 0x158], 0xffffffff
mov edx, dword [eax + 0x78]
mov ecx, dword [eax + 0x7c]
mov eax, dword [eax + 0x84]
add eax, ecx
mov dword [ebp - 0x154], 0xffffffff
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x14c], ecx
mov eax, dword [eax + 0x80]
add eax, edx
mov dword [ebp - 0x148], eax
lea eax, [ebp - 0x16c]
push eax
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SetWindowPlacement]
mov eax, dword [ebp - 0x1a0]
test byte [eax + 0x5c], 0x80
je 0x47e16f
push 0
push 0xac0c
push 0x111
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x1a0]
cmp byte [eax + 0x5a], 0
jne 0x47e186
push 0
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SetMenu]
mov eax, dword [ebp - 0x1a0]
cmp byte [edi + 3], 0
jne 0x47e195
test dword [eax + 0x5c], 0x100
je 0x47e1c9
mov edi, dword [eax + 0x5c]
push 1
push 0
push 0x81b
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x1b0]
cmp byte [eax + 3], 0
je 0x47e1c7
mov eax, dword [ebp - 0x1a0]
mov dword [eax + 0x5c], edi
mov edi, dword [ebp - 0x1b0]
jmp 0x47e1c9
mov edi, eax
cmp byte [edi + 6], 0
je 0x47e1e4
push 0
push 0xac02
push 0x111
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x1a0]
mov al, byte [edi + 2]
cmp byte [ecx + 0x9a], 0
mov byte [ecx + 0x9b], al
je 0x47e210
cmp byte [edi + 2], 0
jne 0x47e210
lea ecx, [esi + 0x10]
call fcn.0049c570
mov ecx, dword [ebp - 0x1a0]
cmp byte [edi + 4], 0
jne 0x47e24d
cmp byte [edi + 0x1c], 0
je 0x47e22f
cmp byte [edi + 0x1d], 0
je 0x47e22f
push 5
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x47e2a9
xor eax, eax
cmp byte [ecx + 0x98], al
sete al
lea eax, [eax*2 + 3]
push eax
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x47e2a9
push 0x3b9
call fcn.0052bd3f
mov edi, eax
add esp, 4
mov dword [ebp - 0x1e4], edi
mov byte [ebp - 4], 3
test edi, edi
je 0x47e28e
push 0x5883b8
push 0x64
push dword [esi + 4]
call dword [sym.imp.USER32.dll_LoadIconW]
push eax
push 0x105b9
push 0x64
push dword [esi + 0xc]
mov ecx, edi
call fcn.004f73d0
jmp 0x47e290
xor eax, eax
mov byte [ebp - 4], 2
mov ecx, eax
push 0
mov dword [esi + 0x689e0], eax
call fcn.004f7430
mov edi, dword [ebp - 0x1b0]
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0
mov byte [ebp - 4], 4
test ebx, ebx
je 0x47e303
push edi
push ebx
lea eax, [ebp - 0x11c]
lea edi, [esi + 0x10]
push eax
mov ecx, edi
call fcn.0047f210
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1d8]
push eax
call fcn.0047dc80
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x11c]
call fcn.00403aa0
jmp 0x47e306
lea edi, [esi + 0x10]
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
mov byte [ebp - 4], 6
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x158]
push 0x5ae85c
call fcn.004029a0
mov byte [ebp - 4], 8
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x1cc]
call fcn.00408a40
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x158]
call fcn.004038c0
mov ecx, dword [ebp - 0x1a0]
lea eax, [ebp - 0x19c]
push eax
call fcn.0042fb90
mov byte [ebp - 4], 9
xor eax, eax
push 0xffffffffffffffff
push eax
mov word [ebp - 0x184], ax
lea ecx, [ebp - 0x184]
lea eax, [ebp - 0x19c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
push eax
mov dword [ebp - 0x170], 7
mov dword [ebp - 0x174], 0
call fcn.00406ac0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x158]
push str.localization_
call fcn.004029a0
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.00423c40
add esp, 0xc
lea ecx, [ebp - 0x128]
call fcn.004038c0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x158]
call fcn.004038c0
cmp dword [ebp - 0x170], 8
mov eax, dword [ebp - 0x184]
jae 0x47e43f
lea eax, [ebp - 0x184]
push 0
push 0
lea ecx, [ebp - 0x1ac]
push ecx
lea ecx, [ebp - 0x1cc]
push ecx
push eax
mov ecx, edi
call fcn.00471340
mov edi, dword [ebp - 0x1a8]
mov eax, 0x2aaaaaab
mov ebx, dword [ebp - 0x1ac]
mov ecx, edi
sub ecx, ebx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x47e4af
xor edi, edi
mov esi, eax
mov ecx, dword [ebp - 0x1a0]
lea eax, [ebx + edi]
push eax
lea ecx, [ecx + 0x23244]
call fcn.004a87b0
mov ebx, dword [ebp - 0x1ac]
lea edi, [edi + 0x18]
sub esi, 1
jne 0x47e480
mov edi, dword [ebp - 0x1a8]
mov esi, dword [ebp - 0x1b4]
push dword [ebp - 0x1b8]
lea eax, [ebp - 0x1ac]
push eax
push edi
push ebx
call fcn.00401f90
mov ecx, dword [ebp - 0x1a0]
add esp, 0x10
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x130], 0
lea eax, [ecx + 0x2329c]
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x1c0], eax
xor eax, eax
mov dword [ebp - 0x12c], 7
mov dword [ebp - 0x130], 0
mov word [ebp - 0x140], ax
mov byte [ebp - 4], 0xc
lea edx, [ecx + 0x23398]
cmp dword [edx + 0x14], 8
jb 0x47e529
mov eax, dword [edx]
jmp 0x47e52b
mov eax, edx
test eax, eax
je 0x47e69e
cmp dword [edx + 0x14], 8
jb 0x47e53d
mov eax, dword [edx]
jmp 0x47e53f
mov eax, edx
cmp word [eax], 0
je 0x47e69e
cmp dword [edx + 0x14], 8
jb 0x47e551
mov edx, dword [edx]
cmp word [edx], 0
jne 0x47e55b
xor ecx, ecx
jmp 0x47e56f
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x47e560
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x140]
call fcn.00406c80
push str.themes_
lea ecx, [ebp - 0x128]
call fcn.004029a0
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.00423c40
mov eax, dword [ebp - 0x144]
add esp, 0xc
cmp eax, 8
jb 0x47e5cb
inc eax
lea ecx, [ebp - 0x158]
push eax
push dword [ebp - 0x158]
call fcn.00407270
xor eax, eax
mov dword [ebp - 0x144], 7
mov dword [ebp - 0x148], 0
mov word [ebp - 0x158], ax
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x114]
cmp eax, 8
jb 0x47e60a
inc eax
lea ecx, [ebp - 0x128]
push eax
push dword [ebp - 0x128]
call fcn.00407270
xor eax, eax
mov dword [ebp - 0x114], 7
cmp dword [ebp - 0x12c], 8
mov word [ebp - 0x128], ax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x118], 0
jae 0x47e63c
lea eax, [ebp - 0x140]
push 0
push 0
lea ecx, [ebp - 0x1ac]
push ecx
lea ecx, [ebp - 0x1cc]
push ecx
push eax
lea ecx, [esi + 0x10]
call fcn.00471340
mov ecx, dword [ebp - 0x1a8]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x1ac]
imul ecx
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
je 0x47e69e
mov esi, dword [ebp - 0x1c0]
xor edi, edi
mov edi, edi
mov eax, dword [ebp - 0x1ac]
mov ecx, esi
add eax, edi
push eax
call fcn.0047dcf0
add edi, 0x18
sub ebx, 1
jne 0x47e680
mov esi, dword [ebp - 0x1b4]
push dword [ebp - 0x1b8]
lea eax, [ebp - 0x1ac]
push eax
push dword [ebp - 0x1a8]
push dword [ebp - 0x1ac]
call fcn.00401f90
mov eax, dword [ebp - 0x1ac]
add esp, 0x10
cmp dword [ebp - 0x12c], 8
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x130], 0
jae 0x47e6ea
lea eax, [ebp - 0x140]
xor ecx, ecx
mov word [eax], cx
cmp dword [ebp - 0x188], 8
mov edx, dword [ebp - 0x19c]
jae 0x47e704
lea edx, [ebp - 0x19c]
cmp word [edx], cx
jne 0x47e70d
xor ecx, ecx
jmp 0x47e721
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x47e712
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x140]
call fcn.00406c80
push 7
xor eax, eax
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
lea ecx, [ebp - 0x128]
push str.themes_
mov dword [ebp - 0x114], 7
mov dword [ebp - 0x118], 0
mov word [ebp - 0x128], ax
call fcn.00406c80
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.00423c40
mov eax, dword [ebp - 0x144]
add esp, 0xc
cmp eax, 8
jb 0x47e7b0
inc eax
lea ecx, [ebp - 0x158]
push eax
push dword [ebp - 0x158]
call fcn.00407270
xor eax, eax
mov dword [ebp - 0x144], 7
mov dword [ebp - 0x148], 0
mov word [ebp - 0x158], ax
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x114]
cmp eax, 8
jb 0x47e7ef
inc eax
lea ecx, [ebp - 0x128]
push eax
push dword [ebp - 0x128]
call fcn.00407270
xor eax, eax
mov dword [ebp - 0x114], 7
cmp dword [ebp - 0x12c], 8
mov word [ebp - 0x128], ax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x118], 0
jae 0x47e821
lea eax, [ebp - 0x140]
push 0
push 0
lea ecx, [ebp - 0x1ac]
push ecx
lea ecx, [ebp - 0x1cc]
push ecx
push eax
lea ecx, [esi + 0x10]
call fcn.00471340
mov ecx, dword [ebp - 0x1a8]
mov eax, 0x2aaaaaab
mov edi, dword [ebp - 0x1ac]
sub ecx, edi
imul ecx
mov dword [ebp - 0x1b4], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x1e4], eax
je 0x47e966
xor ebx, ebx
cmp dword [edi + ebx + 0x14], 8
lea eax, [edi + ebx]
jb 0x47e87f
mov eax, dword [eax]
mov edi, dword [ebp - 0x1c0]
mov ecx, edi
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.004b4630
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x114], 8
mov eax, dword [ebp - 0x128]
jae 0x47e8ad
lea eax, [ebp - 0x128]
push eax
mov ecx, edi
call fcn.0047f2b0
test al, al
jne 0x47e8c9
mov eax, dword [ebp - 0x1ac]
mov ecx, edi
add eax, ebx
push eax
call fcn.0047dcf0
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x114]
cmp eax, 8
jb 0x47e926
mov ecx, dword [ebp - 0x128]
inc eax
cmp eax, 0x7fffffff
ja 0x47ed57
add eax, eax
cmp eax, 0x1000
jb 0x47e91d
test cl, 0x1f
jne 0x47ed57
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x47ed57
sub ecx, eax
cmp ecx, 4
jb 0x47ed57
cmp ecx, 0x23
ja 0x47ed57
mov ecx, eax
push ecx
call fcn.0052bd72
add esp, 4
xor eax, eax
mov dword [ebp - 0x114], 7
mov word [ebp - 0x128], ax
add ebx, 0x18
mov eax, dword [ebp - 0x1b4]
inc eax
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x1b4], eax
cmp eax, dword [ebp - 0x1e4]
jae 0x47e966
mov edi, dword [ebp - 0x1ac]
jmp 0x47e873
mov ebx, dword [esi + 0x18c]
xor edi, edi
sub ebx, dword [esi + 0x188]
sar ebx, 2
test ebx, ebx
je 0x47e99e
jmp 0x47e980
mov eax, dword [esi + 0x188]
push 0
push dword [eax + edi*4]
push 0x111
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendMessageW]
inc edi
cmp edi, ebx
jb 0x47e980
mov ebx, dword [ebp - 0x1b0]
lea edi, [esi + 0x10]
cmp byte [ebx + 0x20], 0
je 0x47e9bd
push 1
lea eax, [ebp - 0x1d8]
mov ecx, edi
push eax
call fcn.00475390
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x68a18]
mov dword [ebp - 0x274], eax
lea eax, [ebp - 0x274]
push eax
mov dword [ebp - 0x26c], 0x3e9
mov dword [ebp - 0x270], 0
call fcn.004c1430
cmp dword [ebx + 0x50], 0
je 0x47ea1d
mov al, byte [ebx + 0x58]
test al, al
jne 0x47eb0f
cmp dword [ebx + 0x54], 8
lea eax, [ebx + 0x40]
jb 0x47ea08
mov eax, dword [eax]
push eax
mov ecx, edi
call fcn.00471840
cmp eax, 0xffffffff
je 0x47ea1d
push eax
mov ecx, edi
call fcn.0047b750
lea edi, [esi + 0x10]
cmp byte [ebx + 5], 0
je 0x47ea70
push 0
call fcn.0054fb7f
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push edx
push eax
call fcn.00555877
add esp, 0xc
lea eax, [ebp - 0x110]
fstp qword [esp]
push str.Loading_time_:__.0lf_seconds
push eax
call fcn.0040c510
add esp, 0x10
lea eax, [ebp - 0x110]
push 0
push 0x586904
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ebx, dword [ebp - 0x1a0]
cmp byte [ebx + 0x6fd], 0
je 0x47eaa1
cmp byte [ebx + 0x9a], 0
je 0x47eaa1
cmp byte [ebx + 0x9b], 0
jne 0x47eaa1
push 0
mov ecx, edi
call fcn.0046b3f0
mov ecx, edi
call fcn.00475360
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x42d
push dword [esi + 0xc]
call edi
mov al, byte [ebx + 0x23298]
test al, al
je 0x47eacd
push 0
push 0
push 0x42e
push dword [esi + 0xc]
call edi
mov al, byte [ebx + 0x23299]
test al, al
je 0x47eae5
push 0
push 0
push 0x42f
push dword [esi + 0xc]
call edi
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x12c]
cmp eax, 8
jb 0x47eded
mov ecx, dword [ebp - 0x140]
inc eax
cmp eax, 0x7fffffff
jbe 0x47eda9
call fcn.00547c01
cmp al, 1
jne 0x47ebe0
lea eax, [ebx + 0x40]
lea edi, [esi + 0x6902c]
cmp edi, eax
je 0x47eb30
push 0xffffffffffffffff
push 0
push eax
mov ecx, edi
call fcn.00406ac0
lea ecx, [esi + 0x69014]
mov dword [ecx], 0
mov dword [ecx + 4], 1
mov byte [ecx + 8], 0
mov dword [ecx + 0xc], 0xfde9
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
cmp dword [edi + 0x14], 8
jb 0x47eb64
mov edi, dword [edi]
mov dword [esi + 0x69028], edi
mov dword [ecx], str.Anonymous_999
mov byte [esi + 0x6901c], 0
mov eax, dword [ebx + 0x24]
mov dword [esi + 0x69024], eax
mov eax, dword [ebx + 0x5c]
cmp eax, 1
jne 0x47eba2
push ecx
lea edi, [esi + 0x10]
mov dword [esi + 0x69018], 0
mov ecx, edi
call fcn.0047b670
jmp 0x47ea20
cmp eax, 2
jne 0x47ebc1
push ecx
lea edi, [esi + 0x10]
mov dword [esi + 0x69018], 1
mov ecx, edi
call fcn.0047b670
jmp 0x47ea20
cmp eax, 3
jne 0x47ebd0
mov dword [esi + 0x69018], 2
push ecx
lea edi, [esi + 0x10]
mov ecx, edi
call fcn.0047b670
jmp 0x47ea20
cmp al, 2
jne 0x47ea1d
cmp dword [ebx + 0x54], 8
lea edi, [ebx + 0x40]
jb 0x47ebf5
mov eax, dword [edi]
jmp 0x47ebf7
mov eax, edi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x47ea1d
cmp dword [edi + 0x14], 8
jb 0x47ec0e
mov edi, dword [edi]
lea eax, [ebp - 0x128]
push edi
push eax
call fcn.00425790
add esp, 8
mov byte [ebp - 4], 0x10
call fcn.0040b9e0
cmp dword [ebp - 0x114], 0x10
mov ecx, dword [ebp - 0x128]
jae 0x47ec3c
lea ecx, [ebp - 0x128]
push 0
push 0
push 0xffffffffffffffff
push 0xfde9
push ecx
mov ecx, eax
call fcn.00424360
mov edx, eax
cmp word [edx], 0
jne 0x47ec5b
xor ecx, ecx
jmp 0x47ec6f
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x47ec60
sub ecx, edi
sar ecx, 1
push ecx
lea edi, [esi + 0x6902c]
push edx
mov ecx, edi
call fcn.00406c80
cmp dword [esi + 0x6903c], 0
je 0x47ed32
lea ecx, [esi + 0x69014]
mov dword [ecx], 0
mov dword [ecx + 4], 1
mov byte [ecx + 8], 0
mov dword [ecx + 0xc], 0xfde9
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
cmp dword [edi + 0x14], 8
jb 0x47ecbf
mov edi, dword [edi]
mov dword [esi + 0x69028], edi
mov dword [ecx], str.Anonymous_999
mov byte [esi + 0x6901c], 0
mov eax, dword [ebx + 0x24]
mov dword [esi + 0x69024], eax
mov eax, dword [ebx + 0x5c]
cmp eax, 1
jne 0x47ecfa
push ecx
lea edi, [esi + 0x10]
mov dword [esi + 0x69018], 0
mov ecx, edi
call fcn.0047b670
jmp 0x47ed35
cmp eax, 2
jne 0x47ed16
push ecx
lea edi, [esi + 0x10]
mov dword [esi + 0x69018], 1
mov ecx, edi
call fcn.0047b670
jmp 0x47ed35
cmp eax, 3
jne 0x47ed25
mov dword [esi + 0x69018], 2
push ecx
lea edi, [esi + 0x10]
mov ecx, edi
call fcn.0047b670
jmp 0x47ed35
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x114]
cmp eax, 0x10
jb 0x47ed89
mov ecx, dword [ebp - 0x128]
inc eax
cmp eax, 0x1000
jb 0x47ed80
test cl, 0x1f
je 0x47ed5c
call fcn.00547c01
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x47ed68
call fcn.00547c01
sub ecx, eax
cmp ecx, 4
jae 0x47ed74
call fcn.00547c01
cmp ecx, 0x23
jbe 0x47ed7e
call fcn.00547c01
mov ecx, eax
push ecx
call fcn.0052bd72
add esp, 4
mov dword [ebp - 0x114], 0xf
mov dword [ebp - 0x118], 0
mov byte [ebp - 0x128], 0
jmp 0x47ea20
add eax, eax
cmp eax, 0x1000
jb 0x47ede4
test byte [ebp - 0x140], 0x1f
je 0x47edc0
call fcn.00547c01
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x47edcc
call fcn.00547c01
sub ecx, eax
cmp ecx, 4
jae 0x47edd8
call fcn.00547c01
cmp ecx, 0x23
jbe 0x47ede2
call fcn.00547c01
mov ecx, eax
push ecx
call fcn.0052bd72
add esp, 4
xor eax, eax
mov dword [ebp - 0x12c], 7
mov dword [ebp - 0x130], 0
mov word [ebp - 0x140], ax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x170]
cmp eax, 8
jb 0x47ee70
mov ecx, dword [ebp - 0x184]
inc eax
cmp eax, 0x7fffffff
jbe 0x47ee2c
call fcn.00547c01
add eax, eax
cmp eax, 0x1000
jb 0x47ee67
test byte [ebp - 0x184], 0x1f
je 0x47ee43
call fcn.00547c01
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x47ee4f
call fcn.00547c01
sub ecx, eax
cmp ecx, 4
jae 0x47ee5b
call fcn.00547c01
cmp ecx, 0x23
jbe 0x47ee65
call fcn.00547c01
mov ecx, eax
push ecx
call fcn.0052bd72
add esp, 4
xor eax, eax
mov dword [ebp - 0x170], 7
mov dword [ebp - 0x174], 0
mov word [ebp - 0x184], ax
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x188]
cmp eax, 8
jb 0x47eef3
mov ecx, dword [ebp - 0x19c]
inc eax
cmp eax, 0x7fffffff
jbe 0x47eeaf
call fcn.00547c01
add eax, eax
cmp eax, 0x1000
jb 0x47eeea
test byte [ebp - 0x19c], 0x1f
je 0x47eec6
call fcn.00547c01
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x47eed2
call fcn.00547c01
sub ecx, eax
cmp ecx, 4
jae 0x47eede
call fcn.00547c01
cmp ecx, 0x23
jbe 0x47eee8
call fcn.00547c01
mov ecx, eax
push ecx
call fcn.0052bd72
add esp, 4
xor eax, eax
mov dword [ebp - 0x188], 7
mov dword [ebp - 0x18c], 0
mov word [ebp - 0x19c], ax
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1cc]
test eax, eax
je 0x47efcb
push dword [ebp - 0x1b8]
lea ecx, [ebp - 0x1cc]
push ecx
push dword [ebp - 0x1c8]
push eax
call fcn.00401f90
mov ecx, dword [ebp - 0x1c4]
mov eax, 0x2aaaaaab
mov ebx, dword [ebp - 0x1cc]
add esp, 0x10
sub ecx, ebx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xaaaaaaa
jbe 0x47ef69
call fcn.00547c01
lea eax, [eax + eax*2]
shl eax, 3
cmp eax, 0x1000
jb 0x47efa4
test bl, 0x1f
je 0x47ef80
call fcn.00547c01
mov eax, dword [ebx - 4]
cmp eax, ebx
jb 0x47ef8c
call fcn.00547c01
sub ebx, eax
cmp ebx, 4
jae 0x47ef98
call fcn.00547c01
cmp ebx, 0x23
jbe 0x47efa2
call fcn.00547c01
mov ebx, eax
push ebx
call fcn.0052bd72
add esp, 4
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1ac]
test eax, eax
je 0x47f086
push dword [ebp - 0x1b8]
lea ecx, [ebp - 0x1ac]
push ecx
push dword [ebp - 0x1a8]
push eax
call fcn.00401f90
mov ecx, dword [ebp - 0x1a4]
mov eax, 0x2aaaaaab
mov ebx, dword [ebp - 0x1ac]
add esp, 0x10
sub ecx, ebx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xaaaaaaa
jbe 0x47f024
call fcn.00547c01
lea eax, [eax + eax*2]
shl eax, 3
cmp eax, 0x1000
jb 0x47f05f
test bl, 0x1f
je 0x47f03b
call fcn.00547c01
mov eax, dword [ebx - 4]
cmp eax, ebx
jb 0x47f047
call fcn.00547c01
sub ebx, eax
cmp ebx, 4
jae 0x47f053
call fcn.00547c01
cmp ebx, 0x23
jbe 0x47f05d
call fcn.00547c01
mov ebx, eax
push ebx
call fcn.0052bd72
add esp, 4
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x1d8]
test ecx, ecx
je 0x47f141
push dword [ebp - 0x1b8]
lea eax, [ebp - 0x1d8]
push eax
push dword [ebp - 0x1d4]
push ecx
call fcn.00401f90
mov ecx, dword [ebp - 0x1d0]
mov eax, 0x2aaaaaab
mov ebx, dword [ebp - 0x1d8]
add esp, 0x10
sub ecx, ebx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xaaaaaaa
jbe 0x47f0df
call fcn.00547c01
lea eax, [eax + eax*2]
shl eax, 3
cmp eax, 0x1000
jb 0x47f11a
test bl, 0x1f
je 0x47f0f6
call fcn.00547c01
mov eax, dword [ebx - 4]
cmp eax, ebx
jb 0x47f102
call fcn.00547c01
sub ebx, eax
cmp ebx, 4
jae 0x47f10e
call fcn.00547c01
cmp ebx, 0x23
jbe 0x47f118
call fcn.00547c01
mov ebx, eax
push ebx
call fcn.0052bd72
add esp, 4
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 4], 0xffffffff
push 0
call dword [sym.imp.USER32.dll_LockWindowUpdate]
mov esi, dword [ebp - 0x1e8]
push 1
push 0
push esi
call dword [sym.imp.USER32.dll_InvalidateRect]
push 0x485
push 0
push 0
push esi
call dword [sym.imp.USER32.dll_RedrawWindow]
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.0052c233
mov esp, ebp
pop ebp
ret 0x10