Function at 0x45d520
Capabilities:
Accept command line arguments
Check for unmoving mouse cursor
Check if file exists
Get graphical window text
Hide graphical window
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4bc7c6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x760
mov eax, dword [esp + 0x770]
push ebx
push ebp
xor ebx, ebx
push esi
mov dword [esp + 0x10], eax
xor eax, eax
push edi
lea ecx, [esp + 0x5c]
mov dword [esp + 0xdc], eax
xor ebp, ebp
mov dword [esp + 0xe4], eax
mov dword [esp + 0xdc], ebx
push ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x20], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
call dword [sym.imp.USER32.dll_GetCursorPos]
push str.Strolls
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [esp + 0x84], eax
xor eax, eax
movzx edx, ax
movzx eax, bl
mov ebx, dword [0x4de0d4]
mov dword [esp + 0x40], eax
mov eax, dword [0x4de0e4]
mov dword [esp + 0x38], 9
mov dword [esp + 0x28], edx
cmp ebx, dword [0x4de104]
jne 0x45d5f4
sub ebx, ebp
add eax, ebx
mov dword [0x4de0e4], eax
lea ecx, [esp + 0x8c]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov edx, dword [0x4de0cc]
mov eax, dword [0x4de0c8]
sub edx, eax
jne 0x45d622
cmp dword [0x4db920], edx
je 0x45d622
push eax
mov eax, dword [0x4de0ec]
push eax
jmp 0x45d632
push 6
call dword [sym.imp.GDI32.dll_GetStockObject]
mov ecx, dword [0x4de0ec]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ebx, dword [0x4de0ec]
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x90]
movzx edx, bl
imul edx, dword [esp + 0x28]
sub eax, edx
mov dword [0x4de0e8], eax
cmp dword [esp + 0x5c], esi
jne 0x45d6b2
cmp dword [esp + 0x60], edi
jne 0x45d6b2
cmp dword [0x4de0fc], 0
je 0x45d681
movzx ecx, word [0x4de0f0]
add dword [0x4db920], ecx
xor eax, eax
cmp dword [0x4de0f4], eax
jne 0x45d69d
movzx edx, word [0x4db920]
imul edx, eax
mov dword [0x4de0c8], edx
jmp 0x45d70c
movzx ecx, al
sub ecx, dword [0x4dde2c]
xor eax, eax
add ecx, eax
add dword [0x4de0c8], ecx
jmp 0x45d70c
mov ecx, dword [0x4de104]
test ecx, ecx
jne 0x45d6d4
mov edx, dword [0x4de0dc]
sub edx, dword [0x4de0c8]
sub edx, ebx
add edx, dword [0x4ddf88]
add ebp, edx
jmp 0x45d6fc
mov eax, dword [0x4de0d4]
mov ebp, dword [0x4de0dc]
lea ebp, [ebp + 0x62]
cdq
idiv ebp
movzx edx, byte [esp + 0x14]
imul eax, edx
mov edx, dword [esp + 0x10]
lea ebp, [edx + edx]
sub ebp, eax
sub ebp, ecx
sub ebp, dword [esp + 0x1c]
inc dword [esp + 0x18]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], edi
push 3
push 0
push 0
push 0xf
push 0xa
push 0
push 0xa
push 5
push ebx
call dword [sym.imp.USER32.dll_DrawIconEx]
mov esi, dword [esp + 0x18]
test esi, esi
je 0x45d741
cmp dword [0x4de0c8], 0
jne 0x45d73d
xor eax, eax
movzx eax, al
mov dword [esp + 0x1c], eax
inc dword [esp + 0x20]
cmp dword [0x4de0ec], 0
je 0x45d76e
push 0x200
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ecx, dword [esp + 0x780]
push ecx
push 0x452710
push 0
push eax
push ecx
call dword [sym.imp.USER32.dll_DialogBoxIndirectParamA]
cmp dword [esp + 0x20], 4
jg 0x45d801
mov ecx, dword [0x4de0e4]
sub ecx, dword [0x4dde2c]
mov dword [0x4de104], ecx
cmp esi, 1
jg 0x45d7ef
mov edx, dword [esp + 0x84]
push 0xbac
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebx, dword [0x4de0d4]
test bl, bl
je 0x45d7de
movzx esi, byte [0x4de104]
imul esi, dword [0x4de0d8]
xor eax, eax
movzx ecx, ax
mov eax, 0x2fa0be83
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
add eax, dword [esp + 0x14]
mov dword [0x4de0e4], eax
jmp 0x45d7e3
mov eax, dword [0x4de0e4]
dec dword [esp + 0x38]
jne 0x45d5e3
jmp 0x45d801
mov ecx, dword [0x4de100]
push 0x4dd5a8
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [0x4de0d8]
cdq
and edx, 3
add eax, edx
movzx edx, byte [0x4db920]
sar eax, 2
add eax, dword [0x4ddf88]
mov esi, 0x1a
add edx, eax
mov dword [0x4de104], edx
xor edi, edi
jmp 0x45d830
lea eax, [esp + 0x28]
push eax
push 0x1f6
lea ecx, [esp + 0x264]
push ecx
lea edx, [esp + 0x574]
push edx
mov dword [esp + 0x38], edi
call sub.NETAPI32.dll_NetShareGetInfo
dec esi
jne 0x45d830
mov ecx, dword [0x4de0c8]
lea eax, [esp + 0x28]
push eax
push ecx
push edi
mov dword [esp + 0x34], edi
call sub.NETAPI32.dll_NetWkstaUserGetInfo
mov eax, dword [0x4de0ec]
lea edx, [esp + 0x30]
push edx
push 0x20
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
push 0x4dd970
call fcn.004a060f
push 0x4dd970
mov word [esp + 0x1c], ax
call fcn.004a060f
add esp, 8
push str.Times_New_Roman
push edi
mov ecx, dword [0x4de0c8]
push edi
push edi
push edi
push edi
push edi
push edi
push 1
push edi
push edi
push edi
push edi
push ecx
mov word [esp + 0x4e], ax
mov dword [esp + 0x60], 1
call dword [sym.imp.GDI32.dll_CreateFontW]
mov edx, dword [0x4dda84]
mov ecx, dword [0x4dde38]
mov dword [esp + 0x40], eax
cmp edx, dword [0x4de0cc]
je 0x45d91d
mov eax, dword [0x4dda78]
mov edx, eax
imul edx, edx, 0x56
add dword [0x4dde4c], edx
movzx edx, word [0x4ddcf4]
imul edx, eax
movzx eax, byte [0x4ddffd]
sub eax, edx
mov edx, dword [0x4dde3c]
imul edx, ecx
sub eax, edx
add dword [0x4dda7c], eax
mov dword [0x4dde30], 0xf1
mov ebx, dword [0x4de0e4]
cmp dword [0x4dda80], ebx
jne 0x45d945
movsx eax, byte [0x4ddfcb]
lea ecx, [ecx + ecx*8]
movzx edx, ax
shl ecx, 4
shl edx, cl
mov dword [0x4de0cc], edx
jmp 0x45d95e
mov eax, dword [0x4de0c8]
cmp eax, dword [0x4dde2c]
je 0x45d95e
mov ecx, dword [0x4dde40]
mov dword [0x4dde50], ecx
movzx esi, word [0x4de0da]
mov ecx, dword [0x4dd5a0]
imul esi, dword [0x4ddf88]
mov eax, dword [0x4dde34]
mov edx, 0x137
sar edx, cl
imul ecx, dword [0x4de0fc]
mov dword [0x4dda84], edx
mov edx, dword [esp + 0x780]
and esi, 1
mov ebp, edx
sub eax, ecx
mov dword [esp + 0x1c], ebp
mov ecx, 0xad
dec ecx
mov dword [0x4dde38], eax
jne 0x45d9a2
mov eax, dword [0x4dda74]
mov edi, dword [0x4de0dc]
cmp eax, 0x4ddf90
jge 0x45d9ea
imul eax, dword [0x4dde4c]
movzx esi, byte [0x4dde55]
sub dword [0x4dda80], 0x35
imul esi, esi, 0xc780
sub eax, ebx
sub eax, edx
add eax, dword [0x4de0f0]
lea eax, [eax + edi + 0x2c]
mov dword [0x4dde38], eax
mov ecx, 0x4dd5a8
test ecx, ecx
jns 0x45da2f
mov eax, dword [0x4de0ec]
mov edx, dword [0x4de0f4]
movzx ecx, ah
movzx ebx, dh
sub ecx, ebx
mov ebx, esi
sub ebx, eax
movsx eax, byte [0x4dd5ad]
sub eax, dword [0x4de0e0]
sar ebx, cl
add eax, 0x2e
mov ecx, ebx
sar dword [0x4dde34], cl
movzx ecx, dx
and eax, ecx
sub dword [0x4de0e8], eax
mov eax, dword [0x4de100]
lea edx, [esp + 0x118]
push edx
push 0x3c
add eax, edi
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov ecx, dword [0x4dde48]
mov eax, dword [0x4dd5a0]
cmp dword [0x4dde34], ecx
jge 0x45da94
mov edx, dword [0x4de0d4]
lea edx, [ecx + edx + 0x83]
mov ecx, dword [0x4de0e8]
shl edx, cl
movsx ecx, byte [0x4de018]
sub dword [0x4dde30], edx
movzx edx, cx
movzx ecx, ah
sub edx, ecx
sub edx, 0x48
imul edx, dword [0x4dde50]
mov dword [0x4dde50], edx
mov ebx, dword [0x4ddf88]
mov ecx, dword [0x4dd918]
lea ecx, [ecx + ebx]
mov edx, 0x42
shl edx, cl
cmp dword [0x4dde54], 0x4dd970
mov dword [0x4dda78], edx
jne 0x45dad7
movzx edx, word [0x4de0c8]
add edx, dword [0x4de104]
mov cl, byte [0x4dd7fe]
shl edx, cl
mov dword [0x4dde48], edx
mov ecx, dword [0x4dde2c]
mov dword [0x4dda74], 0
cmp ecx, 0x4ddd28
jl 0x45db05
movsx eax, byte [0x4dd68b]
imul eax, dword [0x4db920]
add dword [0x4dda7c], eax
jmp 0x45db5c
mov edx, dword [0x4db920]
mov edi, dword [0x4de0f0]
cmp edx, edi
jle 0x45db5c
mov ebp, dword [0x4de0e0]
imul eax, edi
imul eax, dword [0x4de0e4]
and dword [0x4dde3c], 0x789c
lea ecx, [ecx + ebp + 0x4f]
sar edx, cl
mov ecx, dword [0x4dda80]
mov ebp, dword [esp + 0x1c]
sub edx, ecx
mov dword [0x4db920], edx
movsx edx, byte [0x4dda6d]
shr edx, 0x10
imul edx, ecx
add edx, eax
mov dword [0x4dda74], edx
lea eax, [ebx + ebx*2]
lea ecx, [esp + 0x28]
add eax, eax
push ecx
mov edi, 1
mov dword [0x4de0e4], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebx, dword [0x4de0d4]
mov edx, ebx
imul edx, edx, 0xdb
mov dword [esp + 0x38], eax
mov eax, dword [0x4de0e8]
mov dword [0x4dde3c], edx
cmp eax, esi
je 0x45dbb9
mov ecx, dword [0x4dde34]
imul ecx, ebx
imul ecx, ecx, 0xa7
add ecx, 0x117
mov dword [0x4dde50], ecx
movzx edx, byte [0x4de0e5]
imul edx, eax
mov eax, dword [0x4dde54]
imul eax, dword [0x4dda80]
add edx, eax
imul edx, dword [0x4dde40]
xor ecx, ecx
xor eax, eax
mov dword [0x4dde40], edx
mov edx, dword [0x4de0fc]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
imul eax, edx
mov dword [esp + 0xdc], ecx
cmp eax, ecx
jg 0x45dc1d
cmp ebx, 3
jle 0x45dc1d
mov eax, dword [0x4dde2c]
sub eax, ecx
mov dword [esp + 0x10], eax
jmp 0x45dc54
mov ecx, ebp
imul ecx, dword [0x4de0dc]
lea eax, [ecx + ebx + 0x12]
cmp eax, 0x1f
jbe 0x45dc47
mov eax, dword [0x4de420]
imul eax, ebp
imul eax, dword [0x4de0cc]
add eax, 4
mov dword [esp + 0x10], eax
jmp 0x45dc54
imul edx, ebx
add edx, 0x100000
mov dword [esp + 0x10], edx
mov ecx, dword [0x4de0d8]
mov eax, dword [0x4de0ec]
push 8
push ecx
push eax
push 0
push eax
call dword [sym.imp.USER32.dll_CopyImage]
mov ebx, dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebp, 0x62
push 0
call sub.ODBC32.dll_SQLDisconnect
mov edx, dword [0x4de0f0]
mov eax, dword [0x4de0c8]
mov ecx, dword [0x4de0f4]
mov dword [esp + 0x48], edx
cdq
lea ecx, [ecx + 0x38]
idiv ecx
mov esi, ebp
imul esi, edi
imul esi, dword [0x4de0dc]
push 0
push 0
push 3
push 0
push 3
movzx edi, di
push 0xc0000000
push 0x4bed1c
add esi, 0x40
add edi, eax
call ebx
dec ebp
mov dword [esp + 0x24], eax
jne 0x45dc77
xor edi, edi
cmp dword [esp + 0x40], edi
je 0x45dce0
mov eax, dword [0x4de100]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
jmp 0x45dcec
mov ecx, dword [0x4de0cc]
add dword [0x4de0c8], ecx
lea edx, [esp + 0x40]
push edx
push 0x1f6
push edi
push edi
mov dword [esp + 0x50], edi
call sub.NETAPI32.dll_NetShareGetInfo
mov ecx, dword [0x4de0cc]
mov eax, dword [0x4de0c8]
mov edx, dword [0x4de0ec]
push 0x14
push ecx
push eax
push ecx
push eax
inc edx
push edx
mov edx, dword [0x4de104]
push 0x4dd768
push edx
push eax
push ecx
mov ecx, dword [0x4de100]
push eax
mov eax, dword [0x4db920]
push eax
push ecx
call dword [sym.imp.COMCTL32.dll_CreateToolbarEx]
push 8
mov dword [esp + 0x88], eax
mov dword [esp + 0x70], edi
call fcn.0049eddd
add esp, 4
cmp eax, edi
je 0x45f7ae
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov dword [eax], ecx
xor edx, edx
mov dword [eax + 4], edx
mov eax, dword [esp + 0x6c]
lea edx, [esp + 0x6c]
mov dword [eax], edx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x778], ecx
mov cl, byte [0x4de0ec]
mov byte [esp + 0x20], cl
push 1
mov ecx, edx
call fcn.0045b6f0
mov ebp, dword [esp + 0x7c]
add ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov edi, ebp
shr edi, 4
cmp eax, edi
ja 0x45ddb1
sub edi, eax
mov ecx, dword [esp + 0x70]
cmp dword [ecx + edi*4], 0
jne 0x45ddd4
push 0x10
call fcn.0049eddd
add esp, 4
test eax, eax
je 0x45de60
mov edx, dword [esp + 0x70]
mov dword [edx + edi*4], eax
mov edx, dword [esp + 0x70]
and ebp, 0xf
add ebp, dword [edx + edi*4]
je 0x45dde7
mov al, byte [esp + 0x20]
mov byte [ebp], al
inc dword [esp + 0x7c]
push 0
push 0
push 4
push 0
push 0
push 0xc0000000
lea ecx, [esp + 0x580]
push ecx
call ebx
mov ecx, dword [0x4de0ec]
mov dword [esp + 0x18], eax
movzx eax, byte [0x4de0fc]
imul eax, ecx
cdq
add ecx, 0x5b
idiv ecx
mov bl, byte [0x4de0f4]
imul eax, dword [0x4de0e0]
sub dword [0x4db920], eax
mov eax, dword [esp + 0x78]
test al, 0xf
jne 0x45de58
mov edx, dword [esp + 0x7c]
add edx, 0x10
shr edx, 4
cmp dword [esp + 0x74], edx
ja 0x45de58
push 1
lea ecx, [esp + 0x70]
call fcn.0045b6f0
mov eax, dword [esp + 0x78]
test eax, eax
je 0x45de8d
mov ebp, eax
jmp 0x45de94
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x60]
mov dword [esp + 0x44], 0
call fcn.0049f74a
push 0x4d5c48
lea ecx, [esp + 0x60]
push ecx
mov dword [esp + 0x64], vtable.std::bad_alloc.0
call fcn.0049e424
mov ebp, dword [esp + 0x74]
shl ebp, 4
mov eax, dword [esp + 0x70]
dec ebp
mov edi, ebp
shr edi, 4
cmp dword [eax + edi*4], 0
jne 0x45debd
push 0x10
call fcn.0049eddd
add esp, 4
test eax, eax
je 0x45df68
mov ecx, dword [esp + 0x70]
mov dword [ecx + edi*4], eax
mov ecx, dword [esp + 0x70]
mov eax, ebp
and eax, 0xf
add eax, dword [ecx + edi*4]
je 0x45decd
mov byte [eax], bl
mov eax, dword [esp + 0x7c]
inc eax
lea edx, [eax + ebp]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], eax
test dl, 0xf
jne 0x45def9
add eax, 0x10
shr eax, 4
cmp dword [esp + 0x74], eax
ja 0x45def9
push 1
lea ecx, [esp + 0x70]
call fcn.0045b6f0
mov ebp, dword [esp + 0x7c]
add ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov edi, ebp
shr edi, 4
cmp eax, edi
ja 0x45df10
sub edi, eax
mov edx, dword [esp + 0x70]
cmp dword [edx + edi*4], 0
jne 0x45df2f
push 0x10
call fcn.0049eddd
add esp, 4
test eax, eax
je 0x45df95
mov ecx, dword [esp + 0x70]
mov dword [ecx + edi*4], eax
mov ecx, dword [esp + 0x70]
and ebp, 0xf
add ebp, dword [ecx + edi*4]
je 0x45df42
mov dl, byte [esp + 0x1c]
mov byte [ebp], dl
inc dword [esp + 0x7c]
cmp dword [esp + 0x84], 0
je 0x45dfc2
mov eax, dword [0x4de0c8]
mov ecx, dword [0x4de0ec]
cdq
lea ecx, [ecx + 1]
idiv ecx
mov dword [0x4de0cc], eax
jmp 0x45dfd6
lea edx, [esp + 0x40]
push edx
lea ecx, [esp + 0x60]
mov dword [esp + 0x44], 0
call fcn.0049f74a
push 0x4d5c48
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x64], vtable.std::bad_alloc.0
call fcn.0049e424
lea edx, [esp + 0x40]
push edx
lea ecx, [esp + 0x60]
mov dword [esp + 0x44], 0
call fcn.0049f74a
push 0x4d5c48
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x64], vtable.std::bad_alloc.0
call fcn.0049e424
mov edx, dword [0x4de100]
push edx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetDC]
cmp dword [esp + 0x7c], 0
je 0x45dfeb
dec dword [esp + 0x7c]
jne 0x45dfeb
mov dword [esp + 0x78], 0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
push ecx
push edx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], eax
call dword [sym.imp.KERNEL32.dll_SetConsoleScreenBufferSize]
mov eax, dword [0x4de100]
test eax, eax
je 0x45e032
cmp dword [0x4de0ec], 0
je 0x45e032
push 0
push 0
push 0x10
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x45e03d
push 1
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [esp + 0x48]
mov ecx, dword [0x4de108]
mov ebp, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push ecx
call ebp
mov edx, dword [esp + 0x38]
mov edi, eax
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x45e07f
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
neg eax
sbb eax, eax
inc eax
mov dword [0x4de0c8], eax
jmp 0x45e084
mov eax, dword [0x4de0c8]
mov ecx, dword [0x4de0cc]
push 0xcc0020
push 0
push 0
push eax
push ecx
push eax
push 0
push 0
push edi
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [0x4de100]
push edx
call dword [sym.imp.USER32.dll_DrawMenuBar]
mov ecx, dword [0x4de0e8]
imul ecx, dword [0x4de0ec]
lea edx, [eax + ecx + 0x18]
push 0x4bed2c
lea eax, [esp + 0x260]
push eax
push 0
mov dword [0x4dde54], edx
call dword [sym.imp.KERNEL32.dll_FindResourceA]
test eax, eax
jne 0x45e0e8
mov dword [0x4db920], 1
mov edx, dword [0x4de108]
mov ecx, dword [esp + 0x34]
push edi
push edx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ecx
call ebp
mov edi, dword [esp + 0x18]
push 0x28
lea eax, [esp + 0xa4]
push eax
push 0
push edi
call dword [sym.imp.KERNEL32.dll_SetFileInformationByHandle]
mov ecx, dword [esp + 0x10]
push esi
push 0x3000
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
lea edx, [esp + 0xd8]
push edx
push 0
push 0x200
push 0
mov dword [0x4ddf88], eax
call sub.pdh.dll_PdhGetFormattedCounterValue
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x4de0d8], 0
jne 0x45e167
mov eax, dword [esp + 0x124]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x778], 0xffffffff
call fcn.0045b840
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.0049e3c8
mov eax, dword [0x4de0ec]
mov ecx, dword [0x4de0cc]
mov edx, dword [0x4de0c8]
mov esi, dword [0x4de0dc]
mov edi, dword [0x4de0f0]
mov ebx, dword [0x4db920]
mov dword [esp + 0x2c], ecx
lea ecx, [eax + eax]
xor ebp, ebp
add esp, 4
mov dword [esp + 0x5c], edx
mov edx, dword [0x4ddf88]
mov dword [esp + 0x54], ecx
mov ecx, dword [0x4de0d4]
push esi
mov dword [0x4dde58], 0x4bed30
mov dword [esp + 0x44], esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x88], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
call dword [sym.imp.USER32.dll_GetDC]
push 3
push 3
push 1
push ebx
push edi
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov edx, dword [0x4de0e8]
mov ebx, eax
mov eax, dword [0x4de0fc]
lea ecx, [eax + edx + 1]
mov eax, dword [0x4de104]
mov edx, dword [esp + 0x84]
sub edx, dword [0x4de0ec]
push eax
push ebp
push ebp
push eax
mov eax, dword [esp + 0x790]
push 0x4dd5a8
push eax
mov dword [0x4de0cc], ebp
mov dword [esp + 0xa4], ecx
mov dword [0x4ddd24], edx
call dword [sym.imp.USER32.dll_LoadImageA]
push eax
push 0xffffffffffffffff
push ebx
call dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 5
call ebp
push 6
mov dword [0x4de138], eax
call ebp
push str.memcpy
push str.ntdll
mov dword [0x4de134], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4de0fc]
mov dword [esp + 0x38], eax
mov eax, dword [0x4de0f0]
add eax, 3
lea ecx, [ecx + eax*2]
add ecx, eax
mov dword [esp + 0x1c], ecx
push 4
call ebp
lea edx, [esp + 0x118]
push edx
push esi
mov dword [0x4de130], eax
call dword [sym.imp.USER32.dll_BeginPaint]
mov ecx, dword [0x4de0cc]
xor esi, esi
mov dword [esp + 0x14], eax
xor ebp, ebp
lea esp, [esp]
mov eax, dword [esp + 0x14]
push ecx
push 0
push ebp
push eax
push esi
push ebx
call dword [sym.imp.COMCTL32.dll_ImageList_Draw]
mov eax, dword [0x4db920]
lea edx, [eax + eax*2]
mov eax, dword [0x4de0fc]
xor ecx, ecx
sub eax, edx
inc esi
add ebp, edi
mov dword [0x4de0cc], ecx
mov dword [0x4de104], eax
cmp esi, 2
jl 0x45e2e0
mov edi, dword [esp + 0x40]
lea ecx, [esp + 0x118]
push ecx
push edi
call dword [sym.imp.USER32.dll_EndPaint]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
mov ecx, dword [0x4ddd24]
push eax
movzx edx, si
push 0x4bef78
push ecx
mov dword [0x4de128], edx
call dword [esp + 0x44]
mov eax, dword [0x4de0c8]
mov edx, dword [0x4de0cc]
lea ecx, [eax + edx - 4]
mov edx, dword [0x4de128]
add esp, 0xc
mov eax, esi
mov esi, dword [sym.imp.USER32.dll_PtInRect]
shr eax, 0x10
push eax
mov dword [0x4de12c], eax
push edx
lea eax, [esp + 0x54]
push eax
mov dword [0x4de0c8], ecx
call esi
push edi
call dword [sym.imp.USER32.dll_SetCapture]
mov ecx, dword [0x4de12c]
mov edx, dword [0x4de128]
push ecx
push edx
lea eax, [esp + 0x74]
push eax
mov dword [0x4de124], 1
call esi
neg eax
sbb eax, eax
inc eax
cmp dword [0x4de0ec], 0
je 0x45e3cb
mov ecx, dword [0x4de120]
mov edx, dword [0x4de11c]
push ecx
push edx
push eax
push ebx
call dword [sym.imp.COMCTL32.dll_ImageList_BeginDrag]
mov ebp, dword [0x4de0fc]
mov eax, dword [0x4ddd24]
xor edi, edi
add ebp, 0x22
mov dword [esp + 0x48], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], edi
cmp dword [esp + 0x1c], edi
jle 0x45e66f
mov dword [esp + 0x14], ebp
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
mov bl, byte [ecx + edx]
movzx eax, word [0x4de0d8]
mov ecx, dword [0x4de0d4]
cdq
lea esi, [ecx + 0x59]
idiv esi
lea edx, [esp + 0x25c]
imul eax, edx
mov edx, dword [esp + 0x98]
sub edx, eax
mov eax, dword [esp + 0xe4]
cmp edx, eax
jbe 0x45e449
movzx edx, word [esp + 0xe0]
imul edx, dword [0x4de0e0]
add edx, eax
mov dword [esp + 0xe0], edx
mov eax, dword [esp + 0x18]
add eax, ebp
add eax, edi
mov dword [esp + 0x24], eax
test ecx, ecx
jne 0x45e472
mov eax, 0x22
sub eax, ebp
imul eax, ebp
imul eax, dword [esp + 0x10]
imul eax, edi
mov edi, eax
shl edi, 4
sub edi, eax
mov ecx, dword [0x4de0d8]
lea ecx, [ecx + 0x10]
lea eax, [esp + 0x25c]
cdq
idiv ecx
mov esi, dword [0x4de0cc]
mov ecx, eax
movzx eax, word [esp + 0xd8]
imul ecx, eax
mov eax, 0x66666667
imul ecx
movzx eax, byte [esp + 0xdc]
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, esi
imul edx, eax
cmp ecx, edx
jg 0x45e510
mov eax, dword [esp + 0x28]
fild dword [esp + 0x28]
test eax, eax
jns 0x45e4cb
fadd qword [0x4bf640]
call fcn.004a0510
fiadd dword [0x4de0d4]
mov ecx, dword [esp + 0x38]
fild dword [esp + 0x38]
test ecx, ecx
jns 0x45e4e8
fadd qword [0x4bf640]
fnstcw word [esp + 0x20]
movzx eax, word [esp + 0x20]
faddp st(1)
or eax, 0xc00
mov dword [esp + 0x38], eax
fldcw word [esp + 0x38]
fistp qword [esp + 0x38]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x38], edx
fldcw word [esp + 0x20]
xor bl, byte [esp + 0x24]
cmp dword [0x4de0dc], 0
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x20], bl
mov ebx, dword [esp + 0x18]
jne 0x45e544
lea edx, [edi + ebp]
lea eax, [ecx + edi]
imul eax, edx
imul eax, edi
lea edx, [eax*8]
sub edx, eax
add ebx, edx
mov dword [esp + 0x18], ebx
mov eax, esi
sub eax, dword [esp + 0x38]
cmp eax, dword [esp + 0xd8]
jne 0x45e576
mov eax, 0x88888889
mul dword [esp + 0x28]
mov eax, dword [0x4de0d4]
shr edx, 3
mov esi, edx
sub esi, eax
add esi, dword [0x4de0d8]
mov dword [0x4de0cc], esi
jmp 0x45e57b
mov eax, dword [0x4de0d4]
cmp dword [0x4de0e0], 0
je 0x45e59e
lea edx, [ebx + 5]
cmp edi, edx
jne 0x45e59e
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x24]
imul ebx, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ebx
movzx edx, word [esp + 0x98]
add edx, esi
je 0x45e5b3
mov dword [esp + 0x98], esi
jmp 0x45e5cc
mov edx, dword [0x4de0e0]
mov esi, dword [esp + 0x98]
add edx, edx
sub esi, edx
sub esi, eax
add dword [0x4de0c8], esi
cmp dword [0x4de0dc], eax
jne 0x45e5ed
lea eax, [ecx + ebx]
add eax, edi
cmp eax, 0x18
jle 0x45e5ed
mov edx, ebp
imul edx, ebx
add edx, edx
add edx, edx
add edx, edx
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x48]
test ebp, ebp
je 0x45e5fe
mov dl, byte [esp + 0x20]
mov byte [ecx + eax], dl
jmp 0x45e601
mov byte [ecx + eax], al
mov eax, dword [esp + 0x24]
lea ecx, [edi + ebp]
cmp eax, ecx
jne 0x45e61b
lea edx, [ebp*8]
sub edx, ebp
add edx, eax
add edi, edx
jmp 0x45e61d
add edi, eax
mov eax, dword [0x4de0c8]
mov ecx, dword [esp + 0x38]
mov edx, dword [0x4de0dc]
push 1
push eax
push ecx
push edx
call dword [sym.imp.USER32.dll_SetScrollPos]
cmp dword [0x4de0d8], 0x100
jle 0x45e655
mov eax, dword [esp + 0x18]
cmp eax, edi
jge 0x45e655
mov ecx, ebp
imul ecx, eax
imul ecx, ecx, 0x13
add edi, ecx
mov eax, dword [esp + 0x10]
add dword [esp + 0x14], 5
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x1c]
jl 0x45e3f5
xor edi, edi
mov edx, dword [0x4de104]
cmp edx, dword [0x4db920]
jne 0x45e691
mov eax, dword [esp + 0x84]
add eax, dword [esp + 0x8c]
add dword [0x4de0c8], eax
call dword [sym.imp.COMCTL32.dll_ImageList_EndDrag]
mov eax, dword [0x4ddd24]
mov esi, dword [esp + 0x40]
lea edx, [esp + 0x780]
push esi
mov dword [eax + 1], edx
call dword [sym.imp.COMCTL32.dll_ImageList_DragLeave]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x30]
push ecx
push edx
push eax
push esi
mov dword [0x4de124], edi
call dword [sym.imp.USER32.dll_DefWindowProcA]
mov ecx, dword [esp + 0x780]
push 0xff
lea edx, [esp + 0x15d]
push edi
push edx
mov dword [esp + 0x20], 1
mov dword [esp + 0x98], ecx
mov byte [esp + 0x164], 0
call fcn.0049e6e0
add esp, 0xc
push str.alerts
xor eax, eax
push edi
push edi
mov dword [esp + 0xe8], eax
mov dword [esp + 0xf0], eax
push edi
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
lea esi, [eax + 0x38]
mov dword [esp + 0x58], 0xa
mov dword [esp + 0x48], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov ebx, dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [esp + 0x98], eax
mov eax, dword [0x4de0dc]
push 0xffffffffffffffeb
push eax
dec esi
call ebx
cmp esi, edi
jne 0x45e764
mov edx, dword [0x4de100]
lea ecx, [esp + 0x30]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea ecx, [esp + 0x158]
movzx edx, cx
mov dword [esp + 0x30], edx
mov edi, edi
mov eax, dword [0x4de0e0]
sub eax, dword [esp + 0x30]
lea ecx, [esp + 0x40]
sub eax, dword [0x4de0c8]
mov edi, 1
add eax, dword [0x4de0d8]
sub dword [esp + 0x48], edi
add dword [0x4de0e4], eax
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov edx, dword [0x4de0ec]
mov eax, dword [0x4de100]
mov ecx, dword [esp + 0x780]
xor ebp, ebp
push ebp
push edx
push eax
push str.PrintDlgBox
push ecx
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov ecx, dword [0x4db920]
lea edx, [esp + 0x25c]
push edx
push ecx
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
cmp dword [esp + 0x28], eax
jne 0x45ea87
cmp dword [esp + 0x2c], ecx
jne 0x45ea87
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
push edi
lea ecx, [esp + 0x50]
mov dword [esp + 0x77c], edi
call fcn.0045b8b0
mov eax, dword [esp + 0x50]
cmp eax, ebp
je 0x45e84f
mov edx, dword [esp + 0x14]
mov dword [eax], edx
movzx edx, byte [0x4de0fc]
mov esi, dword [esp + 0x4c]
xor ecx, ecx
movzx ecx, cl
imul ecx, edx
add ecx, dword [0x4de0c8]
add eax, 4
mov dword [esp + 0x50], eax
mov dword [0x4de0e8], ecx
mov dword [esp + 0x5c], 7
cmp esi, eax
je 0x45e890
push ebp
push eax
push esi
call fcn.0049fed0
add esp, 0xc
mov dword [esp + 0x50], esi
lea eax, [esp + 0x5c]
push eax
push 3
push esi
lea ecx, [esp + 0x58]
call fcn.0045bdb0
mov ecx, dword [esp + 0x50]
mov ebx, dword [0x4de100]
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
cmp edx, ecx
jae 0x45e929
cmp eax, edx
ja 0x45e929
mov ebx, edx
mov edx, dword [esp + 0x54]
sub ebx, eax
sar ebx, 2
cmp ecx, edx
jne 0x45e91e
mov esi, ecx
sub esi, eax
sar esi, 2
cmp esi, 0x3ffffffe
ja 0x45ebfa
mov edi, edx
sub edi, eax
inc esi
sar edi, 2
cmp esi, edi
jbe 0x45e91e
mov eax, edi
shr eax, 1
mov ecx, 0x3fffffff
sub ecx, eax
cmp ecx, edi
jae 0x45e900
xor edi, edi
jmp 0x45e902
add edi, eax
cmp edi, esi
jae 0x45e908
mov edi, esi
push edi
lea ecx, [esp + 0x50]
call fcn.0045b8b0
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
test ecx, ecx
je 0x45e988
mov esi, dword [eax + ebx*4]
mov dword [ecx], esi
jmp 0x45e988
mov edx, dword [esp + 0x54]
cmp ecx, edx
jne 0x45e982
mov esi, ecx
sub esi, eax
sar esi, 2
cmp esi, 0x3ffffffe
ja 0x45ebfa
add esi, edi
mov edi, edx
sub edi, eax
sar edi, 2
cmp esi, edi
jbe 0x45e982
mov eax, edi
shr eax, 1
mov edx, 0x3fffffff
sub edx, eax
cmp edx, edi
jae 0x45e964
xor edi, edi
jmp 0x45e966
add edi, eax
cmp edi, esi
jae 0x45e96c
mov edi, esi
push edi
lea ecx, [esp + 0x50]
call fcn.0045b8b0
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
cmp ecx, ebp
je 0x45e988
mov dword [ecx], ebx
add ecx, 4
mov dword [esp + 0x50], ecx
cmp ecx, 0x4de0fc
jbe 0x45ea03
cmp eax, 0x4de0fc
ja 0x45ea03
mov edi, 0x4de0fc
sub edi, eax
sar edi, 2
cmp ecx, edx
jne 0x45e9f8
mov esi, ecx
sub esi, eax
sar esi, 2
cmp esi, 0x3ffffffe
ja 0x45ebfa
sub edx, eax
inc esi
sar edx, 2
cmp esi, edx
jbe 0x45e9f8
mov eax, edx
mov ecx, eax
shr ecx, 1
mov edx, 0x3fffffff
sub edx, ecx
cmp edx, eax
jae 0x45e9de
xor eax, eax
jmp 0x45e9e0
add eax, ecx
cmp eax, esi
jae 0x45e9e6
mov eax, esi
push eax
lea ecx, [esp + 0x50]
call fcn.0045b8b0
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
xor esi, esi
cmp ecx, esi
je 0x45ea61
mov edx, dword [eax + edi*4]
jmp 0x45ea5f
cmp ecx, edx
jne 0x45ea53
mov esi, ecx
sub esi, eax
sar esi, 2
cmp esi, 0x3ffffffe
ja 0x45ebfa
sub edx, eax
inc esi
sar edx, 2
cmp esi, edx
jbe 0x45ea53
mov eax, edx
mov ecx, eax
shr ecx, 1
mov edx, 0x3fffffff
sub edx, ecx
cmp edx, eax
jae 0x45ea39
xor eax, eax
jmp 0x45ea3b
add eax, ecx
cmp eax, esi
jae 0x45ea41
mov eax, esi
push eax
lea ecx, [esp + 0x50]
call fcn.0045b8b0
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
xor esi, esi
cmp ecx, esi
je 0x45ea61
mov edx, dword [0x4de0fc]
mov dword [ecx], edx
mov dword [esp + 0x778], 0xffffffff
cmp eax, esi
je 0x45ea79
push eax
call fcn.0049e3c8
add esp, 4
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
jmp 0x45eaa7
movzx esi, byte [0x4de104]
xor edx, edx
movzx edx, dl
add edx, esi
je 0x45ea9b
mov dword [esp + 0x14], ebp
add dword [esp + 0x38], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
xor eax, eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
lea eax, [esp + 0xa0]
push eax
push 0
push 0x101b
push 0
mov dword [esp + 0xb0], 0
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x45eb23
xor ebx, ebx
mov dword [0x4de0c8], ebx
jmp 0x45eb29
mov ebx, dword [0x4de0c8]
mov esi, dword [esp + 0x38]
mov eax, dword [0x4de0cc]
test esi, esi
je 0x45eb9e
mov edx, eax
sub edx, ebx
jne 0x45eb93
mov edi, dword [0x4de0dc]
cdq
lea edi, [edi + 0x36]
idiv edi
add eax, ecx
mov dword [esp + 0x5c], eax
fild dword [esp + 0x5c]
jns 0x45eb5a
fadd dword [0x4bf694]
fild dword [0x4de104]
fxch st(1)
fstp qword [esp + 0x84]
call fcn.0049fe7c
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fsubr qword [esp + 0x84]
fiadd dword [0x4db920]
call fcn.0049f150
inc dword [esp + 0x24]
mov dword [0x4db920], eax
jmp 0x45eba3
mov eax, dword [0x4db920]
inc dword [esp + 0x24]
jmp 0x45eba3
mov eax, dword [0x4db920]
cmp dword [0x4de0f4], 0
je 0x45ebba
sub ebx, dword [0x4de100]
mov dword [0x4de0c8], ebx
jmp 0x45ebce
mov eax, dword [esp + 0x8c]
shr eax, 1
add eax, dword [0x4de0e8]
mov dword [0x4db920], eax
cmp dword [esp + 0x24], 5
jae 0x45ec26
cmp esi, 1
ja 0x45ec04
mov eax, dword [esp + 0x98]
push 0xbb8
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [esp + 0x48], 0
jne 0x45e7a0
jmp 0x45ec1b
push str.vector_T__too_long
call fcn.0049c5e0
mov edx, dword [0x4de0ec]
lea ecx, [esp + 0xd8]
push ecx
push 0x18
push edx
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [0x4db920]
mov ebx, dword [0x4de0c8]
cmp bl, byte [0x4de0dc]
jne 0x45ec36
sub eax, ebx
add dword [0x4de0cc], eax
push 0
push 0
push 0
push 0x4bed84
mov dword [0x4dde58], 0x4bed7c
call dword [sym.imp.GDI32.dll_CreateICA]
mov esi, eax
lea eax, [esp + 0xa0]
push eax
push esi
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 7
call esi
push 0
call esi
push 8
call esi
mov ecx, dword [0x4de0ec]
mov edx, dword [0x4db920]
mov eax, dword [0x4de104]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x30]
push ecx
push edx
call dword [sym.imp.USER32.dll_WindowFromPoint]
mov esi, eax
push 0x20
lea eax, [esp + 0xdc]
push eax
push esi
call dword [sym.imp.USER32.dll_GetClassNameA]
push 0
lea ecx, [esp + 0xdc]
push ecx
push 0x4bed8c
call dword [sym.imp.KERNEL32.dll_GetProfileIntA]
mov ebp, dword [esp + 0x10]
mov edi, eax
cmp esi, dword [esp + 0x30]
jne 0x45ed4c
mov eax, dword [esp + 0x30]
cmp ebp, eax
je 0x45eceb
test eax, eax
jne 0x45ed4c
mov edx, dword [esp + 0x30]
inc edx
cmp edx, 5
jl 0x45ed4c
neg edi
sbb edi, edi
not edi
and edi, dword [esp + 0x30]
mov eax, edi
neg eax
sbb eax, eax
and eax, 0xfffffff0
add eax, 0x10
push eax
call dword [sym.imp.USER32.dll_MessageBeep]
push edi
lea ecx, [esp + 0x9c]
push 0x4bed90
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov edx, edi
neg edx
sbb edx, edx
lea eax, [esp + 0x98]
and edx, eax
push edx
lea ecx, [esp + 0xdc]
push ecx
push 0x4bed94
call dword [sym.imp.KERNEL32.dll_WriteProfileStringA]
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
xor ebx, ebx
push ebx
push ebx
push 0x84
push esi
mov dword [esp + 0x38], 0x115
call dword [sym.imp.USER32.dll_SendMessageA]
movzx eax, ax
dec eax
je 0x45ed89
sub eax, 5
je 0x45efbb
dec eax
je 0x45efa7
mov dword [0x4de104], ebx
imul ebp, edi
mov dword [esp + 0x10], ebp
xor ebp, ebp
test ebx, ebx
je 0x45ed9b
mov ebp, 2
mov eax, dword [esp + 0x10]
test eax, eax
jns 0x45edb7
mov ebp, 1
test ebx, ebx
je 0x45edb1
mov ebp, 3
neg eax
mov dword [esp + 0x10], eax
cmp dword [0x4de0ec], 0
je 0x45ee11
test eax, eax
jle 0x45edee
mov edx, dword [esp + 0x10]
movzx ebx, word [esp + 0x28]
dec edx
mov eax, 0x88888889
mul edx
mov edi, edx
shr edi, 6
inc edi
jmp 0x45ede0
push 0
push ebp
push ebx
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
dec edi
jne 0x45ede0
cmp dword [0x4de0ec], 0
je 0x45ee11
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x8c]
push eax
push ecx
push edx
push 0
call dword [sym.imp.USER32.dll_CallNextHookEx]
mov eax, dword [0x4de0c8]
mov ecx, dword [0x4de0cc]
mov edi, dword [0x4de108]
mov edx, dword [0x4de0d8]
mov ebx, dword [0x4de0f0]
mov esi, dword [sym.imp.GDI32.dll_CreateDIBSection]
mov dword [esp + 0x84], eax
mov dword [esp + 0x5c], eax
mov eax, dword [0x4de0ec]
xor ebp, ebp
add eax, 2
push ebp
mov dword [esp + 0x20], eax
xor eax, eax
push ebp
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
lea eax, [esp + 0x20]
push eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x3c], ecx
push ebp
lea ecx, [esp + 0xb0]
push ecx
push edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0xb8], 0x28
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xc0], edx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xc4], 0x180001
call esi
push ebp
push ebp
lea edx, [esp + 0x18]
push edx
mov dword [esp + 0x44], eax
push ebp
lea eax, [esp + 0xb0]
push eax
push edi
call esi
mov ebp, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push edi
mov dword [esp + 0x28], eax
call ebp
mov ecx, dword [esp + 0x38]
mov esi, eax
push ecx
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, edi
push edx
mov dword [esp + 0x90], eax
call ebp
mov ebp, eax
mov eax, dword [esp + 0x24]
push eax
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x84]
push 0xcc0020
push ecx
push edx
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x20]
push edi
push eax
push ebx
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x5c]
push 0xcc0020
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov eax, edi
push eax
push ecx
push ebx
push 0
push 0
push ebp
call dword [sym.imp.GDI32.dll_BitBlt]
xor eax, eax
cmp dword [0x4de0ec], eax
jle 0x45f034
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
shr edx, 0x10
mov dword [esp + 0x30], edx
jmp 0x45efd4
mov ebx, 1
test edi, edi
jns 0x45ed90
neg ebp
jmp 0x45ed8c
mov dword [esp + 0x28], 0x114
jmp 0x45ed89
mov edx, dword [esp + 0x30]
mov cl, byte [eax + ecx]
mov byte [esp + 0x20], cl
cmp cl, dl
jne 0x45effe
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
shr edx, 8
cmp byte [eax + ecx + 1], dl
jne 0x45effa
mov dl, byte [esp + 0x1c]
cmp byte [eax + ecx + 2], dl
je 0x45f029
mov cl, byte [esp + 0x20]
mov edx, dword [esp + 0x18]
mov byte [eax + edx], cl
mov ecx, dword [esp + 0x10]
mov dl, byte [eax + ecx + 1]
mov ecx, dword [esp + 0x18]
mov byte [eax + ecx + 1], dl
mov edx, dword [esp + 0x10]
mov cl, byte [eax + edx + 2]
mov edx, dword [esp + 0x18]
mov byte [eax + edx + 2], cl
mov ecx, dword [esp + 0x10]
add eax, 3
cmp eax, dword [0x4de0ec]
jl 0x45efd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x84]
push 0xcc0020
push 0
push 0
push esi
push eax
push ebx
push ecx
push edx
push edi
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x8c]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push esi
call edi
mov ecx, dword [esp + 0x98]
push ecx
push ebp
call edi
mov edx, dword [esp + 0x38]
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
push edx
call edi
mov eax, dword [esp + 0x24]
push eax
call edi
push esi
mov esi, dword [sym.imp.GDI32.dll_DeleteDC]
call esi
push ebp
call esi
mov eax, dword [0x4de0ec]
mov ecx, dword [0x4de0f0]
mov ebp, dword [0x4de0c8]
mov ebx, dword [0x4de0cc]
push eax
add ecx, eax
push ecx
mov edi, eax
xor esi, esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [0x4de0f0]
mov edx, dword [0x4de0ec]
lea eax, [ecx + edx]
mov edx, dword [0x4de0d4]
push edx
mov edx, dword [0x4de0d8]
push edx
push ecx
push esi
push edi
push eax
mov ecx, esi
sub ecx, esi
push ecx
sub esi, edi
push esi
push ebx
push ebp
push eax
call dword [sym.imp.MSIMG32.dll_TransparentBlt]
mov edx, dword [esp + 0x780]
mov esi, dword [sym.imp.USER32.dll_LoadIconA]
xor edi, edi
push 0x7f00
push edi
mov dword [esp + 0xa8], 0x30
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], 0x452710
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], edx
call esi
push 0x7f00
push edi
mov dword [esp + 0xc0], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [esp + 0xbc], eax
push 0x7f00
push edi
mov dword [esp + 0xc8], 6
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd0], 0x4dd970
call esi
mov dword [esp + 0xcc], eax
lea eax, [esp + 0xa0]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
test ax, ax
jne 0x45f1a9
cmp dword [0x4de100], edi
je 0x45f1a9
push 0x30
push 0x4dd5a8
push 0x4dd970
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [esp + 0x780]
push 0
push ecx
push 0
push 0
push 0x140
push 0x1e0
push accept
push accept
push 0xcf0000
push str.Service
push 0x4dd970
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov edi, eax
test edi, edi
jne 0x45f203
cmp dword [0x4de100], eax
je 0x45f203
push 0x30
push 0x4dd5a8
push 0x4dd970
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
push edi
call dword [sym.imp.USER32.dll_UpdateWindow]
movzx edx, word [0x4de0cc]
mov eax, dword [esp + 0x780]
mov ebp, dword [sym.imp.USER32.dll_LoadMenuA]
push edx
push eax
call ebp
mov ebx, eax
test ebx, ebx
jne 0x45f24c
push str.Error_load_menu__n
call fcn.004a061a
call fcn.004a0b1a
add eax, 0x20
push eax
call fcn.004a0abe
add esp, 8
mov eax, dword [0x4de0cc]
mov ecx, dword [0x4de0f0]
movzx edx, ax
mov dword [esp + 0x264], eax
mov eax, dword [esp + 0x780]
push edx
push eax
mov dword [esp + 0x264], 0x1fc
mov dword [esp + 0x268], edi
mov dword [esp + 0x270], 7
mov dword [esp + 0x274], ecx
call esi
push 0x80
lea ecx, [esp + 0x278]
push str.ARC___Paul_Configurator
push ecx
mov dword [esp + 0x27c], eax
call fcn.004a0810
add esp, 0xc
lea edx, [esp + 0x25c]
push edx
push 0
mov byte [esp + 0x2fb], 0
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconA]
mov eax, dword [0x4de0ec]
push 0
push eax
push ebx
call dword [sym.imp.USER32.dll_EnableMenuItem]
cmp dword [0x4de0d4], 0
je 0x45f338
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
push 0
push 0
push 0
lea ecx, [esp + 0xe4]
push ecx
call esi
test eax, eax
jle 0x45f338
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x45f310
lea edx, [esp + 0xd8]
push edx
call edi
lea eax, [esp + 0xd8]
push eax
call ebx
push 0
push 0
push 0
lea ecx, [esp + 0xe4]
push ecx
call esi
test eax, eax
jg 0x45f310
mov dl, byte [0x4de0ec]
push 0x103
lea eax, [esp + 0x469]
push 0
push eax
mov byte [esp + 0x470], dl
call fcn.0049e6e0
mov edi, dword [sym.imp.USER32.dll_EnumDisplaySettingsA]
mov ebx, dword [esp + 0x78c]
add esp, 0xc
lea ecx, [esp + 0x158]
push ecx
xor esi, esi
push esi
push str..Display1
call edi
test eax, eax
je 0x45f39b
nop
inc dword [0x4de0c8]
lea edx, [esp + 0x158]
push edx
inc esi
push esi
push str..Display1
call edi
test eax, eax
jne 0x45f380
push 0
push 0
push 0
push str.DISPLAY
call dword [sym.imp.GDI32.dll_CreateICA]
mov edi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov esi, eax
push 8
push esi
call edi
push 0xa
push esi
call edi
push 0xc
push esi
call edi
push 0x74
push esi
call edi
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
movzx eax, word [0x4de0f0]
push eax
push ebx
call ebp
push 0
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov edi, eax
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov ecx, dword [0x4de0cc]
mov ebp, dword [sym.imp.USER32.dll_GetMenuItemCount]
push edi
mov ebx, eax
mov dword [esp + 0xa4], 0x30
mov dword [esp + 0xa8], 0x33
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], 0
mov esi, 1
call ebp
cmp eax, esi
jle 0x45f483
lea ecx, [ecx]
lea eax, [esp + 0xa0]
push eax
push 1
push esi
lea edx, [esp + 0x470]
push edi
mov dword [esp + 0xb4], 0x33
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], 0x104
call dword [sym.imp.USER32.dll_GetMenuItemInfoA]
lea ecx, [esp + 0xa0]
push ecx
push 1
lea edx, [esi - 1]
push edx
push ebx
call dword [sym.imp.USER32.dll_InsertMenuItemA]
push edi
inc esi
call ebp
cmp esi, eax
jl 0x45f430
mov eax, dword [0x4de0f0]
push 0
push eax
push ebx
mov ebx, dword [sym.imp.USER32.dll_SetMenuDefaultItem]
call ebx
mov edi, dword [0x4de0ec]
mov esi, dword [0x4de0dc]
mov ecx, dword [0x4de0c8]
mov eax, edi
sub eax, 0x10
je 0x45f72b
sub eax, 0x100
je 0x45f75c
dec eax
je 0x45f653
mov ecx, dword [0x4de0f0]
mov edx, dword [0x4de100]
mov ebp, dword [0x4de0cc]
push ecx
push edx
mov dword [0x4de0c8], 0
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp edi, 0x10
ja 0x45f5d7
je 0x45f5b6
mov eax, edi
dec eax
je 0x45f57a
dec eax
je 0x45f56d
sub eax, 0xd
jne 0x45f5e7
lea eax, [esp + 0xd8]
push eax
push esi
call dword [sym.imp.USER32.dll_BeginPaint]
mov edi, eax
push 0xc8dc00
push edi
mov dword [esp + 0x64], 5
mov dword [esp + 0x68], 0x32
mov dword [esp + 0x6c], 0xbe
mov dword [esp + 0x70], 0x4b
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0x26
lea ecx, [esp + 0x60]
push ecx
push 0xffffffffffffffff
push str._:
push edi
call dword [sym.imp.USER32.dll_DrawTextA]
lea edx, [esp + 0xd8]
push edx
push esi
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x45f605
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x45f605
push 8
call fcn.0049ef7e
add esp, 4
push esi
call dword [sym.imp.USER32.dll_GetMenu]
mov edi, dword [sym.imp.USER32.dll_GetSubMenu]
mov esi, eax
mov eax, dword [0x4de0f0]
push 0
push eax
push 0
push esi
call edi
push eax
call ebx
mov ecx, dword [0x4de0d8]
push 0
push ecx
push 1
push esi
call edi
push eax
call ebx
jmp 0x45f605
push 0x24
push 0x4bea59
push 0x4bee10
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x45f605
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x45f605
cmp edi, 0x111
je 0x45f5f4
cmp edi, 0x400
je 0x45f5f4
push ebp
push 0
push edi
push esi
call dword [sym.imp.USER32.dll_DefWindowProcA]
jmp 0x45f605
push 0x64
lea edx, [esp + 0x15c]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov eax, dword [0x4de0c8]
mov ecx, dword [0x4ddd24]
mov edx, dword [0x4de100]
push eax
push ecx
push edx
call dword [sym.imp.USER32.dll_EnumChildWindows]
mov eax, dword [0x4de0ec]
cmp eax, dword [0x4de0d8]
jge 0x45f638
mov eax, dword [eax*4 + 0x4dde58]
mov dword [0x4de0e0], eax
mov ecx, dword [esp + 0x770]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov dword fs:[0], ecx
add esp, 0x76c
ret
cmp cx, 1
jne 0x45f739
mov ecx, dword [0x4de0f0]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push ecx
push esi
call edi
mov edx, dword [0x4de0d8]
push edx
push esi
mov ebx, eax
call edi
mov ebp, eax
mov eax, dword [0x4de0c8]
push eax
push esi
call edi
mov ecx, dword [0x4de0cc]
push ecx
push esi
mov dword [esp + 0x38], eax
call edi
mov edi, dword [sym.imp.USER32.dll_GetWindowTextLengthA]
push ebx
mov dword [esp + 0x60], eax
call edi
test eax, eax
jle 0x45f6aa
cmp eax, 0xff
jle 0x45f6bb
inc eax
push eax
lea edx, [esp + 0x468]
push edx
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextA]
push ebp
call edi
test eax, eax
jle 0x45f6c9
cmp eax, 0xff
jle 0x45f6de
inc eax
push eax
lea eax, [esp + 0x15c]
push eax
push ebp
mov ebp, dword [sym.imp.USER32.dll_GetWindowTextA]
call ebp
jmp 0x45f6e4
mov ebp, dword [sym.imp.USER32.dll_GetWindowTextA]
mov ebx, dword [esp + 0x30]
push ebx
call edi
test eax, eax
jle 0x45f6f6
cmp eax, 0xff
jle 0x45f703
inc eax
push eax
lea ecx, [esp + 0x56c]
push ecx
push ebx
call ebp
mov ebx, dword [esp + 0x5c]
push ebx
call edi
test eax, eax
jle 0x45f715
cmp eax, 0x3ff
jle 0x45f722
inc eax
push eax
lea edx, [esp + 0x260]
push edx
push ebx
call ebp
push 0
push esi
call dword [sym.imp.USER32.dll_EndDialog]
push 0
push esi
call dword [sym.imp.USER32.dll_EndDialog]
jmp 0x45f638
movzx eax, cx
cmp eax, dword [0x4de0cc]
jne 0x45f72b
push 0
push esi
mov dword [0x4de0cc], 1
call dword [sym.imp.USER32.dll_EndDialog]
jmp 0x45f638
mov edx, dword [0x4de0f0]
mov edi, dword [sym.imp.USER32.dll_SetDlgItemTextA]
lea ecx, [esp + 0x464]
push ecx
push edx
push esi
call edi
mov ecx, dword [0x4de0d8]
lea eax, [esp + 0x158]
push eax
push ecx
push esi
call edi
mov eax, dword [0x4de0c8]
lea edx, [esp + 0x568]
push edx
push eax
push esi
call edi
mov edx, dword [0x4de0cc]
lea ecx, [esp + 0x25c]
push ecx
push edx
push esi
call edi
jmp 0x45f638
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x90]
mov dword [esp + 0x34], edi
call fcn.0049f74a
push 0x4d5c48
lea ecx, [esp + 0x90]
push ecx
mov dword [esp + 0x94], vtable.std::bad_alloc.0
call fcn.0049e424
int3