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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
mov ebx, dword [ebp + 8]
mov eax, ecx
mov dword [esp + 8], eax
push esi
push edi
mov edi, dword [ebp + 0xc]
test ebx, ebx
jne 0x1004fb13
call fcn.100531d0
mov ebx, eax
test ebx, ebx
jne 0x1004fb13
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
and dword [ebx + 0x48], 0xffffffef
lea ecx, [edi - 0x68]
mov esi, dword [ebp + 0x10]
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], esi
mov eax, dword [edi]
mov dword [esp + 0x14], ecx
mov eax, dword [eax + 0x94]
cmp eax, 0x10040c50
jne 0x100500ae
push 0
push esi
lea eax, [esp + 0x38]
push eax
call fcn.1003e5f0
lea eax, [esp + 0x30]
mov cl, byte [eax + 4]
mov byte [ebx + 0x14], cl
mov eax, dword [eax]
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x10], eax
and dword [ebx + 0x48], 0xfffffff7
push ebx
call fcn.10050580
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], 0x20000
jmp 0x1004fb75
mov esi, dword [ebp + 0x10]
push eax
push ecx
mov ecx, dword [esp + 0x18]
push edi
push ebx
call fcn.100501b0
test eax, eax
je 0x100500a3
mov eax, dword [ebx + 0x78]
mov dword [esp + 0x18], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x50]
cmp eax, 0x100408e0
jne 0x100500c3
test byte [edi - 0x38], 1
lea eax, [edi - 0x68]
je 0x1004fbbd
nop word [eax + eax]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x1004fbbd
test byte [eax + 0x30], 1
jne 0x1004fbb0
mov esi, dword [eax + 0x1c]
mov edx, dword [ebp + 0x10]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
mov dword [esp + 0x24], eax
test edx, edx
je 0x1004fbf2
mov ecx, dword [esi]
test dword [eax + 0x20], 0x40000
jne 0x1004fbeb
nop
add eax, ecx
test dword [eax + 0x20], 0x40000
je 0x1004fbe0
add eax, ecx
sub edx, 1
jne 0x1004fbd6
sub eax, dword [esp + 0x24]
cdq
idiv dword [esi]
mov ecx, dword [esp + 0x18]
lea esi, [eax + ecx]
mov eax, dword [edi]
mov dword [esp + 0x24], esi
mov eax, dword [eax + 0x4c]
cmp eax, 0x10040890
jne 0x100500cc
mov ecx, dword [esp + 0x14]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push 0xffffffffffffffff
call fcn.10078280
test eax, eax
je 0x1004fc49
mov ecx, dword [esp + 0x14]
push 0
push 0
push 0x20
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push 0xffffffffffffffff
call fcn.100784b0
mov eax, 1
test eax, eax
je 0x100500a3
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
cmp eax, 0x10040720
jne 0x100500dd
mov ecx, dword [esp + 0x14]
push 0
push dword [ebp + 0x10]
call fcn.1003e260
mov esi, eax
mov dword [esp + 0x1c], 1
mov eax, dword [ebx + 0x74]
xor edx, edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x18], edx
jbe 0x1004fb72
mov edi, dword [esp + 0x28]
nop dword [eax]
nop dword [eax + eax]
mov dword [esi + 0x20], 0
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x2c], eax
lea eax, [edx + 1]
mov dword [esi], ecx
xor ecx, ecx
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov eax, 0x40000
cmove ecx, eax
xor eax, eax
test edx, edx
cmove eax, dword [esp + 0x30]
or ecx, eax
mov dword [esi + 0x20], ecx
mov eax, dword [edi]
mov dword [esi + 0x18], eax
mov eax, dword [edi + 4]
sub eax, dword [edi]
mov dword [esi + 0x1c], eax
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 0x18]
jae 0x1004fd03
mov ecx, dword [esp + 0x10]
xor eax, eax
test edx, edx
sete al
push eax
push esi
push ebx
call fcn.10052530
mov ecx, dword [esi + 0x20]
jmp 0x1004fd0c
or ecx, 0x10000
mov dword [esi + 0x20], ecx
mov edx, dword [esp + 0x28]
and ecx, 0x10000
neg ecx
sbb ecx, ecx
add edi, 8
and ecx, dword [esp + 0x1c]
mov eax, ecx
mov dword [esp + 0x1c], eax
cmp edx, dword [esp + 0x18]
jb 0x1004fca0
mov edi, dword [ebp + 0xc]
test eax, eax
mov eax, dword [esp + 0x20]
jne 0x1004fb72
push dword [ebx + 0x14]
mov eax, dword [edi]
push dword [ebx + 0x10]
push edi
call dword [eax + 0x64]
test eax, eax
jne 0x1004fd67
push dword [ebx + 0x14]
mov eax, dword [edi]
push dword [ebx + 0x10]
push edi
call dword [eax + 0xb4]
mov esi, dword [ebp + 0x10]
lea ecx, [esi + 2]
jmp 0x1004fd85
sub esp, 8
mov eax, esp
push edi
mov dword [eax], 0xffffffff
mov byte [eax + 4], 0
mov eax, dword [edi]
call dword [eax + 0xb4]
mov esi, dword [ebp + 0x10]
lea ecx, [esi + 1]
mov eax, dword [edi]
mov eax, dword [eax + 0xc0]
cmp eax, 0x10040e50
jne 0x100500e8
mov eax, dword [edi - 0x4c]
mov word [eax + 0x18], cx
mov eax, dword [edi]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 0x48]
cmp eax, 0x10040870
jne 0x100500f1
mov eax, dword [edi - 0x4c]
mov word [eax + 0x10], cx
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
cmp eax, 0x10040720
jne 0x100500fa
push 0
lea ecx, [edi - 0x68]
push esi
call fcn.1003e260
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.10041b00
mov ecx, dword [edi]
mov esi, eax
mov ecx, dword [ecx + 0x3c]
cmp ecx, 0x10040810
jne 0x10050103
mov edx, dword [edi - 0x68]
lea ecx, [edi - 0x68]
call dword [edx + 0x90]
mov ecx, eax
mov eax, dword [esi]
push ecx
push esi
call dword [eax]
mov esi, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], esi
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x20]
cmp ecx, 0x10042010
jne 0x1005011a
lea ecx, [eax - 0x10]
mov eax, dword [ecx]
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0x4c]
cmp eax, sym.HncOfficeFramework.dll_public_virtual:_int___thiscall_CHDCWindowCaption::IsGestureItemVisible_void_
jne 0x1005010b
jmp 0x1004fe44
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
call dword [eax + 0x50]
mov ecx, dword [esp + 0x10]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x30]
push eax
push dword [ebp + 0x10]
push edi
call fcn.10052db0
mov ecx, dword [esi]
mov dword [esp + 0x30], eax
mov ecx, dword [ecx + 0x1c]
cmp ecx, 0x10040190
jne 0x10050122
mov eax, dword [esi + 0x1c]
mov esi, dword [ebx + 0x88]
sub esi, dword [ebx + 0x84]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x1004fff6
mov ecx, dword [ebx + 0x70]
add ecx, eax
mov dword [edx + 8], esi
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x10]
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x20]
mov dword [edx + 0x14], eax
mov dword [edx + 4], ecx
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
cmp eax, 0x100420b0
jne 0x10050132
mov eax, dword [ecx - 0x10]
add ecx, 0xfffffff0
cmp eax, 0x101df448
jne 0x1005012a
mov eax, dword [ecx + 0x14]
mov ecx, dword [eax + 4]
jmp 0x1004fee3
mov ecx, eax
mov eax, dword [ecx]
push ecx
call dword [eax + 0x74]
test al, 2
je 0x1004fffa
cmp byte [ebx + 6], 0
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x30]
je 0x1004ff33
cmp ecx, 0x100420b0
jne 0x1005014a
lea ecx, [eax - 0x10]
mov eax, dword [ecx]
cmp eax, 0x101df448
jne 0x1005013a
mov eax, dword [ecx + 0x14]
mov ecx, dword [eax + 4]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x50]
jmp 0x1004ff5f
mov ecx, eax
push ecx
mov eax, dword [ecx]
call dword [eax + 0x50]
jmp 0x1004ff5f
cmp ecx, 0x100420b0
jne 0x1005015a
lea ecx, [eax - 0x10]
mov eax, dword [ecx]
cmp eax, 0x101df448
jne 0x10050152
mov eax, dword [ecx + 0x14]
mov ecx, dword [eax + 4]
jmp 0x1004ff59
mov ecx, eax
mov eax, dword [ecx]
push ecx
call dword [eax + 0x48]
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
cmp eax, 0x100420b0
jne 0x1005016a
mov eax, dword [ecx - 0x10]
add ecx, 0xfffffff0
cmp eax, 0x101df448
jne 0x10050162
mov eax, dword [ecx + 0x14]
mov ecx, dword [eax + 4]
jmp 0x1004ff91
mov ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
cmp eax, 0x100400a0
jne 0x10050172
mov eax, dword [ecx + 0x34]
mov esi, dword [ebx + 0x40]
add esi, dword [ebx + 0x38]
mov ecx, dword [esp + 0x24]
add esi, dword [ebx + 0x34]
add esi, eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
cmp eax, 0x10040170
jne 0x1005017a
mov eax, dword [ecx + 0x14]
test eax, eax
jns 0x1004ffd1
xor ecx, ecx
jmp 0x1004ffe4
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
cmp eax, 0x10040170
jne 0x10050186
mov ecx, dword [ecx + 0x14]
mov eax, dword [esp + 0x20]
sub eax, ecx
mov ecx, dword [esp + 0x18]
cmp esi, eax
cmovge eax, esi
mov dword [ecx + 0x1c], eax
mov esi, dword [esp + 0x10]
push ecx
push ebx
mov ecx, esi
call fcn.10052980
mov eax, dword [edi]
mov eax, dword [eax + 0xd4]
cmp eax, 0x10040f50
jne 0x10050199
mov eax, dword [edi - 0x68]
lea ecx, [edi - 0x68]
mov eax, dword [eax + 0x60]
cmp eax, 0x1003da00
jne 0x10050190
test byte [ecx + 0x40], 0xc0
jne 0x10050059
mov eax, dword [ecx + 0x1c]
cmp word [eax + 0x2c], 1
jne 0x10050059
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x24]
cmp dword [eax + ecx*4 + 8], 0
jne 0x10050059
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
test eax, eax
je 0x10050095
mov eax, dword [edi]
mov eax, dword [eax + 0xe8]
cmp eax, 0x10041060
jne 0x100501a1
sub esp, 8
lea ecx, [edi - 0x68]
mov eax, esp
push 0
push 0
mov dword [eax], 0xffffffff
mov byte [eax + 4], 0
call fcn.1003dc10
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push esi
lea ecx, [esp + 0x34]
push ecx
push edi
call eax
lea ecx, [edi - 0x68]
mov dword [esp + 0x14], ecx
jmp 0x1004fb4b
push esi
push edi
call eax
jmp 0x1004fbf9
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push 0xffffffffffffffff
push edi
call eax
jmp 0x1004fc49
push dword [ebp + 0x10]
push edi
call eax
jmp 0x1004fc6f
push ecx
push edi
call eax
jmp 0x1004fd9f
push ecx
push edi
call eax
jmp 0x1004fdba
push esi
push edi
call eax
jmp 0x1004fdd5
push edi
call ecx
jmp 0x1004fe01
call eax
test eax, eax
jne 0x1004fe40
jmp 0x1004fe49
push eax
call ecx
jmp 0x1004fe49
push esi
call ecx
jmp 0x1004fe79
call dword [eax + 0x6c]
jmp 0x1004fee1
push ecx
call eax
jmp 0x1004fee1
call dword [eax + 0x6c]
mov ecx, eax
push ecx
mov eax, dword [ecx]
call dword [eax + 0x50]
jmp 0x1004ff5f
push eax
call ecx
jmp 0x1004ff29
call dword [eax + 0x6c]
jmp 0x1004ff57
push eax
call ecx
jmp 0x1004ff57
call dword [eax + 0x6c]
jmp 0x1004ff8f
push ecx
call eax
jmp 0x1004ff8f
push ecx
call eax
jmp 0x1004ffa7
push ecx
call eax
mov ecx, dword [esp + 0x24]
jmp 0x1004ffc9
push ecx
call eax
mov ecx, eax
jmp 0x1004ffe4
push 0
call eax
jmp 0x10050055
push edi
call eax
jmp 0x10050055
push 0xffffffffffffffff
push 0
push edi
call eax
jmp 0x10050095