Function at 0x4024f0
Capabilities:
Check for unmoving mouse cursor
Query environment variable

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48d091
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x470
mov eax, dword [0x4c822c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [0x532ca4], 0
mov esi, 2
mov eax, dword [0x53306c]
mov edx, esi
mov edi, dword [0x532ca0]
mov ecx, dword [0x532c90]
mov dword [ebp - 0x3fc], eax
mov eax, dword [0x532c88]
mov dword [ebp - 0x3e8], eax
mov eax, dword [0x532f00]
mov dword [ebp - 0x3c4], edx
mov dword [ebp - 0x3ec], edx
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 0x418], edi
mov dword [ebp - 0x424], ecx
mov dword [ebp - 0x3e4], 0
jle 0x402958
nop dword [eax]
nop dword [eax + eax]
imul ecx, dword [ebp - 0x3ec], 0x4b1
mov eax, esi
shl eax, 6
add edi, 0x4ad
add eax, ecx
sub eax, dword [0x532ef8]
add eax, edx
add eax, edi
mov dword [0x532ca0], eax
lea eax, [ebp - 0x3c0]
push eax
push dword [ebp - 0x3e8]
call dword [sym.imp.USER32.dll_BeginPaint]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [ebp - 0x3c8], eax
call dword [sym.imp.ODBC32.dll_SQLDataSourcesW]
cwde
imul eax, dword [0x532c8c]
push 0
mov dword [ebp - 0x3c4], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov edi, eax
call dword [sym.imp.ODBC32.dll_SQLColumnPrivilegesW]
mov eax, dword [0x532f04]
sub eax, dword [0x532efc]
mov ecx, dword [ebp - 0x3c4]
inc ecx
mov dword [ebp - 0x3ec], 0
add eax, ecx
mov dword [ebp - 0x364], 0x28
imul eax, esi
push 0
push 0
mov dword [ebp - 0x360], 0x40
mov dword [ebp - 0x35c], 0x40
inc eax
mov dword [ebp - 0x358], 0x200001
mov dword [0x532c90], eax
lea eax, [ebp - 0x3f0]
push eax
push 0
lea eax, [ebp - 0x364]
mov dword [ebp - 0x354], 0
push eax
push dword [ebp - 0x3c8]
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x34c], 0
mov dword [ebp - 0x348], 0
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x340], 0
mov dword [ebp - 0x33c], 0
call dword [sym.imp.GDI32.dll_CreateDIBSection]
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [ebp - 0x3d4], eax
call dword [sym.imp.ODBC32.dll_SQLBrowseConnectW]
push dword [ebp - 0x3d4]
movsx esi, ax
imul esi, dword [0x532c88]
push edi
mov dword [ebp - 0x3dc], esi
call dword [sym.imp.GDI32.dll_SelectObject]
cmp dword [0x532f04], esi
jne 0x402772
mov eax, dword [ebp - 0x3c4]
cmp eax, dword [0x532c8c]
jne 0x402772
cmp dword [0x532c88], 0
jne 0x402772
push 0xcc0020
push 0
push 0
push edi
push 0x3c
push 0x3c
push 0xa
push 0xa
push dword [ebp - 0x3c8]
call dword [sym.imp.GDI32.dll_BitBlt]
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [0x532c9c]
mov eax, dword [0x532f04]
mov edi, dword [0x532c90]
mov dword [ebp - 0x3c8], ecx
mov dword [ebp - 0x3d4], eax
jmp 0x4027b7
push dword [ebp - 0x3d4]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [0x532c84]
mov edx, dword [0x532f04]
mov eax, dword [0x532f0c]
imul ecx, edx
mov dword [ebp - 0x3d4], edx
mov dword [ebp - 0x3c8], 0
add ecx, dword [0x4cd224]
lea edi, [ecx + eax*2]
add edi, dword [ebp - 0x3c4]
mov dword [0x532c90], edi
mov eax, dword [0x532c8c]
add eax, 0xa
add eax, esi
xor esi, esi
mov dword [ebp - 0x420], eax
nop dword [eax]
mov ecx, esi
mov edx, 6
mov eax, dword [ebp - 0x3f0]
lea ecx, [ecx + 4]
mov dword [ecx + eax - 4], 0xfa
sub edx, 1
jne 0x4027d7
mov eax, dword [ebp - 0x3fc]
cmp eax, dword [ebp - 0x420]
jbe 0x40280b
mov eax, dword [ebp - 0x3dc]
add eax, 2
add eax, edi
mov dword [0x532f0c], eax
add esi, 0x100
cmp esi, 0x400
jl 0x4027d0
cmp dword [ebp - 0x3c8], 0
je 0x402886
push 0x104
lea eax, [ebp - 0x120]
push eax
push 0xffffffffffffffff
push 0
call dword [sym.imp.SHELL32.dll_DragQueryFileA]
mov edi, dword [ebp - 0x3d4]
xor esi, esi
push 0x104
lea eax, [ebp - 0x120]
push eax
push esi
push 0
call dword [sym.imp.SHELL32.dll_DragQueryFileA]
cmp dword [0x532f00], 0
je 0x402873
push 0
push 0x4bfe14
lea eax, [ebp - 0x120]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
inc esi
cmp esi, 2
jl 0x402840
push 0
call dword [sym.imp.SHELL32.dll_DragFinish]
jmp 0x402913
push 0x58
lea eax, [ebp - 0x480]
push 0
push eax
call fcn.0046e580
add esp, 0xc
mov dword [ebp - 0x480], 0x58
lea eax, [ebp - 0x120]
mov dword [ebp - 0x47c], 0
mov dword [ebp - 0x464], eax
lea eax, [ebp - 0x480]
mov byte [ebp - 0x120], 0
push eax
mov dword [ebp - 0x460], 0x104
mov dword [ebp - 0x474], 0x532f10
mov dword [ebp - 0x468], 1
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0
mov dword [ebp - 0x44c], 0x1800
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
lea eax, [ebp - 0x3c0]
push eax
push dword [ebp - 0x3e8]
call dword [sym.imp.USER32.dll_EndPaint]
mov eax, dword [ebp - 0x3e4]
inc eax
mov dword [ebp - 0x3e4], eax
cmp eax, dword [0x532ca4]
jge 0x402952
mov edi, dword [0x532ca0]
mov esi, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x3c4]
jmp 0x4025a0
mov ecx, dword [0x532c90]
mov eax, dword [0x532c94]
imul eax, dword [0x532c8c]
push dword [ebp - 0x424]
push dword [ebp - 0x418]
push dword [ebp - 0x3f4]
imul eax, ecx
push dword [ebp - 0x3e8]
add eax, 2
mov dword [0x532efc], eax
call dword [sym.imp.USER32.dll_DefWindowProcA]
mov eax, dword [0x532efc]
imul eax, dword [0x532f04]
mov ecx, dword [0x532ca0]
push 0
sub ecx, eax
mov eax, dword [0x4cd224]
sub ecx, dword [ebp - 0x3c4]
inc eax
add ecx, dword [ebp - 0x3ec]
add eax, ecx
mov dword [0x4cd224], eax
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
push 0x208
mov dword [0x532f04], eax
lea eax, [ebp - 0x328]
push 0
push eax
call fcn.0046e580
mov ecx, dword [0x532efc]
xorps xmm0, xmm0
sub ecx, dword [0x532c94]
add esp, 0xc
add ecx, dword [0x532c90]
mov eax, dword [0x532ca0]
add ecx, eax
add eax, 3
movq qword [ebp - 0x340], xmm0
imul ecx, eax
movups xmmword [ebp - 0x360], xmm0
mov dword [ebp - 0x360], 0x28
movups xmmword [ebp - 0x350], xmm0
imul ecx, dword [ebp - 0x3fc]
mov dword [0x4cd224], ecx
call dword [sym.imp.KERNEL32.DLL_GetConsoleWindow]
mov ecx, dword [0x4cd224]
mov dword [ebp - 0x35c], eax
mov eax, dword [0x532f04]
imul eax, dword [0x532ca0]
push 0
push 0
sub ecx, eax
inc ecx
mov dword [0x532ca0], ecx
call dword [sym.imp.GDI32.dll_GetNearestPaletteIndex]
imul eax, dword [0x532f00]
mov dword [ebp - 0x354], 0
mov dword [0x532c88], eax
lea eax, [ebp - 0x328]
mov dword [ebp - 0x350], eax
mov eax, 0x104
mov word [ebp - 0x348], ax
lea eax, [ebp - 0x360]
push eax
call dword [sym.imp.COMDLG32.dll_FindTextW]
mov eax, dword [0x532f04]
mov dword [0x4cd224], eax
mov eax, dword [0x532ca0]
add dword [0x532c90], eax
cmp dword [0x532c9c], 0
je 0x4033c2
cmp dword [0x532c94], 0
jne 0x402ad0
cmp dword [0x532c8c], 0
jne 0x4033c2
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov esi, eax
push esi
mov dword [ebp - 0x400], esi
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
lea eax, [ebp - 0x338]
push eax
push esi
mov dword [ebp - 0x414], edi
call dword [sym.imp.USER32.dll_GetClientRect]
push edi
mov dword [ebp - 0x3f4], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
xor esi, esi
mov dword [ebp - 0x3c8], eax
mov dword [ebp - 0x3dc], esi
test edi, edi
je 0x402b32
test eax, eax
je 0x402b32
cmp dword [ebp - 0x3f4], esi
mov eax, 1
cmovne esi, eax
mov dword [ebp - 0x3dc], esi
push 0x5bb77286
push 0xbd93dd8a
push 0
push esi
call fcn.0048c9a0
mov edi, dword [ebp - 0x330]
xorps xmm0, xmm0
sub edi, dword [ebp - 0x338]
push 0
push esi
push 0x5f1abb99
movups xmmword [ebp - 0x360], xmm0
push 0x173dcd50
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x3f4], edx
mov dword [ebp - 0x364], 0x28
movups xmmword [ebp - 0x350], xmm0
mov dword [ebp - 0x360], edi
movq qword [ebp - 0x340], xmm0
call fcn.0048c9e0
push 0
push esi
push 0x36cf11dd
push 0x97f3a84b
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x424], edx
call fcn.0048c9e0
mov ecx, dword [0x532c8c]
mov esi, dword [ebp - 0x32c]
sub esi, dword [ebp - 0x334]
push dword [ebp - 0x3f4]
mov dword [ebp - 0x3ec], eax
lea eax, [ecx + 0x34]
push dword [ebp - 0x418]
mov dword [ebp - 0x3e8], edx
push dword [ebp - 0x424]
cdq
push dword [ebp - 0x420]
mov dword [ebp - 0x3f0], eax
mov eax, 0x1e98702
mov dword [ebp - 0x35c], esi
sub eax, ecx
imul esi, edi
mov dword [ebp - 0x40c], edx
cdq
mov dword [ebp - 0x3cc], eax
mov eax, 0xd
mov dword [ebp - 0x40c], edx
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x358], 0x180001
mov dword [ebp - 0x354], 0
lea ecx, [esi + esi*2]
mov dword [ebp - 0x350], ecx
mov ecx, dword [ebp - 0x3dc]
sub eax, ecx
cdq
mov dword [ebp - 0x40c], eax
mov dword [ebp - 0x3dc], edx
lea esi, [ecx + 3]
call fcn.0048c9a0
add dword [ebp - 0x3ec], eax
mov ecx, edx
mov edi, dword [ebp - 0x3c8]
adc dword [ebp - 0x3e8], ecx
push 0
push 0
mov dword [ebp - 0x3c4], eax
lea eax, [ebp - 0x404]
push eax
push 0
lea eax, [ebp - 0x364]
mov dword [ebp - 0x3d4], ecx
push eax
push edi
call dword [sym.imp.GDI32.dll_CreateDIBSection]
add dword [ebp - 0x3c4], 0x9df3ac36
mov ecx, dword [ebp - 0x3f0]
adc dword [ebp - 0x3d4], 0x460806ed
imul ecx, dword [ebp - 0x3cc]
mov dword [ebp - 0x3e4], eax
add ecx, esi
push eax
push edi
mov dword [ebp - 0x3f4], ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov esi, dword [ebp - 0x414]
push 0xcc0020
push 0
push 0
push esi
push dword [ebp - 0x35c]
mov dword [ebp - 0x3cc], eax
push dword [ebp - 0x360]
push 0
push 0
push edi
call dword [sym.imp.GDI32.dll_BitBlt]
push 0x20
push 0x40
call dword [sym.imp.KERNEL32.DLL_GlobalAlloc]
push esi
push dword [ebp - 0x400]
mov edi, eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0x10
call dword [sym.imp.gdiplus.dll_GdipAlloc]
mov esi, eax
mov dword [ebp - 0x400], esi
test esi, esi
je 0x402d60
lea eax, [ebp - 0x3dc]
mov dword [esi], vtable.Gdiplus::Bitmap.0
push eax
push 0
push dword [ebp - 0x3e4]
mov dword [ebp - 0x3dc], 0
call dword [sym.imp.gdiplus.dll_GdipCreateBitmapFromHBITMAP]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x3dc]
mov dword [esi + 4], eax
jmp 0x402d62
xor esi, esi
mov eax, dword [ebp - 0x3ec]
mov edx, dword [ebp - 0x3e8]
push edi
mov dword [edi], eax
mov dword [edi + 4], edx
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
push 0x20
push 0x40
mov dword [ebp - 0x3dc], eax
call dword [sym.imp.KERNEL32.DLL_GlobalAlloc]
push dword [ebp - 0x3cc]
mov edi, eax
push dword [ebp - 0x3c8]
call dword [sym.imp.GDI32.dll_SelectObject]
cmp dword [ebp - 0x3dc], 0
je 0x402ad0
mov eax, dword [ebp - 0x3c4]
push dword [ebp - 0x3e4]
mov dword [edi], eax
mov eax, dword [ebp - 0x3d4]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x3f4]
mov dword [edi + 8], eax
mov dword [edi + 0xc], 0
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp - 0x3c8]
call dword [sym.imp.GDI32.dll_DeleteDC]
lea eax, [ebp - 0x3c4]
mov dword [ebp - 0x3c4], 0
push eax
push 1
push 0
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
cmp dword [ebp - 0x3c4], 0
jne 0x402e2c
push 0
lea eax, [ebp - 0x374]
push eax
push 0
push dword [esi + 4]
call dword [sym.imp.gdiplus.dll_GdipSaveImageToStream]
test eax, eax
je 0x402ad0
mov dword [esi + 8], eax
jmp 0x402ad0
push edi
push dword [ebp - 0x3dc]
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
push 0x10
mov dword [ebp - 0x400], eax
call dword [sym.imp.gdiplus.dll_GdipAlloc]
mov edi, eax
mov dword [ebp - 0x414], edi
test edi, edi
je 0x402e83
mov ecx, dword [ebp - 0x3c4]
lea eax, [ebp - 0x3dc]
push eax
push ecx
mov dword [edi], vtable.Gdiplus::Bitmap.0
mov dword [ebp - 0x3dc], 0
call dword [sym.imp.gdiplus.dll_GdipCreateBitmapFromStream]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x3dc]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x3f0]
add eax, dword [ebp - 0x40c]
push eax
push 0x3000
push 0x34000
push 0
call dword [ebp - 0x400]
mov dword [0x532ca8], eax
mov eax, dword [ebp - 0x3c4]
push eax
mov edx, dword [eax]
call dword [edx + 8]
test esi, esi
je 0x402ebf
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
push 0x100
lea eax, [ebp - 0x120]
push 0
push eax
call fcn.0046e580
add esp, 0xc
mov dword [ebp - 0x3dc], 0
xorps xmm0, xmm0
lea eax, [ebp - 0x328]
movq qword [ebp - 0x370], xmm0
movups xmmword [ebp - 0x338], xmm0
push 0x208
push 0
push eax
call fcn.0046e580
movzx edx, word [0x532f0c]
xorps xmm1, xmm1
movaps xmm0, xmm1
xor edi, edi
psrldq xmm0, 8
add esp, 0xc
movd eax, xmm0
mov dword [ebp - 0x3e4], edi
mov dword [ebp - 0x3c8], edi
movzx ecx, al
movzx eax, word [0x532c9c]
imul ecx, eax
movd eax, xmm1
mov dword [ebp - 0x3f8], edi
mov dword [ebp - 0x3f4], edi
mov dword [ebp - 0x41c], edi
sub edx, ecx
mov dword [ebp - 0x418], edi
add edx, eax
mov dword [ebp - 0x3d0], edi
mov dword [0x532ca0], edx
mov dword [ebp - 0x3cc], edi
call fcn.00403f80
mov dword [ebp - 0x3d0], eax
lea eax, [ebp - 0x408]
mov dword [ebp - 4], edi
push eax
lea ecx, [ebp - 0x3d0]
mov dword [ebp - 0x408], 0x2b
mov dword [ebp - 0x404], 0xb8
call fcn.00404000
push eax
add eax, 0xe
push eax
push ecx
lea eax, [ebp - 0x408]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.00404030
push str.createWindEvnt
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.DLL_CreateEventA]
cmp byte [0x532ca8], 0
mov dword [ebp - 0x400], eax
jne 0x403010
mov eax, dword [ebp - 0x3fc]
lea ecx, [ebp - 0x3d0]
mov dword [ebp - 0x404], eax
lea eax, [ebp - 0x408]
push eax
mov byte [ebp - 0x408], 0
call fcn.00404000
push eax
add eax, 0xe
push eax
push ecx
lea eax, [ebp - 0x408]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.00404030
cmp dword [ebp - 0x3cc], 0
jbe 0x403062
movd xmm0, dword [0x532c8c]
cvtdq2pd xmm0, xmm0
call fcn.00478ec0
mulsd xmm0, qword [0x4bff90]
movsd qword [ebp - 0x408], xmm0
movd xmm0, dword [ebp - 0x330]
cvtdq2pd xmm0, xmm0
call fcn.00478cf0
movsd xmm1, qword [ebp - 0x408]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [0x532ca0], eax
jmp 0x403074
mov eax, dword [0x532c8c]
imul eax, dword [0x532c88]
add dword [0x4cd224], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x3d0]
mov eax, dword [ecx + 4]
mov esi, eax
cmp byte [eax + 0xd], 0
jne 0x4030b9
mov edi, eax
nop dword [eax + eax]
push dword [esi + 8]
lea ecx, [ebp - 0x3d0]
call fcn.00403a70
mov esi, dword [esi]
push edi
call fcn.00415bce
add esp, 4
mov edi, esi
cmp byte [esi + 0xd], 0
je 0x403090
mov ecx, dword [ebp - 0x3d0]
xor edi, edi
mov esi, dword [sym.imp.USER32.dll_GetCursorPos]
mov dword [ecx + 4], ecx
mov eax, dword [ebp - 0x3d0]
mov dword [eax], eax
mov eax, dword [ebp - 0x3d0]
mov dword [eax + 8], eax
lea eax, [ebp - 0x3f8]
push eax
mov dword [ebp - 0x3cc], 0
call esi
mov eax, dword [ebp - 0x338]
mov ecx, dword [ebp - 0x334]
mov dword [ebp - 0x3f0], eax
mov eax, 0xa
mov dword [ebp - 0x3fc], ecx
nop dword [eax]
nop word [eax + eax]
dec eax
cmp dword [0x4cd224], 0
mov dword [ebp - 0x414], eax
jne 0x40312f
movzx eax, byte [0x532c8c]
add ecx, eax
mov dword [ebp - 0x3fc], ecx
lea eax, [ebp - 0x41c]
push eax
call esi
mov eax, dword [0x532c88]
mov esi, dword [0x532f04]
sub eax, dword [0x532ca0]
je 0x403160
mov eax, dword [ebp - 0x3f0]
lea eax, [ebp + eax - 0x328]
mov dword [ebp - 0x3f0], eax
jmp 0x40317d
mov ecx, dword [0x532f00]
mov eax, esi
cdq
lea ecx, [ecx + 0x5a]
idiv ecx
lea ecx, [ebp - 0x328]
imul eax, ecx
sub dword [ebp - 0x3dc], eax
mov eax, dword [ebp - 0x41c]
mov edx, dword [ebp - 0x418]
cmp dword [ebp - 0x3f8], eax
jne 0x4031dc
cmp dword [ebp - 0x3f4], edx
jne 0x4031dc
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [ebp - 0x338], xmm0
movaps xmm0, xmm1
psrldq xmm0, 4
movd eax, xmm0
neg eax
push eax
movd eax, xmm1
neg eax
push eax
lea eax, [ebp - 0x338]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
push str.Data
call dword [sym.imp.KERNEL32.DLL_GlobalAddAtomA]
mov esi, dword [0x532f04]
jmp 0x403215
mov ecx, dword [0x532c94]
mov dword [ebp - 0x3f8], eax
neg ecx
lea eax, [ebp - 0x120]
mov dword [0x532f0c], ecx
movzx eax, ax
imul eax, dword [0x532ca8]
mov dword [ebp - 0x3f4], edx
sub ecx, eax
inc edi
mov dword [0x532ca0], ecx
mov dword [ebp - 0x3e4], edi
test edi, edi
je 0x403229
xor edi, edi
inc dword [ebp - 0x3c8]
mov dword [0x4cd224], edi
jmp 0x40322f
mov edi, dword [0x4cd224]
test esi, esi
je 0x4032a1
cmp dword [0x532f00], 0
je 0x4032a1
mov ecx, dword [ebp - 0x404]
mov esi, str.Version
mov edx, 0x80
mov dword [ebp - 0x40c], 0
sub esi, ecx
nop dword [eax + eax]
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x403281
mov al, byte [esi + ecx]
test al, al
je 0x403281
mov byte [ecx], al
inc ecx
sub edx, 1
jne 0x403260
dec ecx
mov eax, 0x8007007a
jmp 0x403293
test edx, edx
jne 0x40328d
dec ecx
mov eax, 0x8007007a
jmp 0x403293
mov eax, dword [ebp - 0x40c]
mov byte [ecx], 0
test eax, eax
jns 0x4032a1
inc edi
mov dword [0x4cd224], edi
mov edi, dword [ebp - 0x3e4]
cmp edi, 1
ja 0x403317
cmp dword [ebp - 0x3c8], 4
mov dword [0x532ca0], 0
ja 0x4032ec
push 0xbb8
push dword [ebp - 0x400]
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x3fc]
mov esi, dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
jne 0x403110
jmp 0x403317
lea eax, [ebp - 0x338]
push eax
call dword [sym.imp.RPCRT4.dll_UuidCreate]
test eax, eax
jne 0x403317
mov dword [ebp - 0x40c], eax
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x338]
push eax
call dword [sym.imp.RPCRT4.dll_UuidToStringW]
mov esi, dword [0x532c88]
add esi, 0x3e
je 0x403347
mov edi, dword [sym.imp.KERNEL32.DLL_GetEnvironmentStrings]
nop dword [eax + eax]
mov eax, dword [0x532f00]
sub eax, dword [0x532c90]
mov dword [0x532c90], eax
call edi
sub esi, 1
jne 0x403330
mov eax, dword [ebp - 0x3d0]
lea ecx, [ebp - 0x3d0]
push eax
push dword [eax]
lea eax, [ebp - 0x404]
push eax
call fcn.00403ab0
push dword [ebp - 0x3d0]
call fcn.00415bce
mov ecx, dword [0x532f00]
add esp, 4
mov eax, dword [0x532ca0]
cdq
lea ecx, [ecx + 2]
idiv ecx
mov ecx, dword [0x532c90]
add eax, ecx
cmp eax, dword [0x532c9c]
jle 0x403398
dec ecx
mov dword [0x532c90], ecx
mov dword [0x532cb0], str.expressiveness_REFCURSOR_Amp_golf_mounting
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041598b
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
mov esi, dword [sym.imp.USER32.dll_DispatchMessageW]
nop
push 0
push 0
push 0
lea eax, [ebp - 0x380]
push eax
call edi
lea eax, [ebp - 0x380]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
mov eax, dword [ebp - 0x404]
cmp dword [ebp - 0x37c], eax
jne 0x40342d
mov eax, dword [0x532f04]
imul eax, dword [0x532ca4]
mov ecx, dword [0x532c84]
sub ecx, eax
mov eax, dword [0x532c8c]
add eax, 0x1c
add ecx, eax
mov eax, dword [0x532ca0]
add eax, 0xfffffffc
mov dword [0x532c90], ecx
add eax, ecx
mov dword [0x532ca0], eax
lea eax, [ebp - 0x380]
push eax
call esi
jmp 0x4033d0