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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100fe938
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.10037de0
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 0x1003eddd
jmp 0x1003ecc2
xor esi, esi
cmp ebx, esi
je 0x1003edd1
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x10]
cmp eax, edx
jae 0x1003ed53
cmp ecx, eax
ja 0x1003ed53
mov esi, dword [esp + 0x3c]
mov edi, eax
sub edi, ecx
sar edi, 2
cmp edx, esi
jne 0x1003ed38
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x1003eebd
sub esi, ecx
inc eax
sar esi, 2
cmp eax, esi
jbe 0x1003ed38
mov ecx, esi
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x1003ed1e
xor ecx, ecx
jmp 0x1003ed20
add ecx, edx
cmp ecx, eax
jae 0x1003ed26
mov ecx, eax
push ecx
lea esi, [esp + 0x38]
call fcn.10041850
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
push edx
push 4
lea esi, [ecx + edi*4]
call fcn.10037890
add esp, 8
test eax, eax
je 0x1003ed4e
mov ecx, dword [esi]
mov dword [eax], ecx
mov edi, dword [ebp + 8]
jmp 0x1003edb3
mov esi, dword [esp + 0x3c]
cmp edx, esi
jne 0x1003eda2
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x1003eebd
sub esi, ecx
mov ecx, esi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x1003eda2
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x1003ed8c
xor ecx, ecx
jmp 0x1003ed8e
add ecx, edx
cmp ecx, eax
jae 0x1003ed94
mov ecx, eax
push ecx
lea esi, [esp + 0x38]
call fcn.10041850
mov edx, dword [esp + 0x38]
push edx
push 4
call fcn.10037890
add esp, 8
test eax, eax
je 0x1003edb3
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 0x1003ecc0
cmp ebx, dword [edi + 0x118]
jne 0x1003eeca
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], edx
call fcn.10057440
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.10057440
mov bl, 2
nop
cmp edi, dword [esp + 0x10]
je 0x1003eec7
mov eax, dword [edi]
push 0x10040b90
push 0xfffffffffffffffc
push eax
mov dword [esp + 0x20], eax
call fcn.10034460
mov esi, eax
add esp, 0xc
cmp esi, 0x10040b90
je 0x1003eeb5
push 0x10134d70
lea ecx, [esp + 0x24]
call fcn.100272e0
mov eax, dword [ebp + 8]
push 1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x58], 1
call fcn.1003baf0
mov dword [esp + 0x1c], esi
lea esi, [esp + 0x14]
mov byte [esp + 0x50], bl
call fcn.10041030
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.1003bb30
lea ecx, [esp + 0x14]
call fcn.1003b170
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
mov dword [esi + 4], edx
mov byte [esp + 0x50], 1
call fcn.1003b170
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 0
call fcn.10027310
add edi, 4
jmp 0x1003ee10
push str.vector_T__too_long
call fcn.10079b7e
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x11c]
push 0x10040b90
push 0xfffffffffffffffc
push eax
call fcn.10034460
mov esi, eax
add esp, 0xc
cmp esi, 0x10040b90
je 0x1003ef68
push 0x10134d70
lea ecx, [esp + 0x24]
call fcn.100272e0
mov edi, dword [ebp + 8]
push 1
mov bl, 3
push edi
lea ecx, [esp + 0x20]
mov byte [esp + 0x58], bl
call fcn.1003baf0
mov dword [esp + 0x1c], esi
lea esi, [edi + 0x11c]
mov byte [esp + 0x50], 4
call fcn.10041030
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.1003bb30
lea ecx, [esp + 0x14]
call fcn.1003b170
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
mov dword [esi + 4], edx
mov byte [esp + 0x50], bl
call fcn.1003b170
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 0
call fcn.10027310
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1003f044
cmp dword [0x10134cac], 0
jne 0x1003f044
push 0
push eax
mov eax, dword [edi + 0x11c]
push 0
push eax
call dword [sym.imp.USER32.dll_FindWindowExW]
push 0x10040cc0
mov esi, eax
push 0xffffffffffffffe8
push esi
mov dword [esp + 0x20], esi
call dword [sym.imp.USER32.dll_SetClassLongW]
push 0x10040b90
push 0xfffffffffffffffc
push esi
mov dword [0x10134cac], eax
call fcn.10034460
mov esi, eax
add esp, 0xc
cmp esi, 0x10040b90
je 0x1003f044
push 0x10134d70
lea ecx, [esp + 0x24]
call fcn.100272e0
mov ecx, dword [ebp + 8]
push 1
push ecx
mov bl, 5
lea ecx, [esp + 0x20]
mov byte [esp + 0x58], bl
call fcn.1003baf0
mov dword [esp + 0x1c], esi
lea esi, [esp + 0x14]
mov byte [esp + 0x50], 6
call fcn.10041030
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.1003bb30
lea ecx, [esp + 0x14]
call fcn.1003b170
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
mov dword [esi + 4], eax
mov byte [esp + 0x50], bl
call fcn.1003b170
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 0
call fcn.10027310
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x78]
push ecx
lea ecx, [esp + 0x30]
call fcn.100272e0
lea esi, [edi + 0x88]
mov ecx, esi
mov byte [esp + 0x50], 7
call fcn.10025aa0
test al, al
je 0x1003f07b
lea ecx, [esp + 0x20]
call fcn.100346e0
push eax
mov byte [esp + 0x54], 8
call fcn.10034b90
mov ecx, esi
call fcn.10027c00
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.10027310
cmp dword [esp + 0x34], 0
je 0x1003f0b9
lea ecx, [esp + 0x34]
call fcn.10071640
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