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

Disassembly:
mov eax, 0x100d0ca8
call fcn.100cece0
sub esp, 0x14
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
imul esi, esi, 0x88
mov ebx, ecx
xor eax, eax
mov dword [edi], eax
mov dword [ebp - 0x10], esp
add esi, dword [ebx + 0x28]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], eax
mov ecx, dword [esi + 0x44]
shr ecx, 0x13
test cl, 1
jne 0x1001a5a3
mov ecx, dword [esi + 0x38]
or ecx, dword [esi + 0x3c]
jne 0x1001a5a3
cmp dword [esi + 0x1c], eax
ja 0x1001a5a3
jb 0x1001a592
cmp dword [esi + 0x18], 0x3c
jae 0x1001a5a3
mov edx, dword [esi + 0x18]
push edi
lea ecx, [esi + 0x4c]
call fcn.10009c53
jmp 0x1001a77c
cmp dword [esi + 0x1c], 0x80000000
jb 0x1001a5bb
ja 0x1001a6ee
cmp dword [esi + 0x18], eax
jae 0x1001a6ee
mov dword [ebp + 8], eax
mov edi, dword [ebx + 0x78]
push 1
pop eax
mov ecx, edi
shl eax, cl
xor edx, edx
mov byte [ebp - 4], 1
dec eax
add eax, dword [esi + 0x18]
adc edx, dword [esi + 0x1c]
call fcn.100cee10
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x44]
mov ecx, eax
mov dword [ebp - 0x1c], edx
shr ecx, 0x13
test cl, 1
je 0x1001a6ba
mov ecx, dword [ebp - 0x20]
xor eax, eax
cmp ecx, ecx
jne 0x1001a6ee
cmp eax, edx
jne 0x1001a6ee
push 0x38
call fcn.1002af95
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
mov byte [ebp - 4], 2
je 0x1001a624
call fcn.1001a7d1
mov edi, eax
jmp 0x1001a626
xor edi, edi
push edi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 1
call fcn.1004d105
mov eax, dword [ebx + 0x78]
lea ecx, [edi + 0x28]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x24], eax
push dword [ebx + 0x60]
call fcn.1004d105
mov ecx, dword [ebp - 0x14]
lea ebx, [edi + 0x2c]
push 0xffffffffffffffff
push ebx
add esi, 0x4c
push 0x3c
push esi
call fcn.1002af95
mov esi, eax
test esi, esi
jne 0x1001a758
xor edx, edx
cmp dword [edi + 0x30], edx
je 0x1001a68a
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
shl eax, 4
movzx edx, word [eax + ecx - 0xc]
add edx, dword [eax + ecx - 0x10]
lea eax, [eax + ecx - 0x10]
xor eax, eax
cmp eax, dword [ebp - 0x1c]
ja 0x1001a6a4
mov eax, dword [ebp - 0x20]
jb 0x1001a69a
cmp edx, eax
jae 0x1001a6a4
sub eax, edx
mov ecx, ebx
push eax
call fcn.1002af95
mov ecx, edi
call fcn.1001a7eb
mov esi, eax
test esi, esi
je 0x1001a774
jmp 0x1001a758
shr eax, 0x12
test al, 1
je 0x1001a6c5
xor edi, edi
jmp 0x1001a6c8
add edi, 0xfffffff7
push 1
mov eax, dword [esi + 0x38]
pop edx
mov ecx, edi
shl edx, cl
mov ecx, dword [esi + 0x3c]
xor edi, edi
and ecx, edi
dec edx
and eax, edx
or eax, ecx
jne 0x1001a6ee
mov ecx, dword [ebp - 0x20]
xor eax, eax
cmp ecx, ecx
jne 0x1001a6ee
cmp eax, dword [ebp - 0x1c]
je 0x1001a6f6
push 1
pop eax
jmp 0x1001a78b
push 0x38
call fcn.1002af95
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
mov byte [ebp - 4], 3
je 0x1001a714
call fcn.1001a864
mov edi, eax
jmp 0x1001a716
xor edi, edi
push edi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 1
call fcn.1004d105
mov eax, dword [ebx + 0x78]
lea ecx, [edi + 0x28]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x24], eax
push dword [ebx + 0x60]
call fcn.1004d105
lea eax, [edi + 0x2c]
add esi, 0x4c
push eax
mov ecx, ebx
push dword [ebp - 0x20]
push esi
call fcn.1002af95
mov esi, eax
test esi, esi
je 0x1001a76d
mov eax, dword [ebp + 8]
and byte [ebp - 4], 0
test eax, eax
je 0x1001a769
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
jmp 0x1001a78b
mov ecx, edi
call fcn.1001a79c
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ecx], eax
xor eax, eax
jmp 0x1001a78b
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 8