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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb0
mov esi, esp
mov dword [esi + 0x6c], edx
mov edi, ecx
mov eax, dword [0x1026f864]
xor eax, ebp
mov dword [esi + 0xa8], eax
mov edx, dword [ecx + 0x920]
mov eax, dword [ecx + 0x918]
add eax, edx
shl eax, 2
call fcn.101e0a30
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x20], eax
mov esp, eax
lea eax, [edx + edx + 3]
and eax, 0xfffffffc
call fcn.101e0a30
mov eax, esp
and eax, 0xfffffff0
mov dword [esi], eax
mov esp, eax
mov eax, dword [ecx + 0x1094]
sar eax, 6
mov dword [esi + 0x80], eax
mov eax, dword [ecx + 0x1098]
mov dword [esi + 0x58], eax
sar eax, 6
mov dword [esi + 0x84], eax
mov dword [esi + 0x64], eax
cmp dword [ecx + 0x948], 0
je 0x101db097
xor eax, eax
mov dword [edi + 0x105e], eax
mov dword [edi + 0x105a], eax
mov dword [edi + 0x1066], eax
mov dword [edi + 0x1062], eax
mov dword [edi + 0x106e], eax
mov dword [edi + 0x106a], eax
mov dword [edi + 0x1076], eax
mov dword [edi + 0x1072], eax
lea ebx, [edi + 4]
lea ecx, [esi + 0x74]
lea edx, [esi + 0x7c]
push dword [edi + 0x914]
push dword [edi + 0x91c]
lea eax, [esi + 0x80]
push eax
push ebx
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x70]
push eax
call fcn.101dbba0
add esp, 0x18
lea eax, [esi + 0x74]
lea ecx, [esi + 0x78]
lea ebx, [edi + 0x105a]
mov eax, dword [eax]
mov cl, byte [ecx]
sar eax, cl
lea ecx, [esi + 0x70]
mov edx, dword [ecx]
lea ecx, [esi + 0x7c]
mov cl, byte [ecx]
sar edx, cl
xor ecx, ecx
cmp eax, edx
mov eax, dword [edi + 0x10a0]
setl cl
sub eax, ecx
mov ecx, 0x80
imul eax, dword [edi + 0x10a4]
cmp eax, 0x7f
cmovg ecx, eax
mov eax, dword [edi + 0x1040]
xor edx, edx
inc edx
mov dword [esi + 0x24], ecx
mov ecx, 0x10254d5c
cmp eax, 2
cmovl edx, eax
cmp dword [edi + 0x1044], 2
mov eax, 0x10254d58
mov dword [esi + 0x30], edx
cmove ecx, eax
movzx eax, word [edi + 0x1084]
movsx ecx, word [ecx + edx*2]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x18], ecx
push 0xfd71
push dword [edi + 0x924]
push ebx
call fcn.101df870
add esp, 0xc
mov eax, dword [edi + 0x924]
lea ecx, [esi + 0x88]
mov dword [esi + 4], eax
add eax, eax
push eax
push ebx
push ecx
call fcn.101e35e0
add esp, 0xc
cmp dword [edi + 0x1040], 0
jne 0x101db22d
cmp dword [edi + 0x1044], 2
jne 0x101db1d2
movzx eax, word [edi + 0x1050]
mov ecx, 0x4000
movsx edx, word [edi + 0x1090]
add ax, word [edi + 0x1052]
add ax, word [edi + 0x1054]
add ax, word [edi + 0x1056]
add ax, word [edi + 0x1058]
sub ecx, eax
movsx eax, cx
cmp eax, 0xccc
mov eax, 0xccd
cmovg eax, ecx
movzx eax, ax
imul edx, eax
shr edx, 0xe
mov dword [esi + 0x1c], edx
jmp 0x101db22d
push dword [esi + 4]
push ebx
call fcn.101df8d0
add esp, 8
cmp eax, 0x8000001
mov ecx, 0x8000000
mov edx, dword [esi + 0x18]
cmovl ecx, eax
mov eax, 0x400000
cmp ecx, 0x3fffff
cmovg eax, ecx
lea ecx, [eax*8]
shr eax, 0xd
movzx ecx, cx
movzx eax, ax
imul ecx, edx
imul eax, edx
sar ecx, 0x10
add ecx, eax
mov eax, dword [edi + 0x924]
sar ecx, 0xe
mov dword [esi + 0x18], ecx
mov dword [esi + 4], eax
mov ax, 0x4000
mov dword [esi + 0x1c], eax
mov ecx, dword [edi + 0x104c]
mov edx, dword [edi + 0x920]
mov ebx, dword [esi + 4]
sar ecx, 7
mov eax, edx
mov dword [esi + 0xc], edx
inc ecx
sar ecx, 1
sub eax, ecx
mov dword [esi + 0x2c], ecx
sub eax, ebx
cmp eax, 2
lea eax, [eax - 2]
mov dword [esi + 8], eax
mov eax, dword [edi + 0x1080]
mov dword [esi + 0x60], eax
mov eax, edx
mov edx, ebx
jg 0x101db289
push 0x126
push 0x10254d60
push str.assertion_failed:_idx___0
call fcn.10193ce0
add esp, 0xc
mov eax, dword [edi + 0x920]
mov edx, dword [edi + 0x924]
mov ecx, dword [esi + 8]
lea ebx, [edi + ecx*2 + 0x544]
sub eax, ecx
mov dword [esi + 0x10], ebx
mov ebx, dword [esi]
lea ecx, [ebx + ecx*2]
push dword [ebp + 0xc]
push edx
push eax
lea eax, [esi + 0x88]
push eax
push dword [esi + 0x10]
push ecx
call fcn.10194040
add esp, 0x18
mov edx, dword [edi + 0x1098]
mov dword [esi + 0x28], edi
mov ebx, edx
neg ebx
cmovl ebx, edx
test ebx, ebx
je 0x101db2d1
bsr eax, ebx
xor eax, 0x1f
jmp 0x101db2d6
mov eax, 0x20
mov ecx, eax
mov dword [esi + 0x10], eax
mov eax, 0x1fffffff
dec cl
shl edx, cl
mov ecx, edx
mov dword [esi + 0x14], edx
xor edx, edx
sar ecx, 0x10
idiv ecx
mov edx, eax
movzx eax, word [esi + 0x14]
movsx edi, dx
mov dword [esi + 0x14], edx
sar edx, 0xf
imul ecx, edi
inc edx
sar edx, 1
imul eax, edi
sar eax, 0x10
add eax, ecx
shl eax, 3
neg eax
movzx ecx, ax
imul edx, eax
sar eax, 0x10
imul ecx, edi
imul eax, edi
mov edi, dword [esi + 0x14]
sar ecx, 0x10
shl edi, 0x10
add edx, edi
add edx, eax
add edx, ecx
mov ecx, 0x10
sub ecx, dword [esi + 0x10]
cmp ebx, 0xffff
ja 0x101db35e
neg cl
mov eax, 0x80000000
mov edi, 0x7fffffff
sar eax, cl
shr edi, cl
cmp edx, eax
cmovge eax, edx
cmp edx, edi
cmovg eax, edi
shl eax, cl
jmp 0x101db362
sar edx, cl
mov eax, edx
mov ecx, dword [esi + 0x28]
cmp eax, 0x40000000
mov edx, 0x3fffffff
cmovl edx, eax
mov ebx, dword [ecx + 0x920]
mov ecx, dword [ecx + 0x924]
mov eax, ecx
mov eax, dword [esi + 8]
mov dword [esi + 0x34], ecx
add eax, ecx
mov ecx, dword [esi]
cmp eax, ebx
jge 0x101db3f7
mov eax, edx
mov edx, dword [esi + 4]
add edx, dword [esi + 0x2c]
lea edi, [edx*4]
mov dword [esi + 8], edi
mov edi, dword [esi + 0x20]
sub edi, dword [esi + 8]
mov dword [esi + 8], edi
mov edi, edx
add edx, edx
sub ecx, edx
mov edx, eax
movzx eax, ax
neg edi
sar edx, 0x10
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [esi], edi
mov dword [esi + 4], edx
mov edx, dword [esi + 0x34]
lea edx, [eax + edx - 2]
mov edi, ebx
movsx eax, word [ecx + edx*2]
mov ebx, ecx
mov ecx, dword [esi + 4]
imul ecx, eax
imul eax, dword [esi + 0x10]
sar eax, 0x10
add eax, ecx
mov ecx, ebx
mov ebx, edi
mov edi, dword [esi + 8]
mov dword [edi + edx*4], eax
mov eax, dword [esi]
lea eax, [eax + edx + 1]
inc edx
cmp eax, ebx
jl 0x101db3cb
mov edi, dword [esi + 0x28]
mov dword [esi + 0x38], ebx
mov eax, dword [edi + 0x914]
test eax, eax
mov dword [esi + 0x54], eax
jle 0x101db680
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x3c], 0
lea eax, [edi + eax*4 - 0x1fc]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x30]
movsx eax, word [eax + eax + 0x10254d54]
mov dword [esi + 0x50], eax
movsx eax, word [esi + 0x18]
mov dword [esi + 0x4c], eax
movsx eax, word [edi + 0x90c]
shl eax, 9
lea eax, [eax + eax*8]
mov dword [esi + 0x48], eax
mov al, byte [edi + 0xacd]
mov byte [esi + 0x44], al
mov eax, dword [edi + 0x91c]
mov dword [esi + 0x40], eax
test eax, eax
jle 0x101db5a2
movsx ebx, word [edi + 0x1050]
shl ecx, 2
mov dword [esi + 0x1c], edx
mov dword [esi + 0x30], eax
mov dword [esi], ebx
movsx ebx, word [edi + 0x1052]
mov dword [esi + 0x24], ebx
mov ebx, dword [esi + 0x20]
sub ebx, ecx
movsx ecx, word [edi + 0x1054]
mov dword [esi + 8], ebx
movsx ebx, word [edi + 0x1058]
mov dword [esi + 0x14], ecx
movsx ecx, word [edi + 0x1056]
movsx edi, dx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 8]
mov ebx, dword [esi]
mov dword [esi + 0xc], edx
mov eax, dword [ecx + edx*4 + 8]
mov edx, ecx
movzx edi, ax
sar eax, 0x10
imul edi, ebx
imul eax, ebx
sar edi, 0x10
add edi, eax
mov eax, dword [esi + 0xc]
mov eax, dword [ecx + eax*4 + 4]
mov ecx, dword [esi + 0x24]
movzx ebx, ax
sar eax, 0x10
imul eax, ecx
imul ebx, ecx
mov ecx, dword [esi + 0x14]
add eax, edi
sar ebx, 0x10
add ebx, eax
mov eax, dword [esi + 0xc]
mov eax, dword [edx + eax*4]
movzx edi, ax
sar eax, 0x10
imul eax, ecx
imul edi, ecx
mov ecx, dword [esi + 0x18]
add eax, ebx
sar edi, 0x10
add edi, eax
mov eax, dword [esi + 0xc]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [esi + 0xc]
movzx ebx, ax
sar eax, 0x10
imul eax, ecx
imul ebx, ecx
mov ecx, dword [esi + 0x5c]
add eax, edi
mov edi, dword [esi + 8]
sar ebx, 0x10
add ebx, eax
mov edi, dword [edi + edx*4 - 8]
mov edx, dword [esi + 0x10]
movzx eax, di
sar edi, 0x10
imul edi, edx
imul eax, edx
add edi, ebx
sar eax, 0x10
add eax, edi
mov edi, dword [esi + 0x60]
imul edi, edi, 0xbb38435
add edi, 0x3619636b
mov dword [esi + 0x60], edi
shr edi, 0x19
mov edx, dword [ecx + edi*4]
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0x20]
mov ebx, edx
sar ebx, 0x10
imul ebx, edi
add ebx, eax
movzx eax, dx
mov edx, dword [esi + 0xc]
imul eax, edi
sar eax, 0x10
add eax, ebx
lea eax, [eax*4 + 8]
mov dword [ecx + edx*4], eax
inc edx
dec dword [esi + 0x30]
jne 0x101db4b2
mov dword [esi + 0xc], edx
mov edi, dword [esi + 0x28]
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x24]
jmp 0x101db5d6
movsx eax, word [edi + 0x1050]
movsx ecx, word [edi + 0x1052]
movsx ebx, dx
mov dword [esi + 4], ebx
mov dword [esi], eax
movsx eax, word [edi + 0x1054]
mov dword [esi + 0x14], eax
movsx eax, word [edi + 0x1056]
mov dword [esi + 0x18], eax
movsx eax, word [edi + 0x1058]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x50]
mov ebx, dword [esi]
imul ebx, eax
imul ecx, eax
shr ebx, 0xf
shr ecx, 0xf
mov word [edi + 0x1050], bx
mov word [edi + 0x1052], cx
mov ecx, dword [esi + 0x14]
mov ebx, dword [esi + 0x10]
imul ecx, eax
imul ebx, eax
shr ecx, 0xf
shr ebx, 0xf
mov word [edi + 0x1054], cx
mov ecx, dword [esi + 0x18]
imul ecx, eax
shr ecx, 0xf
mov word [edi + 0x1056], cx
mov ecx, dword [esi + 4]
mov word [edi + 0x1058], bx
mov eax, dword [edi + 0x104c]
imul ecx, dword [esi + 0x4c]
shr ecx, 0xf
cmp byte [esi + 0x44], 0
cmovne edx, ecx
mov ecx, eax
sar ecx, 0x10
imul ecx, ecx, 0x28f
add ecx, eax
movzx eax, ax
imul eax, eax, 0x28f
shr eax, 0x10
add ecx, eax
mov eax, dword [esi + 0x48]
cmp ecx, eax
cmovg ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [edi + 0x104c], ecx
sar ecx, 7
inc ecx
sar ecx, 1
inc eax
mov dword [esi + 0x3c], eax
cmp eax, dword [esi + 0x54]
mov eax, dword [esi + 0x40]
jne 0x101db45f
jmp 0x101db686
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x1c]
mov ebx, dword [esi + 0x20]
mov eax, dword [esi + 0x38]
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x1c], edx
lea ecx, [ebx + eax*4 - 0x40]
lea eax, [edi + 0x504]
push 0x40
mov dword [esi + 0x68], eax
push eax
mov dword [esi], ecx
push ecx
call fcn.101e35e0
add esp, 0xc
cmp dword [esi + 0x34], 9
jg 0x101db6ca
push 0x15e
push 0x10254d60
push str.assertion_failed:_psDec__LPC_order___10
call fcn.10193ce0
add esp, 0xc
mov eax, dword [edi + 0x918]
mov ecx, dword [esi]
test eax, eax
jle 0x101db993
mov eax, dword [esi + 0x38]
lea edx, [esi + 0x9c]
lea ecx, [ebx + eax*4 - 0x2c]
movsx eax, word [esi + 0x64]
mov ebx, dword [ecx + 0x28]
mov dword [esi + 0x20], ecx
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x58]
sar eax, 0x15
inc eax
sar eax, 1
mov dword [esi + 0x58], eax
movsx eax, word [edx - 0x14]
mov dword [esi + 0x5c], eax
movsx eax, word [edx - 0x12]
mov dword [esi + 0x3c], eax
movsx eax, word [edx - 0x10]
mov dword [esi + 0x54], eax
movsx eax, word [edx - 0xe]
mov dword [esi + 0x50], eax
movsx eax, word [edx - 0xc]
mov dword [esi + 0x4c], eax
movsx eax, word [edx - 0xa]
mov dword [esi + 0x48], eax
movsx eax, word [edx - 8]
mov dword [esi + 0x44], eax
movsx eax, word [edx - 6]
mov dword [esi + 0x40], eax
movsx eax, word [edx - 4]
mov dword [esi + 0x38], eax
movsx eax, word [edx - 2]
xor edx, edx
mov dword [esi + 0x34], eax
mov eax, dword [ecx + 0x20]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0x10]
mov dword [esi + 0x24], eax
mov dword [esi + 0x14], ecx
mov eax, dword [edi + 0x924]
mov edi, edx
mov dword [esi + 4], edx
mov edx, ebx
sar edx, 0x10
mov ecx, eax
mov dword [esi + 8], eax
mov eax, dword [esi + 0x5c]
sar ecx, 1
imul edx, eax
add edx, ecx
movzx ecx, bx
imul ecx, eax
mov eax, dword [esi]
sar ecx, 0x10
add ecx, edx
mov edx, dword [esi + 0x10]
mov ebx, dword [eax + edi*4 + 0x38]
mov eax, dword [esi + 0x3c]
mov edi, ebx
mov dword [esi + 0x10], ebx
sar edi, 0x10
imul edi, eax
add edi, ecx
movzx ecx, bx
imul ecx, eax
mov eax, dword [esi + 0x54]
sar ecx, 0x10
add ecx, edi
mov edi, edx
sar edi, 0x10
imul edi, eax
add edi, ecx
movzx ecx, dx
mov edx, dword [esi + 4]
imul ecx, eax
mov eax, dword [esi + 0x18]
sar ecx, 0x10
add ecx, edi
mov dword [esi + 0xc], eax
mov eax, dword [esi]
mov ebx, dword [eax + edx*4 + 0x30]
mov eax, dword [esi + 0x50]
mov edi, ebx
mov dword [esi + 0x18], ebx
sar edi, 0x10
imul edi, eax
add edi, ecx
movzx ecx, bx
mov ebx, dword [esi + 0xc]
imul ecx, eax
mov eax, dword [esi + 0x4c]
sar ecx, 0x10
add ecx, edi
mov edi, ebx
sar edi, 0x10
imul edi, eax
add edi, ecx
movzx ecx, bx
mov ebx, dword [esi + 0x14]
imul ecx, eax
mov eax, dword [esi]
sar ecx, 0x10
add ecx, edi
mov eax, dword [eax + edx*4 + 0x28]
mov edx, dword [esi + 0x48]
mov edi, eax
mov dword [esi + 0x14], eax
sar edi, 0x10
imul edi, edx
add edi, ecx
movzx ecx, ax
mov eax, dword [esi + 0x44]
imul ecx, edx
mov edx, dword [esi + 0x24]
sar ecx, 0x10
add ecx, edi
mov edi, ebx
sar edi, 0x10
imul edi, eax
add edi, ecx
movzx ecx, bx
imul ecx, eax
mov eax, dword [esi]
sar ecx, 0x10
add ecx, edi
mov edi, dword [esi + 4]
mov ebx, dword [eax + edi*4 + 0x20]
mov eax, dword [esi + 0x40]
mov edi, ebx
mov dword [esi + 0x24], ebx
sar edi, 0x10
imul edi, eax
add edi, ecx
movzx ecx, bx
imul ecx, eax
mov eax, dword [esi + 0x38]
sar ecx, 0x10
add ecx, edi
mov edi, edx
sar edi, 0x10
imul edi, eax
add edi, ecx
movzx ecx, dx
mov edx, dword [esi]
imul ecx, eax
mov eax, dword [esi + 4]
sar ecx, 0x10
add ecx, edi
mov edx, dword [edx + eax*4 + 0x18]
mov eax, dword [esi + 0x34]
mov edi, edx
sar edi, 0x10
imul edi, eax
add edi, ecx
movzx ecx, dx
mov edx, dword [esi + 8]
imul ecx, eax
sar ecx, 0x10
add ecx, edi
cmp edx, 0xb
jl 0x101db8e5
mov ebx, dword [esi + 0x20]
add edx, 0xfffffff6
mov dword [esi + 8], edx
lea edx, [esi + 0x9c]
mov edi, dword [ebx]
movsx eax, word [edx]
add edx, 2
add ebx, 0xfffffffc
mov dword [esi + 0xc], edi
sar edi, 0x10
imul edi, eax
add edi, ecx
movzx ecx, word [esi + 0xc]
imul ecx, eax
sar ecx, 0x10
add ecx, edi
dec dword [esi + 8]
jne 0x101db8be
mov edi, dword [esi]
mov eax, dword [esi + 4]
cmp ecx, 0xf7ffffff
mov edx, 0xf8000000
cmovle ecx, edx
mov edx, 0x7ffffff
cmp ecx, 0x8000000
cmovge ecx, edx
mov eax, dword [edi + eax*4 + 0x40]
shl ecx, 4
mov ebx, eax
add ebx, ecx
js 0x101db91f
test eax, ecx
mov ecx, 0x80000000
cmovs ebx, ecx
jmp 0x101db929
or eax, ecx
mov eax, 0x7fffffff
cmovns ebx, eax
mov ecx, ebx
mov edx, dword [esi + 0x30]
mov eax, ebx
mov edi, dword [esi + 0x28]
imul ecx, dword [esi + 0x58]
sar eax, 0x10
imul eax, edx
add ecx, eax
movzx eax, bx
imul eax, edx
mov edx, 0x8000
sar eax, 0x10
add ecx, eax
mov eax, ecx
shr eax, 7
inc eax
shr eax, 1
cmp ecx, 0xff7fff80
cmovl eax, edx
cmp ecx, 0x7fff7f
mov edx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [ecx + edx*4 + 0x40], ebx
mov ecx, 0x7fff
cmovg eax, ecx
mov ecx, dword [ebp + 8]
add dword [esi + 0x20], 4
mov word [ecx + edx*2], ax
mov ecx, dword [esi]
inc edx
mov eax, dword [edi + 0x918]
cmp edx, eax
jl 0x101db760
lea eax, [ecx + eax*4]
push 0x40
push eax
push dword [esi + 0x68]
call fcn.101e35e0
add esp, 0xc
mov eax, dword [esi + 0x60]
movd xmm0, dword [esi + 0x2c]
mov ecx, dword [esi + 0x6c]
mov dword [edi + 0x1080], eax
mov eax, dword [esi + 0x1c]
pshufd xmm0, xmm0, 0
mov word [edi + 0x1084], ax
movdqu xmmword [ecx], xmm0
mov ecx, dword [esi + 0xa8]
xor ecx, ebp
call fcn.101e05ab
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret