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

Disassembly:
sub esp, 0x5c
push ebx
mov ebx, ecx
lea ecx, [esp + 0x40]
push ebp
push esi
push edi
lea eax, [ebx + 0x30]
mov dword [esp + 0x10], ebx
push eax
call fcn.03ed0080
mov ebp, dword [ebx + 0x2c]
mov edx, dword [esp + 0x70]
cmp edx, ebp
jae 0x3ecf0f0
mov eax, dword [esp + 0x78]
test eax, eax
je 0x3ecf0f0
add eax, edx
movzx esi, dx
cmp eax, ebp
mov edi, edx
push 0
cmovb ebp, eax
sub esp, 8
mov eax, esp
shr edi, 0x10
mov ebx, ebp
mov dword [esp + 0x84], ebp
shr ebx, 0x10
mov dword [eax], 0
mov dword [eax + 4], 0
cmp edi, ebx
jne 0x3ecee7c
lea ecx, [esp + 0x38]
sub ebp, edx
call fcn.03ed02b0
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x30]
push eax
push edi
call fcn.03ece0a0
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x1c]
push eax
call fcn.03ece4a0
push ebp
mov eax, dword [eax]
add eax, esi
push eax
push dword [esp + 0x7c]
call fcn.03f03930
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov eax, dword [esp + 0x28]
test ecx, ecx
jne 0x3ecee57
test eax, eax
je 0x3ecee5e
push eax
push ecx
call fcn.03efeee0
lea ecx, [esp + 0x2c]
call fcn.03ecd870
lea ecx, [esp + 0x4c]
call fcn.03ed0130
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret 0xc
mov ebp, 0x10000
lea ecx, [esp + 0x28]
sub ebp, esi
mov dword [esp + 0x7c], ebp
call fcn.03ed02b0
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x20]
push eax
push edi
call fcn.03ece0a0
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x2c]
push eax
call fcn.03ece4a0
push ebp
mov eax, dword [eax]
add eax, esi
mov esi, dword [esp + 0x78]
push eax
push esi
call fcn.03f03930
mov ecx, dword [esp + 0x40]
add esp, 0xc
mov eax, dword [esp + 0x38]
test ecx, ecx
jne 0x3eceed5
test eax, eax
je 0x3eceedc
push eax
push ecx
call fcn.03efeee0
add ebp, esi
cmp dword [esp + 0x14], 0
jne 0x3eceeec
cmp dword [esp + 0x18], 0
je 0x3ecef0d
mov esi, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x40]
push eax
lea ecx, [esi + 0x10]
call fcn.03ece4f0
lea ecx, [esp + 0x3c]
call fcn.03ecd870
jmp 0x3ecef11
mov esi, dword [esp + 0x10]
inc edi
cmp edi, ebx
jae 0x3eceff6
sub ebx, edi
lea edx, [esi + 0x10]
mov eax, ebx
mov dword [esp + 0x74], edx
shl eax, 0x10
add dword [esp + 0x70], eax
lea esp, [esp]
lea eax, [esp + 0x14]
mov ecx, edx
push eax
lea eax, [esp + 0x30]
push eax
call fcn.03ece4f0
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.03ecf1f0
push esi
lea ecx, [esp + 0x20]
call fcn.03eb7730
cmp dword [esp + 0x24], 0
mov esi, dword [esp + 0x1c]
jne 0x3ecef68
cmp dword [esp + 0x28], 0
je 0x3ecef6f
push esi
call dword [0x100df294]
lea ecx, [esp + 0x2c]
call fcn.03ecf1f0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
test ecx, ecx
jne 0x3ecef88
test eax, eax
je 0x3ecef8f
push eax
push ecx
call fcn.03efeee0
mov edi, dword [esi + 0x10]
xorps xmm0, xmm0
mov esi, dword [esi + 0x14]
movlpd qword [esp + 0x34], xmm0
mov dword [esp + 0x2c], 0
test edi, edi
jne 0x3ecefc0
test esi, esi
jne 0x3ecefc0
movlpd qword [esp + 0x44], xmm0
xor eax, eax
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
jmp 0x3ecefc7
push esi
push edi
call fcn.03efeec0
push 0x10000
push eax
push ebp
call fcn.03f03930
add esp, 0xc
test edi, edi
jne 0x3ecefde
test esi, esi
je 0x3ecefe5
push esi
push edi
call fcn.03efeee0
mov edx, dword [esp + 0x74]
add ebp, 0x10000
dec ebx
jne 0x3ecef30
mov eax, dword [esp + 0x78]
movzx ebx, ax
test ebx, ebx
je 0x3ecf0b5
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x30]
add ecx, 0x10
push eax
call fcn.03ece4f0
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.03ecf1f0
push esi
lea ecx, [esp + 0x20]
call fcn.03eb7730
cmp dword [esp + 0x24], 0
mov esi, dword [esp + 0x1c]
jne 0x3ecf042
cmp dword [esp + 0x28], 0
je 0x3ecf049
push esi
call dword [0x100df294]
lea ecx, [esp + 0x2c]
call fcn.03ecf1f0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
test ecx, ecx
jne 0x3ecf062
test eax, eax
je 0x3ecf069
push eax
push ecx
call fcn.03efeee0
mov edi, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
test edi, edi
jne 0x3ecf08c
test esi, esi
jne 0x3ecf08c
xorps xmm0, xmm0
xor eax, eax
movlpd qword [esp + 0x44], xmm0
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
jmp 0x3ecf093
push esi
push edi
call fcn.03efeec0
push ebx
push eax
push ebp
call fcn.03f03930
add esp, 0xc
test edi, edi
jne 0x3ecf0a6
test esi, esi
je 0x3ecf0ad
push esi
push edi
call fcn.03efeee0
mov eax, dword [esp + 0x70]
add eax, ebx
jmp 0x3ecf0b9
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x1c]
mov ebp, eax
call fcn.03ecf1f0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
test ecx, ecx
jne 0x3ecf0d4
test eax, eax
je 0x3ecf0f2
push eax
push ecx
call fcn.03efeee0
lea ecx, [esp + 0x4c]
call fcn.03ed0130
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret 0xc
xor ebp, ebp
lea ecx, [esp + 0x4c]
call fcn.03ed0130
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x5c
ret 0xc