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

Disassembly:
sub esp, 0x6c
xor edx, edx
mov ecx, dword [esp + 0x78]
cmp eax, 3
sete dl
push ebx
mov ebx, dword [esp + 0x74]
push ebp
push esi
push edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0x20], edx
xor edx, edx
cmp eax, 4
sete dl
mov dword [esp + 0x24], edx
mov edx, dword [edi + 0x48]
cmp edx, dword [ebx + 0x18]
je 0x1000e833
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
add esp, 0x6c
ret
cmp eax, dword [esp + 0x8c]
je 0x1000e849
pop edi
pop esi
pop ebp
mov eax, 0x13
pop ebx
add esp, 0x6c
ret
lea esi, [edi + 0x6c]
test ecx, ecx
je 0x1000e860
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
push eax
push ecx
push esi
call fcn.10002ac0
add esp, 0xc
lea edx, [esp + 0x3c]
push edx
push esi
call fcn.10002a30
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
add esi, 0x3f
add edx, 0x3f
and eax, 0xffffffc0
and ecx, 0xffffffc0
and esi, 0xffffffc0
and edx, 0xffffffc0
add esp, 8
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], edx
test eax, eax
jge 0x1000e8b2
lea ebp, [eax + 0x7fffffff]
cmp esi, ebp
jg 0x1000eb26
sub esi, eax
sar esi, 6
mov dword [esp + 0x10], esi
test ecx, ecx
jge 0x1000e8cd
lea esi, [ecx + 0x7fffffff]
cmp edx, esi
jg 0x1000eb26
mov ebx, dword [ebx + 8]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x10]
mov esi, edx
sub esi, ecx
mov dword [esp + 0x28], ebx
mov ebx, dword [edi + 0x9c]
sar esi, 6
test byte [ebx + 4], 1
lea ebp, [edi + 0x4c]
mov dword [esp + 0x18], esi
je 0x1000e924
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.10003890
mov dword [ebp + 0xc], 0
mov edi, dword [edi + 0x9c]
add esp, 8
and dword [edi + 4], 0xfffffffe
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x20], 0
mov edi, dword [esp + 0x10]
je 0x1000e93c
lea edi, [edi + edi*2]
mov dword [esp + 0x10], edi
add edi, 3
and edi, 0xfffffffc
cmp dword [esp + 0x24], 0
je 0x1000e946
lea esi, [esi + esi*2]
sar edx, 6
mov ebx, eax
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x10]
sar ebx, 6
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], ebx
cmp edx, 0x7fff
ja 0x1000eb26
cmp esi, 0x7fff
ja 0x1000eb26
mov ebx, 0x100
mov word [ebp + 0x10], bx
mov ebx, dword [esp + 0x84]
neg ecx
push ecx
neg eax
push eax
add ebx, 0x6c
push ebx
mov byte [ebp + 0x12], 2
mov dword [ebp + 4], edx
mov dword [ebp], esi
mov dword [ebp + 8], edi
call fcn.10002ac0
mov ecx, dword [esp + 0x28]
mov eax, edi
imul eax, esi
lea edx, [esp + 0x20]
push edx
push eax
push ecx
call fcn.10004b30
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x2c]
add esp, 0x18
test eax, eax
jne 0x1000eaea
mov edx, dword [esp + 0x84]
mov eax, dword [edx + 0x9c]
mov ecx, 1
or dword [eax + 4], ecx
lea eax, [esp + 0x4c]
push eax
mov eax, dword [esp + 0x84]
mov edx, dword [eax + 0x40]
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 0x3c]
push ecx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebx
call edx
add esp, 8
cmp dword [esp + 0x20], 0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
je 0x1000ea61
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x80], eax
test eax, eax
jbe 0x1000ea61
dec ebx
mov edx, dword [esp + 0x28]
test edx, edx
jbe 0x1000ea4c
mov eax, dword [esp + 0x10]
lea eax, [eax + ebx - 1]
movzx ecx, byte [ebx + edx]
mov byte [eax - 1], cl
mov byte [eax], cl
mov byte [eax + 1], cl
sub eax, 3
sub edx, 1
jne 0x1000ea34
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x80]
dec ecx
add ebx, edi
mov dword [esp + 0x80], ecx
test ecx, ecx
ja 0x1000ea24
cmp dword [esp + 0x24], 0
je 0x1000eaa0
mov ebp, dword [ebp + 0xc]
sub esi, eax
imul esi, edi
add esi, ebp
mov ebx, eax
test eax, eax
jbe 0x1000eaa0
push edi
push esi
push ebp
call fcn.100fbb50
push edi
add ebp, edi
push esi
push ebp
call fcn.100fbb50
push edi
add ebp, edi
push esi
push ebp
call fcn.100fbb50
add esp, 0x24
add ebp, edi
add esi, edi
sub ebx, 1
jne 0x1000ea78
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x84]
push ecx
push edx
lea ebx, [esi + 0x6c]
push ebx
call fcn.10002ac0
mov ecx, dword [esp + 0x40]
add esp, 0xc
cmp ecx, 0x7fffffff
jg 0x1000eb19
mov edx, dword [esp + 0x38]
cmp edx, 0x7fffffff
jg 0x1000eb19
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x1000eaea
mov dword [esi + 0x48], 0x62697473
mov dword [esi + 0x64], ecx
mov dword [esi + 0x68], edx
test ebx, ebx
je 0x1000eb2b
mov ecx, dword [esp + 0x88]
test ecx, ecx
je 0x1000eb2b
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
neg eax
push eax
neg ecx
push ecx
push ebx
call fcn.10002ac0
mov eax, dword [esp + 0x20]
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
pop edi
pop esi
pop ebp
mov eax, 0x17
pop ebx
add esp, 0x6c
ret
mov eax, 0x62
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret