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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100fe928
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x1012c610]
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.10037df0
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 0x1003f11d
jmp 0x1003f002
xor esi, esi
cmp ebx, esi
je 0x1003f111
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x10]
cmp eax, edx
jae 0x1003f093
cmp ecx, eax
ja 0x1003f093
mov esi, dword [esp + 0x3c]
mov edi, eax
sub edi, ecx
sar edi, 2
cmp edx, esi
jne 0x1003f078
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x1003f1fd
sub esi, ecx
inc eax
sar esi, 2
cmp eax, esi
jbe 0x1003f078
mov ecx, esi
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x1003f05e
xor ecx, ecx
jmp 0x1003f060
add ecx, edx
cmp ecx, eax
jae 0x1003f066
mov ecx, eax
push ecx
lea esi, [esp + 0x38]
call fcn.10041ac0
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
push edx
push 4
lea esi, [ecx + edi*4]
call fcn.10021540
add esp, 8
test eax, eax
je 0x1003f08e
mov ecx, dword [esi]
mov dword [eax], ecx
mov edi, dword [ebp + 8]
jmp 0x1003f0f3
mov esi, dword [esp + 0x3c]
cmp edx, esi
jne 0x1003f0e2
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x1003f1fd
sub esi, ecx
mov ecx, esi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x1003f0e2
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x1003f0cc
xor ecx, ecx
jmp 0x1003f0ce
add ecx, edx
cmp ecx, eax
jae 0x1003f0d4
mov ecx, eax
push ecx
lea esi, [esp + 0x38]
call fcn.10041ac0
mov edx, dword [esp + 0x38]
push edx
push 4
call fcn.10021540
add esp, 8
test eax, eax
je 0x1003f0f3
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 0x1003f000
cmp ebx, dword [edi + 0x118]
jne 0x1003f20a
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], edx
call fcn.10073b80
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.10073b80
mov bl, 2
nop
cmp edi, dword [esp + 0x10]
je 0x1003f207
mov eax, dword [edi]
push 0x10040eb0
push 0xfffffffffffffffc
push eax
mov dword [esp + 0x20], eax
call fcn.100344d0
mov esi, eax
add esp, 0xc
cmp esi, 0x10040eb0
je 0x1003f1f5
push 0x10134d70
lea ecx, [esp + 0x24]
call fcn.10027360
mov eax, dword [ebp + 8]
push 1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x58], 1
call fcn.1003bbb0
mov dword [esp + 0x1c], esi
lea esi, [esp + 0x14]
mov byte [esp + 0x50], bl
call fcn.100412a0
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.1003bbf0
lea ecx, [esp + 0x14]
call fcn.1003b240
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
mov dword [esi + 4], edx
mov byte [esp + 0x50], 1
call fcn.1003b240
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 0
call fcn.10027390
add edi, 4
jmp 0x1003f150
push str.vector_T__too_long
call fcn.10079b77
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x11c]
push 0x10040eb0
push 0xfffffffffffffffc
push eax
call fcn.100344d0
mov esi, eax
add esp, 0xc
cmp esi, 0x10040eb0
je 0x1003f2a8
push 0x10134d70
lea ecx, [esp + 0x24]
call fcn.10027360
mov edi, dword [ebp + 8]
push 1
mov bl, 3
push edi
lea ecx, [esp + 0x20]
mov byte [esp + 0x58], bl
call fcn.1003bbb0
mov dword [esp + 0x1c], esi
lea esi, [edi + 0x11c]
mov byte [esp + 0x50], 4
call fcn.100412a0
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.1003bbf0
lea ecx, [esp + 0x14]
call fcn.1003b240
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
mov dword [esi + 4], edx
mov byte [esp + 0x50], bl
call fcn.1003b240
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 0
call fcn.10027390
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1003f384
cmp dword [0x10134cac], 0
jne 0x1003f384
push 0
push eax
mov eax, dword [edi + 0x11c]
push 0
push eax
call dword [sym.imp.USER32.dll_FindWindowExW]
push 0x10040fe0
mov esi, eax
push 0xffffffffffffffe8
push esi
mov dword [esp + 0x20], esi
call dword [sym.imp.USER32.dll_SetClassLongW]
push 0x10040eb0
push 0xfffffffffffffffc
push esi
mov dword [0x10134cac], eax
call fcn.100344d0
mov esi, eax
add esp, 0xc
cmp esi, 0x10040eb0
je 0x1003f384
push 0x10134d70
lea ecx, [esp + 0x24]
call fcn.10027360
mov ecx, dword [ebp + 8]
push 1
push ecx
mov bl, 5
lea ecx, [esp + 0x20]
mov byte [esp + 0x58], bl
call fcn.1003bbb0
mov dword [esp + 0x1c], esi
lea esi, [esp + 0x14]
mov byte [esp + 0x50], 6
call fcn.100412a0
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.1003bbf0
lea ecx, [esp + 0x14]
call fcn.1003b240
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
mov dword [esi + 4], eax
mov byte [esp + 0x50], bl
call fcn.1003b240
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 0
call fcn.10027390
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x78]
push ecx
lea ecx, [esp + 0x30]
call fcn.10027360
lea esi, [edi + 0x88]
mov ecx, esi
mov byte [esp + 0x50], 7
call fcn.10025b40
test al, al
je 0x1003f3bb
lea ecx, [esp + 0x20]
call fcn.10034750
push eax
mov byte [esp + 0x54], 8
call fcn.10034c20
mov ecx, esi
call fcn.10037e90
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.10027390
cmp dword [esp + 0x34], 0
je 0x1003f3f9
lea ecx, [esp + 0x34]
call fcn.10011b70
mov eax, dword [esp + 0x34]
push eax
call fcn.1001bf80
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