Function at 0x457b90
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4aede2
mov eax, dword fs:[0]
push eax
sub esp, 0x118
mov eax, dword [0x4e51f0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor bl, bl
mov dword [ebp - 0xf0], esi
mov dword [ebp - 4], 0
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov edi, eax
movzx ecx, bl
test edi, edi
mov dword [ebp - 0xdc], edi
mov eax, 1
cmovne ecx, eax
mov byte [ebp - 0xd8], cl
mov ecx, dword [0x4fdd70]
cmp dword [ecx + 0xc], 0xffffffff
je 0x457c0c
xor cl, cl
call fcn.00458d80
mov ecx, dword [0x4fdd70]
mov bl, al
xor eax, eax
mov byte [ebp - 0x100], bl
mov dword [ebp - 0x90], 7
mov dword [ebp - 0x94], 0
mov word [ebp - 0xa4], ax
mov byte [ebp - 4], 1
cmp dword [esi + 0x10], eax
jne 0x457ca4
push 0x4caaac
lea ecx, [ebp - 0xbc]
call fcn.00433100
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0xa4]
call fcn.00432c00
cmp dword [ebp - 0xa8], 8
jb 0x457c79
push dword [ebp - 0xbc]
call fcn.0048ccb8
add esp, 4
mov ecx, dword [0x4fdd70]
xor eax, eax
mov dword [ebp - 0xa8], 7
mov dword [ebp - 0xac], 0
mov word [ebp - 0xbc], ax
mov byte [ebp - 0xf8], al
jmp 0x457cc7
lea eax, [ebp - 0xa4]
cmp eax, esi
je 0x457cc0
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.00432c00
mov ecx, dword [0x4fdd70]
mov byte [ebp - 0xf8], 1
xor eax, eax
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov byte [ebp - 4], 3
cmp dword [esi + 0x10], eax
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
je 0x457eb3
test bl, bl
je 0x457eb3
imul edx, dword [ecx + 0xc], 0x188
push str._bs_
add edx, 0x30
add edx, dword [ecx]
lea ecx, [ebp - 0x44]
call fcn.004322b0
add esp, 4
push dword [ebp - 0xf0]
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x8c]
call fcn.00432410
add esp, 4
push 0x4ca6f8
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c]
call fcn.004322b0
add esp, 4
cmp dword [ebp - 0x78], 8
jb 0x457d60
push dword [ebp - 0x8c]
call fcn.0048ccb8
add esp, 4
xor eax, eax
mov dword [ebp - 0x78], 7
mov dword [ebp - 0x7c], 0
mov word [ebp - 0x8c], ax
cmp dword [ebp - 0x30], 8
jb 0x457d88
push dword [ebp - 0x44]
call fcn.0048ccb8
add esp, 4
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
call esi
cmp eax, 0xffffffff
je 0x457e88
test al, 0x10
jne 0x457e88
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
lea edx, [ebp - 0x80]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2c]
call fcn.0047d980
mov ecx, dword [ebp - 0x80]
test al, al
je 0x457e7b
mov edx, dword [ebp - 0x7c]
xor eax, eax
cmp ecx, edx
mov esi, ecx
cmove esi, eax
cmp dword [esi + 0x28], eax
jle 0x457e75
xor ebx, ebx
mov eax, ecx
cmp ecx, edx
cmove eax, ebx
mov ebx, dword [esi + 0x24]
add ebx, eax
xor eax, eax
mov dword [ebp - 0xe0], eax
cmp dword [esi + 0x28], eax
jle 0x457e41
cmp dword [ebx + eax*4], 0
jle 0x457e24
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0x10c]
call fcn.00430030
mov eax, dword [ebp - 0xe0]
inc eax
mov dword [ebp - 0xe0], eax
cmp eax, dword [esi + 0x28]
jl 0x457e06
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0xe8], edx
jmp 0x457e43
xor edx, edx
mov ebx, dword [ebp - 0x10c]
mov eax, edx
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
sub eax, ebx
and eax, 0xfffffffc
cmp eax, 4
jne 0x457e6d
cmp dword [ebx], 0
cmove edx, ebx
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0x108], edx
mov bl, byte [ebp - 0x100]
jmp 0x457e7b
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test ecx, ecx
je 0x457e88
push ecx
call fcn.0048ccb8
add esp, 4
cmp dword [ebp - 0x18], 8
jb 0x457e99
push dword [ebp - 0x2c]
call fcn.0048ccb8
add esp, 4
mov ecx, dword [0x4fdd70]
xor eax, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
xor eax, eax
mov dword [ebp - 0x60], 7
mov dword [ebp - 0x64], 0
mov word [ebp - 0x74], ax
xor bh, bh
mov byte [ebp - 4], 0xa
mov byte [ebp - 0x110], bh
test bl, bl
je 0x458046
imul eax, dword [ecx + 0xc], 0x188
add eax, 0x90
add eax, dword [ecx]
cmp dword [eax + 0x14], 8
jb 0x457ef1
mov eax, dword [eax]
push eax
call esi
cmp eax, 0xffffffff
je 0x457f77
test al, 0x10
je 0x457f77
mov eax, dword [0x4fdd70]
lea ecx, [ebp - 0x44]
push str._savedata
imul edx, dword [eax + 0xc], 0x188
add edx, 0x90
add edx, dword [eax]
call fcn.004322b0
add esp, 4
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xb
cmp ecx, eax
je 0x457f36
push 0xffffffffffffffff
push 0
push eax
call fcn.00432c00
cmp dword [ebp - 0x30], 8
jb 0x457f47
push dword [ebp - 0x44]
call fcn.0048ccb8
add esp, 4
cmp dword [ebp - 0x60], 8
lea eax, [ebp - 0x74]
cmovae eax, dword [ebp - 0x74]
push eax
call esi
cmp eax, 0xffffffff
je 0x458046
mov esi, 1
test al, 0x10
je 0x45804b
mov byte [ebp - 0x110], 1
jmp 0x45804b
mov eax, dword [0x4fdd70]
imul ecx, dword [eax + 0xc], 0x188
add ecx, 0x78
add ecx, dword [eax]
cmp dword [ecx + 0x14], 8
jb 0x457f90
mov ecx, dword [ecx]
push ecx
call esi
cmp eax, 0xffffffff
je 0x458046
test al, 0x10
jne 0x458046
mov eax, dword [0x4fdd70]
lea ecx, [ebp - 0x44]
imul edx, dword [eax + 0xc], 0x188
add edx, 0x78
add edx, dword [eax]
call fcn.0047aca0
push str._savedata
mov edx, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2c]
call fcn.004322b0
add esp, 4
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xd
cmp ecx, eax
je 0x457fe8
push 0xffffffffffffffff
push 0
push eax
call fcn.00432c00
cmp dword [ebp - 0x18], 8
jb 0x457ff9
push dword [ebp - 0x2c]
call fcn.0048ccb8
add esp, 4
xor eax, eax
mov dword [ebp - 0x18], 7
cmp dword [ebp - 0x30], 8
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
jb 0x45801e
push dword [ebp - 0x44]
call fcn.0048ccb8
add esp, 4
cmp dword [ebp - 0x60], 8
lea eax, [ebp - 0x74]
cmovae eax, dword [ebp - 0x74]
push eax
call esi
mov esi, 1
cmp eax, 0xffffffff
je 0x45804b
test al, 0x10
movzx eax, bh
cmovne eax, esi
mov byte [ebp - 0x110], al
jmp 0x45804b
mov esi, 1
xor bl, bl
mov byte [ebp - 4], 0xe
call dword [sym.imp.USER32.dll_CreatePopupMenu]
test eax, eax
movzx ecx, bl
mov ebx, dword [sym.imp.USER32.dll_GetMenuItemCount]
cmovne ecx, esi
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0xe8]
xor esi, esi
mov dword [ebp - 0xf4], ecx
mov byte [ebp - 0x78], cl
mov ecx, dword [ebp - 0x10c]
sub eax, ecx
sar eax, 2
mov dword [ebp - 0xe0], eax
test eax, eax
jle 0x45815b
mov edi, eax
push dword [ecx + esi*4]
xor eax, eax
sub esp, 0x18
mov ecx, esp
push 4
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str._02d
mov word [ecx], ax
call fcn.00432f80
lea eax, [ebp - 0x44]
push eax
call fcn.004799e0
push eax
mov edx, 0x4caae0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2c]
call fcn.004327d0
mov dword [ebp - 0xf4], eax
add esp, 0x24
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x458103
push eax
call ebx
push 0
push 1
push dword [ebp - 0xf4]
lea ecx, [esi + 0x3e8]
push ecx
push eax
lea ecx, [ebp - 0x7c]
call fcn.0048be20
cmp dword [ebp - 0x18], 8
jb 0x458114
push dword [ebp - 0x2c]
call fcn.0048ccb8
add esp, 4
xor eax, eax
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x30], 8
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
jb 0x45813d
push dword [ebp - 0x44]
call fcn.0048ccb8
add esp, 4
mov ecx, dword [ebp - 0x10c]
inc esi
cmp esi, edi
jl 0x458094
mov al, byte [ebp - 0x78]
mov edi, dword [ebp - 0xdc]
mov dword [ebp - 0xf4], eax
mov byte [ebp - 0xe1], 0
mov byte [ebp - 4], 0x10
call dword [sym.imp.USER32.dll_CreatePopupMenu]
movzx ecx, byte [ebp - 0xe1]
test eax, eax
mov dword [ebp - 0x118], eax
mov eax, 1
cmovne ecx, eax
xor esi, esi
mov dword [ebp - 0xfc], ecx
mov byte [ebp - 0x114], cl
cmp dword [ebp - 0xe0], esi
jle 0x458273
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x10c]
push dword [eax + esi*4]
xor eax, eax
sub esp, 0x18
mov ecx, esp
push 4
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str._02d
mov word [ecx], ax
call fcn.00432f80
lea eax, [ebp - 0x44]
push eax
call fcn.004799e0
push eax
mov edx, 0x4caae0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x2c]
call fcn.004327d0
mov dword [ebp - 0xfc], eax
add esp, 0x24
mov eax, dword [ebp - 0x118]
test eax, eax
je 0x45821e
push eax
call ebx
push 0
push 1
push dword [ebp - 0xfc]
lea ecx, [esi + 0x7d0]
push ecx
push eax
lea ecx, [ebp - 0x118]
call fcn.0048be20
cmp dword [ebp - 0x18], 8
jb 0x45822f
push dword [ebp - 0x2c]
call fcn.0048ccb8
add esp, 4
xor eax, eax
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x30], 8
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
jb 0x458258
push dword [ebp - 0x44]
call fcn.0048ccb8
add esp, 4
inc esi
cmp esi, edi
jl 0x4581a3
mov al, byte [ebp - 0x114]
mov edi, dword [ebp - 0xdc]
mov dword [ebp - 0xfc], eax
push 0xb
xor eax, eax
mov dword [ebp - 0x18], 7
push 0x4caae8
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
call fcn.00432f80
mov esi, dword [ebp - 0xf8]
test edi, edi
je 0x4582be
push edi
call ebx
push 0
push esi
lea ecx, [ebp - 0x2c]
push ecx
push 0x14
push eax
lea ecx, [ebp - 0xdc]
call fcn.0048be20
mov edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x18], 8
jb 0x4582cf
push dword [ebp - 0x2c]
call fcn.0048ccb8
add esp, 4
push 0xb
xor eax, eax
mov dword [ebp - 0x18], 7
push 0x4cab00
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
call fcn.00432f80
mov ecx, dword [ebp - 0x10c]
xor edx, edx
cmp ecx, dword [ebp - 0xe8]
movzx eax, byte [ebp - 0xf8]
cmove eax, edx
mov dword [ebp - 0xec], eax
mov byte [ebp - 0xe8], al
test edi, edi
je 0x45833f
push edi
call ebx
push ecx
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x7c]
push ecx
push 0x15
push eax
lea ecx, [ebp - 0xdc]
call fcn.0048bf10
mov edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x18], 8
jb 0x458350
push dword [ebp - 0x2c]
call fcn.0048ccb8
add esp, 4
test edi, edi
je 0x458392
push edi
call ebx
push 0x30
mov esi, eax
lea eax, [ebp - 0x5c]
push 0
push eax
call fcn.00495750
add esp, 0xc
mov dword [ebp - 0x5c], 0x30
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x58], 0x10
mov dword [ebp - 0x54], 0x800
push eax
push 1
push esi
push edi
call dword [sym.imp.USER32.dll_InsertMenuItemW]
mov esi, dword [ebp - 0xf8]
push 0x18
xor eax, eax
mov dword [ebp - 0x18], 7
push 0x4cab18
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
call fcn.00432f80
test edi, edi
je 0x4583d7
push edi
call ebx
push 0
push esi
lea ecx, [ebp - 0x2c]
push ecx
push 0x1e
push eax
lea ecx, [ebp - 0xdc]
call fcn.0048be20
mov edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x18], 8
jb 0x4583e8
push dword [ebp - 0x2c]
call fcn.0048ccb8
add esp, 4
push 0xb
xor eax, eax
mov dword [ebp - 0x18], 7
push 0x4cab00
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
call fcn.00432f80
mov eax, dword [ebp - 0xec]
mov byte [ebp - 0xec], al
test edi, edi
je 0x458443
push edi
call ebx
push ecx
push dword [ebp - 0xec]
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x118]
push ecx
push 0x1f
push eax
lea ecx, [ebp - 0xdc]
call fcn.0048bf10
mov edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x18], 8
jb 0x458454
push dword [ebp - 0x2c]
call fcn.0048ccb8
add esp, 4
lea ecx, [ebp - 0xdc]
call fcn.0048c000
push 6
xor eax, eax
mov dword [ebp - 0x18], 7
push 0x4cab4c
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
call fcn.00432f80
mov esi, dword [ebp - 0x100]
test edi, edi
je 0x4584aa
push edi
call ebx
push 0
push esi
lea ecx, [ebp - 0x2c]
push ecx
push 0x28
push eax
lea ecx, [ebp - 0xdc]
call fcn.0048be20
mov edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x18], 8
jb 0x4584bb
push dword [ebp - 0x2c]
call fcn.0048ccb8
add esp, 4
push 6
xor eax, eax
mov dword [ebp - 0x18], 7
push 0x4cab5c
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
call fcn.00432f80
test edi, edi
je 0x458500
push edi
call ebx
push 0
push esi
lea ecx, [ebp - 0x2c]
push ecx
push 0x29
push eax
lea ecx, [ebp - 0xdc]
call fcn.0048be20
mov edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x18], 8
jb 0x458511
push dword [ebp - 0x2c]
call fcn.0048ccb8
add esp, 4
lea ecx, [ebp - 0xdc]
call fcn.0048c000
push 0x4cab6c
lea ecx, [ebp - 0x44]
call fcn.00433100
test edi, edi
je 0x45854b
push edi
call ebx
push 0
push esi
lea ecx, [ebp - 0x44]
push ecx
push 0x32
push eax
lea ecx, [ebp - 0xdc]
call fcn.0048be20
mov edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x30], 8
jb 0x45855c
push dword [ebp - 0x44]
call fcn.0048ccb8
add esp, 4
push 0x4cab80
lea ecx, [ebp - 0x44]
call fcn.00433100
test edi, edi
je 0x45858b
push edi
call ebx
push 0
push esi
lea ecx, [ebp - 0x44]
push ecx
push 0x33
push eax
lea ecx, [ebp - 0xdc]
call fcn.0048be20
mov edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x30], 8
jb 0x45859c
push dword [ebp - 0x44]
call fcn.0048ccb8
add esp, 4
push 0x4cab98
lea ecx, [ebp - 0x44]
call fcn.00433100
test edi, edi
je 0x4585cb
push edi
call ebx
push 0
push esi
lea ecx, [ebp - 0x44]
push ecx
push 0x34
push eax
lea ecx, [ebp - 0xdc]
call fcn.0048be20
mov edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x30], 8
jb 0x4585dc
push dword [ebp - 0x44]
call fcn.0048ccb8
add esp, 4
push 0x4cabac
lea ecx, [ebp - 0x44]
call fcn.00433100
test edi, edi
je 0x45860b
push edi
call ebx
push 0
push esi
lea ecx, [ebp - 0x44]
push ecx
push 0x35
push eax
lea ecx, [ebp - 0xdc]
call fcn.0048be20
mov edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x30], 8
jb 0x45861c
push dword [ebp - 0x44]
call fcn.0048ccb8
add esp, 4
push 0x4cabc4
lea ecx, [ebp - 0x44]
call fcn.00433100
test edi, edi
je 0x45864b
push edi
call ebx
push 0
push esi
lea ecx, [ebp - 0x44]
push ecx
push 0x36
push eax
lea ecx, [ebp - 0xdc]
call fcn.0048be20
mov edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x30], 8
jb 0x45865c
push dword [ebp - 0x44]
call fcn.0048ccb8
add esp, 4
push 0x4cabd8
lea ecx, [ebp - 0x44]
call fcn.00433100
test edi, edi
je 0x45868b
push edi
call ebx
push 0
push esi
lea ecx, [ebp - 0x44]
push ecx
push 0x37
push eax
lea ecx, [ebp - 0xdc]
call fcn.0048be20
mov edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x30], 8
jb 0x45869c
push dword [ebp - 0x44]
call fcn.0048ccb8
add esp, 4
lea ecx, [ebp - 0xdc]
call fcn.0048c000
push 0x4cabf4
lea ecx, [ebp - 0x44]
call fcn.00433100
test edi, edi
je 0x4586db
push edi
call ebx
push 0
push dword [ebp - 0x110]
lea ecx, [ebp - 0x44]
push ecx
push 0x3c
push eax
lea ecx, [ebp - 0xdc]
call fcn.0048be20
mov edi, dword [ebp - 0xdc]
cmp dword [ebp - 0x30], 8
jb 0x4586ec
push dword [ebp - 0x44]
call fcn.0048ccb8
add esp, 4
lea eax, [ebp - 0x120]
mov dword [ebp - 0x120], 0
push eax
mov dword [ebp - 0x11c], 0
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [0x4fdd78]
mov ecx, dword [eax + 4]
test edi, edi
jne 0x45871d
xor edx, edx
jmp 0x458741
push 0
push ecx
push 0
push dword [ebp - 0x11c]
push dword [ebp - 0x120]
push 0x180
push edi
call dword [sym.imp.USER32.dll_TrackPopupMenu]
mov edx, eax
mov eax, dword [0x4fdd78]
lea ecx, [edx - 0xa]
cmp ecx, 0x32
ja case.0x458754.11
movzx ecx, byte [ecx + 0x458a78]
jmp dword [ecx*4 + 0x458a44]
push 0
jmp 0x45898d
mov ecx, dword [eax + 0x490]
test ecx, ecx
je 0x458781
push 0
push 1
push 0xf1
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x4fdd78]
push dword [ebp - 0xf0]
lea ecx, [eax + 0x51c]
call fcn.0048b6c0
push 0x4cac0c
lea ecx, [ebp - 0x2c]
call fcn.00433100
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x2c]
mov ecx, dword [0x4fdd78]
push eax
lea ecx, [ecx + 0x5ac]
call fcn.0048b6c0
cmp dword [ebp - 0x18], 8
jb 0x4587c9
push dword [ebp - 0x2c]
call fcn.0048ccb8
add esp, 4
xor eax, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
call fcn.00452760
jmp case.0x458754.10
call fcn.00452b90
jmp case.0x458754.10
call fcn.00452bd0
jmp case.0x458754.10
call fcn.00457750
jmp case.0x458754.10
call fcn.00457810
jmp case.0x458754.10
call fcn.004578d0
jmp case.0x458754.10
call fcn.00457990
jmp case.0x458754.10
call fcn.00457a30
jmp case.0x458754.10
call fcn.00457af0
jmp case.0x458754.10
lea eax, [ebp - 0x74]
mov edx, 0x4cac10
push eax
lea ecx, [ebp - 0xd4]
call fcn.004327d0
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x458856
mov eax, dword [eax]
push 0x44
push 0x4cdce4
push eax
push dword [0x5147c4]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
sete bl
cmp dword [ebp - 0xc0], 8
jb 0x458887
push dword [ebp - 0xd4]
call fcn.0048ccb8
add esp, 4
xor eax, eax
mov dword [ebp - 0xc0], 7
mov dword [ebp - 0xc4], 0
mov word [ebp - 0xd4], ax
test bl, bl
je case.0x458754.10
push 1
push 1
mov dl, 1
lea ecx, [ebp - 0x74]
call fcn.0047b350
add esp, 8
jmp case.0x458754.10
cmp edx, 0x7d0
jl 0x458969
xor esi, esi
add edx, 0xfffff830
js 0x4588e9
cmp edx, dword [ebp - 0xe0]
jge 0x4588e9
mov ecx, dword [ebp - 0x10c]
mov esi, dword [ecx + edx*4]
mov ecx, dword [eax + 0x490]
test ecx, ecx
je 0x458908
push 0
push 1
push 0xf1
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x4fdd78]
push dword [ebp - 0xf0]
lea ecx, [eax + 0x51c]
call fcn.0048b6c0
push ecx
mov edx, esi
lea ecx, [ebp - 0x44]
call fcn.004797d0
add esp, 4
mov byte [ebp - 4], 0x13
mov ecx, dword [0x4fdd78]
push eax
lea ecx, [ecx + 0x5ac]
call fcn.0048b6c0
cmp dword [ebp - 0x30], 8
jb 0x45894e
push dword [ebp - 0x44]
call fcn.0048ccb8
add esp, 4
xor eax, eax
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x34], 0
mov word [ebp - 0x44], ax
call fcn.00452760
jmp case.0x458754.10
cmp edx, 0x3e8
jl case.0x458754.10
xor eax, eax
add edx, 0xfffffc18
js 0x45898c
cmp edx, dword [ebp - 0xe0]
jge 0x45898c
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + edx*4]
push eax
push dword [ebp - 0xf0]
call fcn.00456760
mov eax, dword [ebp - 0x118]
mov esi, dword [sym.imp.USER32.dll_DestroyMenu]
test eax, eax
je 0x4589b4
cmp byte [ebp - 0xfc], 0
je 0x4589b4
push eax
call esi
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x4589c7
cmp byte [ebp - 0xf4], 0
je 0x4589c7
push eax
call esi
test edi, edi
je 0x4589d7
cmp byte [ebp - 0xd8], 0
je 0x4589d7
push edi
call esi
cmp dword [ebp - 0x60], 8
jb 0x4589e8
push dword [ebp - 0x74]
call fcn.0048ccb8
add esp, 4
xor eax, eax
mov dword [ebp - 0x60], 7
mov word [ebp - 0x74], ax
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x64], 0
test eax, eax
je 0x458a0f
push eax
call fcn.0048ccb8
add esp, 4
cmp dword [ebp - 0x90], 8
jb 0x458a26
push dword [ebp - 0xa4]
call fcn.0048ccb8
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0048cca9
mov esp, ebp
pop ebp
ret 4