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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
push ebx
push esi
push edi
call 0xec3e9d
pop ecx
lea edx, [ecx + 0x367]
xor eax, eax
push edx
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x20], ecx
mov eax, dword [ecx - 0x54]
mov dword [ebp - 4], eax
cmp dword [ebp + 0x18], 0
je 0xec3ec4
mov edx, dword [eax + 0x10c]
jmp 0xec3eca
mov edx, dword [eax + 0x2ac]
mov dword [ebp - 0x1c], edx
mov edi, dword [ebp + 8]
mov ebx, edi
add edi, dword [edi + 0x3c]
mov eax, dword [edi + 0x78]
add eax, ebx
mov dword [ebp - 8], eax
mov edx, dword [edi + 0x7c]
mov dword [ebp - 0xc], edx
mov edi, eax
cmp dword [ebp + 0x10], 0
jne 0xec3fee
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je 0xec3fc4
mov esi, ebx
add esi, dword [edi + 0x20]
mov dword [ebp - 0x18], esi
mov edx, dword [edi + 0x18]
cmp edx, 0x20
jb 0xec3fc4
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0xec3f17
mov ecx, dword [ecx]
lea eax, [ecx - 1]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov ecx, edx
sub ecx, eax
cmp ecx, 1
jle 0xec3f48
add edx, eax
shr edx, 1
mov cl, byte [ebp + 0x14]
mov eax, dword [esi + edx*4]
cmp byte [ebx + eax], cl
jb 0xec3f43
mov dword [ebp - 0x14], edx
jmp 0xec3f20
mov dword [ebp - 0x10], edx
jmp 0xec3f20
mov eax, dword [ebp - 0x14]
cmp eax, dword [edi + 0x18]
je 0xec417b
mov dl, byte [ebp + 0x14]
lea esi, [esi + eax*4]
mov eax, dword [esi]
cmp byte [ebx + eax], dl
jne 0xec417b
mov eax, dword [esi]
add eax, ebx
mov cl, byte [ebp + 0x14]
cmp byte [eax], cl
jne 0xec417b
push 0
push eax
call dword [ebp - 0x1c]
cmp eax, dword [ebp + 0xc]
je 0xec3f95
mov edx, dword [edi + 0x18]
add esi, 4
lea edx, [ebx + edx*4]
add edx, dword [edi + 0x20]
cmp esi, edx
jae 0xec417b
jmp 0xec3f65
sub esi, dword [edi + 0x20]
sub esi, ebx
shr esi, 2
mov edx, dword [ebp + 0x1c]
test edx, edx
je 0xec3fa6
mov dword [edx], esi
mov eax, dword [edi + 0x24]
add eax, ebx
movzx eax, word [eax + esi*2]
mov ecx, ebx
add ebx, dword [edi + 0x1c]
cmp eax, dword [edi + 0x14]
ja 0xec417b
mov eax, dword [ebx + eax*4]
add eax, ecx
jmp 0xec400a
mov esi, ebx
add esi, dword [edi + 0x20]
mov eax, dword [esi]
add eax, ebx
push 0
push eax
call dword [ebp - 0x1c]
cmp eax, dword [ebp + 0xc]
je 0xec3f95
mov edx, dword [edi + 0x18]
add esi, 4
lea edx, [ebx + edx*4]
add edx, dword [edi + 0x20]
cmp esi, edx
jae 0xec417b
jmp 0xec3fc9
mov ebx, dword [ebp + 8]
mov eax, ebx
add eax, dword [edi + 0x1c]
mov edx, dword [ebp + 0x10]
sub edx, dword [edi + 0x10]
cmp edx, dword [edi + 0x14]
ja 0xec417b
mov eax, dword [eax + edx*4]
add eax, ebx
mov edx, dword [ebp - 8]
cmp eax, edx
jb 0xec4153
add edx, dword [ebp - 0xc]
cmp eax, edx
jae 0xec4153
lea edi, [ebp - 0x120]
mov esi, eax
xor eax, eax
xor ebx, ebx
mov al, byte [esi]
cmp al, 0x2e
jne 0xec403b
mov byte [edi], 0
inc esi
inc edi
mov ebx, edi
jmp 0xec402c
test ebx, ebx
jne 0xec4049
cmp al, 0x41
jb 0xec4049
cmp al, 0x5a
ja 0xec4049
add al, 0x20
mov byte [edi], al
inc esi
inc edi
test al, al
jne 0xec402c
mov edi, dword [ebp - 4]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x2f0]
test eax, eax
jne 0xec4081
push 0
push 0x47
push 0
push 0xb1866570
push dword [edi + 0x360]
call dword [edi + 0xb8]
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x2f0], eax
lea esi, [ebp - 0x120]
push esi
push eax
call dword [edi + 0x1dc]
test eax, eax
jne 0xec40cd
mov eax, dword [ecx + 0x2f4]
test eax, eax
jne 0xec40bd
push 0
push 0x4c
push 0
push 0x3fc1bd8d
push dword [edi + 0x360]
call dword [edi + 0xb8]
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x2f4], eax
push esi
push eax
call dword [edi + 0x1dc]
test eax, eax
je 0xec417b
mov esi, ebx
mov ebx, eax
cmp dword [ebp - 0x120], 0x2d697061
je 0xec40e9
cmp dword [ebp - 0x120], 0x2d747865
jne 0xec4132
lea eax, [esi - 2]
push eax
call fcn.00ec4199
test eax, eax
je 0xec4132
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x2f8]
test eax, eax
jne 0xec4123
push 0
push 0x47
push 0
push 0xc97c1fff
push dword [edi + 0x360]
call dword [edi + 0xb8]
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x2f8], eax
push esi
push ebx
push eax
call dword [edi + 0x1dc]
test eax, eax
je 0xec417b
jmp 0xec4153
cmp byte [esi], 0x23
je 0xec4165
push 0
push esi
call dword [edi + 0x2ac]
movzx edx, byte [esi]
push 0
push edx
push 0
push eax
push ebx
call fcn.00ec3e6f
test eax, eax
je 0xec417b
pop dword fs:[0]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
push esi
call fcn.00ec41d6
xor edx, edx
push edx
push edx
push eax
push edx
push ebx
call fcn.00ec3e6f
test eax, eax
jne 0xec4153
xor eax, eax
pop dword fs:[eax]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18