Function at 0x5adc3a7d
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xb4
push ebx
push esi
push edi
mov ebx, ecx
xor eax, eax
xor edx, edx
cmp dword [ebx + 0xa4], edx
lea esi, [ebx + 0x4c]
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
setne al
test byte [ebp + 0x14], 2
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 4], eax
lea eax, [ebp - 0xb4]
movsd dword es:[edi], dword [esi]
push eax
jne 0x5ade0d19
call fcn.5adc3a53
test eax, eax
je 0x5adc3b04
mov edi, dword [ebp + 0x10]
xor edx, edx
cmp edi, edx
je 0x5adc3ad5
push 0x23
pop ecx
lea esi, [ebp - 0xb4]
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x24]
mov ecx, dword [esi]
cmp ecx, edx
mov dword [ebp + 0x10], esi
je 0x5adc436d
cmp dword [ebp + 8], edx
jne 0x5adc436d
test byte [ebp + 0x14], 1
jne 0x5adc51b0
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x5adc3b01
mov dword [eax], esi
xor edx, edx
inc edx
pop edi
pop esi
mov eax, edx
pop ebx
leave
ret 0x10
or dword [ebp + 0x14], 1
jmp 0x5adc3aee
mov eax, dword [ebx + 0x20]
jmp 0x5adc51d2
push 1
push 1
mov ecx, ebx
call fcn.5adc77c4
jmp 0x5adc5d68
cmp dword [ebx + 0x408], 0
je 0x5adc51eb
push eax
call fcn.5adc4f81
lea ecx, [ebp - 0xc]
push ecx
push eax
push dword [ebx + 0xc]
mov dword [ebp - 0x10], eax
push dword [ebx + 0x14]
call fcn.5adc5024
jmp 0x5adc51eb
xor eax, eax
cmp ecx, edx
lea edi, [ebp - 8]
mov dword [ebp - 0xc], edx
stosd dword es:[edi], eax
mov dword [ebp - 0x10], edx
mov dword [ebp + 0x14], edx
je 0x5adc4376
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
call fcn.5adc355d
mov ecx, eax
and cl, 6
neg cl
sbb ecx, ecx
shr eax, 2
neg ecx
and eax, 1
test ecx, ecx
jne 0x5adc4ff4
push 0xffffffffffffffec
push dword [ebx + 0xc]
call dword [sym.imp._CUSER.dll_GetWindowLongW]
test al, 0x40
jne 0x5addd38d
lea eax, [ebx + 0x448]
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5adc3af8
cmp dword [eax], 0
je 0x5adc3af8
push eax
call dword [sym.imp._CKERNEL.dll_EnterCriticalSection]
mov eax, dword [ebx + 0x3d8]
push esi
push dword [ebp + 0x14]
mov dword [ebp - 0x18], eax
xor eax, eax
mov ecx, 0xee
mov edi, esi
rep stosd dword es:[edi], eax
push dword [ebx + 0xc]
call fcn.5adc5121
test eax, eax
je 0x5adc52f9
push esi
push dword [ebx + 0x44]
push dword [ebx + 0xc]
call fcn.5adc50e8
cmp dword [ebp + 8], 0
jne 0x5ade0d26
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0x78], eax
mov eax, dword [ebp - 8]
mov dword [ebx + 0x7c], eax
mov eax, dword [ebp - 0x10]
push esi
mov dword [ebx + 0x70], eax
lea eax, [ebp - 0xb4]
push eax
push dword [ebx + 0x14]
push dword [ebx + 0xc]
call fcn.5adc530c
test eax, eax
je 0x5adc52f9
xor ecx, ecx
cmp dword [ebx + 0x28], ecx
jne 0x5adc5d37
cmp dword [ebp + 8], 0
lea esi, [ebx + 0xb8]
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jne 0x5ade0d48
lea eax, [ebx + 0x248]
mov dword [ebp + 0x14], eax
mov dword [ebp + 8], 0x19
mov ecx, dword [ebp - 0x24]
lea esi, [eax - 0x190]
mov edi, eax
movsd dword es:[edi], dword [esi]
neg ecx
movsd dword es:[edi], dword [esi]
push ecx
mov ecx, dword [ebp - 0x28]
movsd dword es:[edi], dword [esi]
neg ecx
push ecx
push eax
movsd dword es:[edi], dword [esi]
call dword [sym.imp._CUSER.dll_OffsetRect]
add dword [ebp + 0x14], 0x10
dec dword [ebp + 8]
jne 0x5adde9ff
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0x10]
mov dword [eax], 1
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0x3d8], eax
push dword [ebp - 0x14]
call dword [sym.imp._CKERNEL.dll_LeaveCriticalSection]
jmp 0x5adc3af8
mov eax, dword [ebx + 0xa4]
cmp eax, ecx
jne 0x5adc5d4c
cmp dword [ebp - 4], ecx
jne 0x5adc437e
cmp eax, ecx
jg 0x5adde9f1
push 4
pop ecx
lea edi, [ebx + 0x4c]
lea esi, [ebp - 0x28]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
mov esi, dword [ebp + 0x10]
jne 0x5adc437e
push 0
push dword [ebx + 0x40]
mov ecx, ebx
push dword [ebx + 0x3c]
call fcn.5adc5888
push dword [ebx + 0xc]
call fcn.5adc3b12
push eax
push dword [ebx + 0x3dc]
lea eax, [ebp - 0xb4]
push eax
push esi
call fcn.5adc590d
push esi
lea eax, [ebp - 0xb4]
push eax
push dword [ebx + 0x14]
call fcn.5adc5684
push esi
call fcn.5adc561b
cmp dword [ebx + 0x28], 0
je 0x5adc5291
lea eax, [ebp - 0xc]
push eax
push esi
mov ecx, ebx
call fcn.5adc5dc9
jmp 0x5adc5291
push 0
push dword [ebx + 0xc]
call dword [sym.imp._CUSER.dll_GetParent]
push eax
call fcn.5addd317
mov dword [ebp + 0x14], eax
jmp 0x5adc51fe
cmp dword [ebp - 4], ecx
jne 0x5adc5d52
jmp 0x5adc437e
mov eax, dword [ebp + 0x14]
jmp 0x5adc52b8
push dword [ebx + 0xc]
call fcn.5adc961d
jmp 0x5adc3ac1
mov esi, dword [ebp + 8]
lea edi, [ebx + 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebx + 0xc8]
push eax
movsd dword es:[edi], dword [esi]
call dword [sym.imp._CUSER.dll_SetRectEmpty]
mov esi, dword [ebp + 0x10]
jmp 0x5adc525d
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x5ade0d5a
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [sym.imp._CUSER.dll_GetWindowRect]
lea esi, [ebx + 0xd8]
lea edi, [ebx + 0xc8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x5adc52a8