Function at 0x4660a0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58fb50
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x5f0a00]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x54], edi
lea ecx, [ebp + 8]
call fcn.00441340
test al, al
je 0x4661ba
mov ecx, dword [0x5f95b8]
test ecx, ecx
je 0x4660f5
call fcn.0044c610
mov esi, eax
jmp 0x4660f7
xor esi, esi
push 0x2801
call fcn.0055ba77
push str.Null_XML_node
push 0xffffffffffffffff
mov edi, eax
push 0x2800
push edi
call fcn.0042d1a0
add esp, 0x14
mov byte [eax + edi], 0
test esi, esi
je 0x466165
mov eax, dword [esi]
mov ecx, esi
push 3
push 0
mov eax, dword [eax + 0x2c]
call eax
test al, al
je 0x466165
mov eax, dword [ebp + 4]
mov ecx, esi
mov edx, dword [esi]
push eax
push 0x59b528
push 0xf0
push str.F:XTrendPCdep_soui_srccore_shostwnd.cpp
push edi
push str.soui
push 3
push 0
call dword [edx + 0x34]
push edi
call fcn.0055ba5c
add esp, 4
xor eax, eax
jmp 0x466bc8
push 0x2801
call fcn.0055ba77
push 0x59b528
push edi
push 0xf0
push str.F:XTrendPCdep_soui_srccore_shostwnd.cpp
push str._s:_d___s__s__n
push 0xffffffffffffffff
mov esi, eax
push 0x2800
push esi
call fcn.0042d1a0
add esp, 0x24
mov byte [eax + esi], 0
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
call fcn.0055ba5c
add esp, 4
push edi
call fcn.0055ba5c
add esp, 4
xor eax, eax
jmp 0x466bc8
push dword [edi + 0x384]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4661b3
mov eax, dword [edi + 0x4ac]
test eax, eax
je 0x4661f7
test al, 2
je 0x4661e0
lea ecx, [edi - 8]
call fcn.0046a120
test byte [edi + 0x4ac], 1
je 0x4661f7
mov ecx, edi
call fcn.00476be0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
cmp dword [edi + 0x490], 0
lea esi, [edi + 0x490]
mov dword [ebp - 0x5c], esi
je 0x466256
lea eax, [edi - 8]
neg eax
lea ecx, [ebp - 0x30]
sbb eax, eax
and eax, edi
push eax
call fcn.00464a00
mov eax, dword [edi]
lea ecx, [ebp - 0x30]
push ecx
mov ecx, edi
mov dword [ebp - 4], 0
call dword [eax + 0xa8]
mov ecx, dword [esi]
test ecx, ecx
je 0x466241
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esi], 0
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x28], vtable.SOUI::IObject.0
mov dword [ebp - 0x30], vtable.SOUI::IObjRef.0
push 0
push 0
push 0
push 2
mov ecx, edi
call fcn.0047cdd0
mov dword [edi + 0x4b0], 1
mov ecx, dword [0x5f95b8]
push esi
call fcn.0044bda0
lea ecx, [edi + 0x398]
call fcn.00466030
mov eax, dword [edi + 0x398]
lea ecx, [edi + 0x398]
push dword [ebp + 8]
call dword [eax + 0x28]
push 0
push str.script
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp + 8]
call fcn.00441d50
push 1
lea ecx, [ebp - 0x68]
call fcn.00446a10
cmp dword [edi + 0x490], 0
je 0x466559
lea ecx, [ebp - 0x68]
call fcn.00441370
test eax, eax
je 0x466559
push 0
push 0x599d1c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x68]
call fcn.00441c60
lea ecx, [ebp - 0x78]
call fcn.00441370
test eax, eax
je 0x4664f6
lea ecx, [ebp - 0x78]
call fcn.00447560
push eax
lea ecx, [ebp - 0x50]
call fcn.0040db80
push 0
lea eax, [ebp - 0x50]
mov dword [ebp - 4], 1
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00440640
add esp, 0xc
lea ecx, [ebp - 0x50]
call fcn.0040bf10
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 4
cmp dword [eax - 8], 0
jle 0x466410
push 0x3a
push eax
call fcn.00558be7
mov esi, eax
add esp, 8
mov eax, dword [ebp - 0x4c]
test esi, esi
je 0x466410
sub esi, eax
sar esi, 1
cmp esi, 0xffffffff
je 0x466410
push esi
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x4c]
call fcn.0042af90
push dword [eax]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 5
call fcn.0040c230
mov ecx, dword [ebp - 0x50]
add ecx, 0xfffffff4
mov byte [ebp - 4], 6
cmp ecx, dword [0x5f012c]
je 0x4663bb
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4663bb
push ecx
call fcn.00408c50
add esp, 4
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 4
mov eax, dword [eax - 8]
sub eax, esi
dec eax
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.004241d0
push dword [eax]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 7
call fcn.0040c230
mov ecx, dword [ebp - 0x50]
add ecx, 0xfffffff4
mov byte [ebp - 4], 8
cmp ecx, dword [0x5f012c]
je 0x46640a
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x46640a
push ecx
call fcn.00408c50
add esp, 4
mov byte [ebp - 4], 4
jmp 0x466419
push eax
lea ecx, [ebp - 0x20]
call fcn.0040c230
mov ecx, dword [ebp - 0x1c]
cmp ecx, 2
jne 0x46649d
mov esi, dword [ebp - 0x20]
mov ecx, dword [0x5f95b8]
push dword [esi + 4]
push dword [esi]
call fcn.00451a80
mov dword [ebp - 0x50], eax
test eax, eax
je 0x46649a
push eax
lea ecx, [ebp - 0xa8]
call fcn.004478a0
mov eax, dword [0x5f95b8]
lea ecx, [ebp - 0xa8]
mov edi, dword [esi]
push dword [ebp - 0x50]
mov esi, dword [esi + 4]
mov byte [ebp - 4], 9
mov dword [ebp - 0x7c], eax
call fcn.00432470
mov ecx, dword [ebp - 0x7c]
push eax
push esi
push edi
call fcn.00451990
mov esi, dword [ebp - 0x5c]
lea ecx, [ebp - 0xa8]
push dword [ebp - 0x50]
mov esi, dword [esi]
mov edi, dword [esi]
call fcn.00432470
push eax
mov ecx, esi
call dword [edi + 0x18]
lea ecx, [ebp - 0xa8]
call fcn.00447900
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xa
test eax, eax
je 0x46654a
xor esi, esi
test ecx, ecx
je 0x4664eb
or edi, 0xffffffff
mov ecx, dword [eax + esi*4]
sub ecx, 0xc
mov byte [ebp - 4], 0xb
cmp ecx, dword [0x5f012c]
je 0x4664de
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4664db
push ecx
call fcn.00408c50
add esp, 4
mov eax, dword [ebp - 0x20]
inc esi
mov byte [ebp - 4], 0xa
cmp esi, dword [ebp - 0x1c]
jb 0x4664b5
mov edi, dword [ebp - 0x54]
push eax
call fcn.00408c50
add esp, 4
jmp 0x46654a
lea ecx, [ebp - 0x68]
call fcn.00441df0
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040db80
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 4], 0xc
cmp dword [eax - 8], 0
je 0x46654a
push 0xfde9
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00440460
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov ecx, dword [edi + 0x490]
mov byte [ebp - 4], 0xd
push dword [eax - 8]
mov edx, dword [ecx]
push eax
call dword [edx + 0x18]
lea ecx, [ebp - 0x50]
call fcn.0040bf10
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.0040bf10
push 0xfffffffffffffff0
push dword [edi + 0x384]
call dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xffffffffffffffec
push dword [edi + 0x384]
mov esi, eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov edx, dword [edi + 0x400]
mov ecx, edx
and ecx, 0x100
neg ecx
sbb ecx, ecx
and ecx, 0x50000
add ecx, 0x20000
or ecx, esi
test edx, 0x200
je 0x4665ac
or ecx, 0x80000
or eax, 0x40000
jmp 0x4665b9
test edx, 0x400
je 0x4665b9
or eax, 0x80
mov esi, eax
or esi, 0x80000
test edx, 0x800
cmove esi, eax
mov eax, dword [edi + 0x404]
test eax, eax
je 0x4665dc
mov ecx, eax
and ecx, 0xefffffff
mov eax, dword [edi + 0x408]
test eax, eax
push 0
push ecx
push 0
lea ecx, [edi + 0x378]
cmovne esi, eax
call fcn.00463ef0
push 0
push esi
push 0
lea ecx, [edi + 0x378]
call fcn.00463f50
push 0
lea eax, [ebp - 0x74]
push eax
lea ecx, [edi + 0x410]
call fcn.00477aa0
mov eax, dword [ebp - 0x74]
push eax
push dword [edi + 0x384]
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x5c], eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
test eax, eax
je 0x466648
mov eax, dword [edi + 0x378]
lea ecx, [edi + 0x378]
push dword [ebp - 0x5c]
call dword [eax + 8]
mov eax, dword [edi + 0x41c]
mov ecx, dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x46666e
push eax
push 0
push 0x80
push dword [edi + 0x384]
call ecx
mov ecx, dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [edi + 0x420]
test eax, eax
je 0x466688
push eax
push 1
push 0x80
push dword [edi + 0x384]
call ecx
push 0
push str.width
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp + 8]
call fcn.00441c60
push 0
push str.height
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp + 8]
call fcn.00441c60
push 0
lea ecx, [ebp - 0x6c]
call fcn.00441be0
push 0
lea ecx, [ebp - 0x70]
mov dword [edi + 0x4b8], eax
call fcn.00441be0
push 0
mov dword [edi + 0x4bc], eax
lea ecx, [ebp + 8]
push 0x59a278
lea eax, [ebp - 0x64]
push eax
call fcn.00441d50
push 1
lea ecx, [ebp - 0x64]
call fcn.00446a10
lea ecx, [ebp - 0x6c]
call fcn.00441370
test eax, eax
je 0x466729
push 0
lea ecx, [ebp - 0x6c]
call fcn.004431e0
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x64]
call fcn.00441c60
mov ecx, eax
call fcn.00441340
test al, al
je 0x466729
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x64]
call fcn.00441a60
lea ecx, [ebp - 0x70]
call fcn.00441370
test eax, eax
je 0x466767
push 0
lea ecx, [ebp - 0x70]
call fcn.004431e0
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x64]
call fcn.00441c60
mov ecx, eax
call fcn.00441340
test al, al
je 0x466767
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x64]
call fcn.00441a60
push dword [ebp - 0x64]
mov ecx, edi
call fcn.00477e10
test dword [edi + 0x400], 0x800
je 0x466896
cmp dword [edi + 0x394], 0
jne 0x4668ed
push 0xffffffffffffffec
push dword [edi + 0x384]
call dword [sym.imp.USER32.dll_GetWindowLongW]
or eax, 0x80000
push eax
push 0xffffffffffffffec
push dword [edi + 0x384]
mov edi, dword [sym.imp.USER32.dll_SetWindowLongW]
call edi
push 0x20
call fcn.005523ef
mov esi, eax
add esp, 4
mov dword [ebp - 0x5c], esi
push 0
mov ecx, esi
mov byte [ebp - 4], 0xf
call fcn.00463920
mov eax, dword [ebp - 0x54]
mov dword [esi], vtable.SOUI::SDummyWnd.0
mov dword [esi + 0x18], 0
push 2
lea ecx, [eax - 8]
mov byte [ebp - 4], 0xe
mov dword [esi + 0x1c], ecx
mov dword [eax + 0x394], esi
mov esi, eax
push dword [esi + 0x384]
call dword [sym.imp.USER32.dll_MonitorFromWindow]
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0x28
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
push ecx
push eax
movups xmmword [ebp - 0x34], xmm0
movups xmmword [ebp - 0x24], xmm0
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
mov ecx, dword [esi + 0x394]
push 0
push dword [esi + 0x384]
push 1
push 1
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push 0x8000080
push SysReAllocString
push dword [ebp - 0x74]
call fcn.00463d20
mov eax, dword [esi + 0x394]
push 0xffffffffffffffec
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [esi + 0x394]
or eax, 0x80000
push eax
push 0xffffffffffffffec
push dword [ecx + 0xc]
call edi
mov edi, esi
push 2
push 0
push 0
mov eax, dword [edi + 0x394]
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
mov ecx, dword [edi + 0x394]
push 4
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x4668ed
and esi, 0x80000
jne 0x4668a9
mov ecx, edi
call fcn.00476ba0
cmp al, 0xff
je 0x4668ed
mov eax, dword [edi + 0x394]
test eax, eax
je 0x4668bc
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_DestroyWindow]
test esi, esi
jne 0x4668d2
push esi
push 0x80000
push esi
lea ecx, [edi + 0x378]
call fcn.00463f50
push 2
mov ecx, edi
call fcn.00476ba0
movzx eax, al
push eax
push 0
push dword [edi + 0x384]
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
mov eax, dword [edi - 8]
lea ecx, [edi - 8]
call dword [eax + 0x68]
mov eax, dword [edi + 0x498]
mov ecx, edi
mov esi, dword [edi + 0x49c]
mov dword [ebp - 0x4c], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x38]
call eax
cmp dword [ebp - 0x4c], 0
mov dword [ebp - 0x54], eax
jne 0x46694f
mov edx, dword [eax]
mov ecx, eax
push 0
mov edx, dword [edx + 0x1c]
call edx
test al, al
je 0x46694c
mov eax, dword [edi - 8]
lea ecx, [edi - 8]
mov eax, dword [eax + 0x70]
call eax
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x60]
push eax
push 0
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov ecx, eax
call fcn.004740c0
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x54]
test esi, esi
jne 0x466987
mov edx, dword [eax]
mov ecx, eax
push 1
mov edx, dword [edx + 0x1c]
call edx
test al, al
je 0x466987
mov eax, dword [edi - 8]
lea ecx, [edi - 8]
mov eax, dword [eax + 0x70]
call eax
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x60]
push eax
push 1
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov ecx, eax
call fcn.004740c0
mov esi, eax
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
jle 0x466994
test esi, esi
jg 0x466a03
jmp 0x46699e
or ecx, 0xffffffff
mov dword [ebp - 0x4c], ecx
test esi, esi
jg 0x4669a1
or esi, 0xffffffff
mov eax, dword [edi]
push esi
push ecx
lea ecx, [ebp - 0x60]
push ecx
mov ecx, edi
call dword [eax + 0xcc]
mov eax, dword [ebp - 0x4c]
cmp eax, 0xffffffff
mov dword [ebp - 0x28], vtable.SOUI::MemberFunctionSlot_class_SOUI::SHostWnd__class_SOUI::EventArgs_.0
cmove eax, dword [ebp - 0x60]
cmp esi, 0xffffffff
mov dword [ebp - 0x4c], eax
lea eax, [edi - 8]
cmove esi, dword [ebp - 0x5c]
mov dword [ebp - 0x20], 0x465261
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x10
push eax
push 0x1fa9
lea ecx, [edi + 0x30]
call fcn.0048cca0
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x28], vtable.SOUI::ISlotFunctor.0
cmp ecx, dword [edi + 0x498]
jne 0x466a13
cmp esi, dword [edi + 0x49c]
je 0x466a35
inc dword [edi + 0x4a0]
push 0x16
push esi
push ecx
push 0
push 0
push 0
push dword [edi + 0x384]
call dword [sym.imp.USER32.dll_SetWindowPos]
dec dword [edi + 0x4a0]
lea eax, [ebp - 0x48]
xorps xmm0, xmm0
push eax
push dword [edi + 0x384]
movups xmmword [ebp - 0x48], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [edi]
lea ecx, [ebp - 0x48]
push ecx
mov ecx, edi
call dword [eax + 0xc4]
mov ecx, dword [edi + 0x438]
mov dword [edi + 0x430], 1
mov dword [edi + 0x42c], 1
mov eax, dword [ecx]
call dword [eax + 0x68]
lea esi, [edi - 8]
mov dword [ebp - 0x9c], vtable.SOUI::TObjRefImpl_struct_SOUI::IObjRef_.0
neg esi
mov dword [ebp - 0x98], 1
sbb esi, esi
and esi, edi
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x9c], vtable.SOUI::EventArgs.0
mov dword [ebp - 0x94], vtable.SOUI::EventArgs.1.0
mov byte [ebp - 0x90], 1
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x80], esi
je 0x466ae4
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x20]
call eax
mov dword [ebp - 0x88], eax
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x24]
call eax
mov dword [ebp - 0x84], eax
jmp 0x466af8
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x9c], fcn.0042b4b0
mov dword [ebp - 0x94], 0x5a31fc
mov eax, dword [edi]
lea ecx, [ebp - 0x9c]
push ecx
mov ecx, edi
mov byte [ebp - 4], 0x13
call dword [eax + 0xa8]
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp + 8]
call fcn.004425d0
lea ecx, [ebp - 0x58]
call fcn.00441370
test eax, eax
je 0x466b85
nop dword [eax]
lea ecx, [ebp - 0x58]
call fcn.00442830
cmp eax, 1
je 0x466b5e
mov eax, dword [edi - 8]
lea ecx, [edi - 8]
push dword [ebp - 0x58]
call dword [eax + 0x9c]
jmp 0x466b68
push 0
lea ecx, [ebp - 0x58]
call fcn.00446a10
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x58]
call fcn.004432a0
lea ecx, [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
call fcn.00441370
test eax, eax
jne 0x466b40
mov dword [ebp - 0x94], vtable.SOUI::IObject.0
mov dword [ebp - 0x9c], vtable.SOUI::IObjRef.0
mov ecx, dword [ebp - 0x74]
add ecx, 0xfffffff4
mov dword [ebp - 4], 0x14
cmp ecx, dword [0x5f012c]
je 0x466bc3
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x466bc3
push ecx
call fcn.00408c50
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00551e44
mov esp, ebp
pop ebp
ret 4