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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100fe898
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x1012c620]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
push ecx
lea ecx, [edi + 0x144]
mov dword [edi + 0x11c], eax
call fcn.10037bb0
xor esi, esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x50], esi
mov edx, dword [edi + 0x11c]
push edx
call dword [sym.imp.USER32.dll_GetParent]
mov ebx, eax
mov dword [esp + 0x10], ebx
cmp ebx, dword [edi + 0x118]
je 0x1003ebcd
jmp 0x1003eab2
xor esi, esi
cmp ebx, esi
je 0x1003ebc1
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x10]
cmp eax, edx
jae 0x1003eb43
cmp ecx, eax
ja 0x1003eb43
mov esi, dword [esp + 0x3c]
mov edi, eax
sub edi, ecx
sar edi, 2
cmp edx, esi
jne 0x1003eb28
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x1003ecad
sub esi, ecx
inc eax
sar esi, 2
cmp eax, esi
jbe 0x1003eb28
mov ecx, esi
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x1003eb0e
xor ecx, ecx
jmp 0x1003eb10
add ecx, edx
cmp ecx, eax
jae 0x1003eb16
mov ecx, eax
push ecx
lea esi, [esp + 0x38]
call fcn.10041630
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
push edx
push 4
lea esi, [ecx + edi*4]
call fcn.10037660
add esp, 8
test eax, eax
je 0x1003eb3e
mov ecx, dword [esi]
mov dword [eax], ecx
mov edi, dword [ebp + 8]
jmp 0x1003eba3
mov esi, dword [esp + 0x3c]
cmp edx, esi
jne 0x1003eb92
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x1003ecad
sub esi, ecx
mov ecx, esi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x1003eb92
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x1003eb7c
xor ecx, ecx
jmp 0x1003eb7e
add ecx, edx
cmp ecx, eax
jae 0x1003eb84
mov ecx, eax
push ecx
lea esi, [esp + 0x38]
call fcn.10041630
mov edx, dword [esp + 0x38]
push edx
push 4
call fcn.10037660
add esp, 8
test eax, eax
je 0x1003eba3
mov dword [eax], ebx
add dword [esp + 0x38], 4
push ebx
call dword [sym.imp.USER32.dll_GetParent]
mov ebx, eax
mov dword [esp + 0x10], ebx
cmp ebx, dword [edi + 0x118]
jne 0x1003eab0
cmp ebx, dword [edi + 0x118]
jne 0x1003ecba
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], edx
call fcn.10033970
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x10]
lea edx, [esp + 0x34]
mov dword [esp + 0x10], ecx
push edx
lea ecx, [esp + 0x14]
call fcn.10033970
mov bl, 2
nop
cmp edi, dword [esp + 0x10]
je 0x1003ecb7
mov eax, dword [edi]
push 0x10040960
push 0xfffffffffffffffc
push eax
mov dword [esp + 0x20], eax
call fcn.10034260
mov esi, eax
add esp, 0xc
cmp esi, 0x10040960
je 0x1003eca5
push 0x10134d90
lea ecx, [esp + 0x24]
call fcn.100274a0
mov eax, dword [ebp + 8]
push 1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x58], 1
call fcn.1003b920
mov dword [esp + 0x1c], esi
lea esi, [esp + 0x14]
mov byte [esp + 0x50], bl
call fcn.10040e00
mov ecx, dword [esp + 0x18]
mov esi, eax
mov dword [esp + 0x14], ecx
push esi
lea ecx, [esp + 0x18]
mov dword [esp + 0x1c], 0
call fcn.10037000
lea ecx, [esp + 0x14]
call fcn.1003afd0
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
mov dword [esi + 4], edx
mov byte [esp + 0x50], 1
call fcn.1003afd0
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 0
call fcn.100274d0
add edi, 4
jmp 0x1003ec00
push str.vector_T__too_long
call fcn.10079b33
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x11c]
push 0x10040960
push 0xfffffffffffffffc
push eax
call fcn.10034260
mov esi, eax
add esp, 0xc
cmp esi, 0x10040960
je 0x1003ed58
push 0x10134d90
lea ecx, [esp + 0x24]
call fcn.100274a0
mov edi, dword [ebp + 8]
push 1
mov bl, 3
push edi
lea ecx, [esp + 0x20]
mov byte [esp + 0x58], bl
call fcn.1003b920
mov dword [esp + 0x1c], esi
lea esi, [edi + 0x11c]
mov byte [esp + 0x50], 4
call fcn.10040e00
mov ecx, dword [esp + 0x18]
mov esi, eax
mov dword [esp + 0x14], ecx
push esi
lea ecx, [esp + 0x18]
mov dword [esp + 0x1c], 0
call fcn.10037000
lea ecx, [esp + 0x14]
call fcn.1003afd0
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
mov dword [esi + 4], edx
mov byte [esp + 0x50], bl
call fcn.1003afd0
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 0
call fcn.100274d0
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1003ee34
cmp dword [0x10134ccc], 0
jne 0x1003ee34
push 0
push eax
mov eax, dword [edi + 0x11c]
push 0
push eax
call dword [sym.imp.USER32.dll_FindWindowExW]
push 0x10040a90
mov esi, eax
push 0xffffffffffffffe8
push esi
mov dword [esp + 0x20], esi
call dword [sym.imp.USER32.dll_SetClassLongW]
push 0x10040960
push 0xfffffffffffffffc
push esi
mov dword [0x10134ccc], eax
call fcn.10034260
mov esi, eax
add esp, 0xc
cmp esi, 0x10040960
je 0x1003ee34
push 0x10134d90
lea ecx, [esp + 0x24]
call fcn.100274a0
mov ecx, dword [ebp + 8]
push 1
push ecx
mov bl, 5
lea ecx, [esp + 0x20]
mov byte [esp + 0x58], bl
call fcn.1003b920
mov dword [esp + 0x1c], esi
lea esi, [esp + 0x14]
mov byte [esp + 0x50], 6
call fcn.10040e00
mov edx, dword [esp + 0x18]
mov esi, eax
push esi
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], 0
call fcn.10037000
lea ecx, [esp + 0x14]
call fcn.1003afd0
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
mov dword [esi + 4], eax
mov byte [esp + 0x50], bl
call fcn.1003afd0
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 0
call fcn.100274d0
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x78]
push ecx
lea ecx, [esp + 0x30]
call fcn.100274a0
lea esi, [edi + 0x88]
mov ecx, esi
mov byte [esp + 0x50], 7
call fcn.10028350
test al, al
je 0x1003ee6b
lea ecx, [esp + 0x20]
call fcn.10034510
push eax
mov byte [esp + 0x54], 8
call fcn.100349e0
mov ecx, esi
call fcn.1005ea70
mov edx, dword [eax + 4]
add esi, 8
push esi
call edx
add esp, 4
lea ecx, [esp + 0x2c]
mov byte [esp + 0x50], 0
call fcn.100274d0
cmp dword [esp + 0x34], 0
je 0x1003eea9
lea ecx, [esp + 0x34]
call fcn.10055950
mov eax, dword [esp + 0x34]
push eax
call fcn.1001c130
add esp, 4
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc