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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xc0
mov esi, esp
mov ecx, dword [ebp + 8]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [esi + 0xb8], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0xa0], xmm0
movdqa xmmword [esi + 0x90], xmm0
mov edi, dword [ecx + 0x920]
mov ebx, ecx
lea ecx, [edi + edi]
lea eax, [edi + edi]
add eax, 3
and eax, 0xfffffffc
call fcn.101308a0
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov edx, 0xff
push ecx
push edx
mov dword [esi + 0x4c], eax
push eax
call fcn.10132b90
add esp, 0xc
mov ebx, dword [ebx + 0x918]
add edi, ebx
shl edi, 2
mov eax, edi
call fcn.101308a0
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
push edi
mov ecx, 0xff
push ecx
mov dword [esi + 0x50], eax
push eax
call fcn.10132b90
add esp, 0xc
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x91c]
lea ecx, [edi*4]
mov eax, ecx
call fcn.101308a0
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
push ecx
mov ecx, 0xff
push ecx
mov dword [esi + 0x54], eax
push eax
call fcn.10132b90
add esp, 0xc
lea ecx, [edi*4 + 0x40]
mov edi, dword [ebp + 8]
mov eax, ecx
call fcn.101308a0
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
push ecx
mov ecx, 0xff
push ecx
mov dword [esi + 0x10], eax
push eax
call fcn.10132b90
add esp, 0xc
mov al, byte [edi + 0xacf]
mov byte [esi + 0x33], al
test ebx, ebx
jle 0x10291a73
movsx ebx, byte [edi + 0xad2]
mov cl, byte [edi + 0xacd]
sar cl, 1
movsx ecx, cl
movsx edx, byte [edi + 0xace]
add edx, edx
movsx eax, word [edx + ecx*4 + 0x102f5634]
shl eax, 4
mov dword [esi + 0xc], eax
xor edx, edx
imul ebx, ebx, 0xbb38435
mov eax, dword [ebp + 0x14]
movsx ecx, word [eax + edx*2]
mov eax, ecx
shl eax, 0xe
lea edi, [eax + 0x500]
test ecx, ecx
cmovns edi, eax
lea ecx, [ebx + 0x3619636b]
lea eax, [eax - 0x500]
cmovg edi, eax
add edi, dword [esi + 0xc]
mov eax, edi
neg eax
test ecx, ecx
cmovns eax, edi
mov edi, dword [ebp + 8]
mov dword [edi + edx*4 + 4], eax
mov eax, dword [ebp + 0x14]
movsx eax, word [eax + edx*2]
add ebx, eax
add ebx, 0x3619636b
inc edx
cmp edx, dword [edi + 0x918]
jl 0x10291a1c
lea eax, [edi + 0x504]
mov dword [esi + 0x58], eax
movups xmm0, xmmword [edi + 0x534]
mov eax, dword [esi + 0x10]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [edi + 0x524]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [edi + 0x504]
movups xmm1, xmmword [edi + 0x514]
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax], xmm0
cmp dword [edi + 0x914], 0
jle 0x102924a6
mov ecx, dword [ebp + 0x10]
mov eax, dword [edi + 0x920]
mov dword [esi + 0x40], eax
lea edx, [edi + 4]
mov eax, dword [esi + 0x50]
add eax, 0xfffffffc
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x4c]
add eax, 0xfffffffe
mov dword [esi + 0x5c], eax
mov dword [esi + 0x44], ecx
xor ebx, ebx
mov dword [esi + 0x2c], edx
mov eax, ebx
shl eax, 4
and eax, 0xffffffe0
mov ecx, dword [ebp + 0xc]
add ecx, eax
add ecx, 0x20
mov eax, dword [edi + 0x924]
add eax, eax
push eax
mov dword [esi + 0x38], ecx
push ecx
lea eax, [esi + 0x90]
push eax
call fcn.10132610
add esp, 0xc
mov dword [esi + 0x28], ebx
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + ebx*4 + 0x10]
mov ecx, ebx
neg ecx
cmovs ecx, ebx
test ecx, ecx
mov dword [esi + 0xc], ecx
je 0x10291c7c
bsr edx, ecx
xor edx, 0x1f
mov dword [esi + 0x18], edx
mov cl, byte [edi + 0xacd]
mov byte [esi + 0x20], cl
mov ecx, edx
dec cl
mov dword [esi + 0x3c], ebx
shl ebx, cl
mov edi, ebx
sar edi, 0x10
mov eax, 0x1fffffff
xor edx, edx
idiv edi
movsx edx, ax
imul edi, edx
mov dword [esi + 0x14], ebx
mov ecx, ebx
mov ebx, 0xffff
and ecx, ebx
imul ecx, edx
mov ebx, edx
sar ecx, 0x10
add ecx, edi
mov edx, eax
shl edx, 0x10
shl ecx, 3
neg ecx
sar eax, 0xf
inc eax
sar eax, 1
imul eax, ecx
add eax, edx
mov edx, ecx
sar edx, 0x10
mov edi, ebx
imul edx, ebx
add eax, edx
mov edx, 0xffff
and ecx, edx
mov dword [esi + 0x1c], ebx
imul ecx, ebx
sar ecx, 0x10
add eax, ecx
cmp dword [esi + 0xc], 0x1ffff
ja 0x10291bce
mov ecx, dword [esi + 0x18]
add cl, 0xf1
mov edi, 0x80000000
sar edi, cl
mov edx, 0x7fffffff
shr edx, cl
cmp eax, edi
cmovg edi, eax
cmp eax, edx
cmovg edi, edx
shl edi, cl
mov dword [esi + 0x24], edi
jmp 0x10291bd8
mov cl, 0xf
sub cl, byte [esi + 0x18]
sar eax, cl
mov dword [esi + 0x24], eax
mov edi, dword [ebp + 8]
mov eax, dword [esi + 0x3c]
mov ebx, dword [edi]
mov dword [esi + 0xc], 0x10000
cmp eax, ebx
mov edx, eax
je 0x10291ce0
mov eax, ebx
neg eax
cmovs eax, ebx
test eax, eax
je 0x10292474
bsr eax, eax
xor eax, 0x1f
mov dword [esi + 0xc], eax
mov ecx, eax
dec cl
shl ebx, cl
mov eax, ebx
sar eax, 0x10
mov edi, dword [esi + 0x1c]
imul eax, edi
mov ecx, ebx
mov edx, 0xffff
and ecx, edx
imul ecx, edi
sar ecx, 0x10
add ecx, eax
mov eax, ecx
imul dword [esi + 0x14]
mov eax, 0xffff
shl edx, 3
sub ebx, edx
mov edx, ebx
sar edx, 0x10
imul edx, edi
and ebx, eax
mov eax, dword [esi + 0xc]
imul ebx, edi
add edx, ecx
sar ebx, 0x10
add edx, ebx
sub eax, dword [esi + 0x18]
add eax, 0x1d
cmp eax, 0xf
jg 0x10291c86
mov cl, 0x10
sub cl, al
mov edi, 0x80000000
sar edi, cl
mov eax, 0x7fffffff
shr eax, cl
cmp edx, edi
cmovg edi, edx
cmp edx, eax
cmovg edi, eax
shl edi, cl
jmp 0x10291c9a
mov edx, 0x20
jmp 0x10291b2e
mov ecx, eax
add cl, 0xf0
sar edx, cl
cmp eax, 0x30
mov eax, 0
cmovae edx, eax
mov edi, edx
mov dword [esi + 0xc], edi
mov eax, edi
sar eax, 0x10
mov dword [esi + 0x18], eax
movzx eax, di
mov dword [esi + 0x1c], eax
xor ebx, ebx
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + ebx*4]
movsx edi, ax
mov edx, edi
imul edx, dword [esi + 0x18]
imul edi, dword [esi + 0x1c]
sar edi, 0x10
add edi, edx
sar eax, 0xf
inc eax
sar eax, 1
imul eax, dword [esi + 0xc]
add eax, edi
mov dword [ecx + ebx*4], eax
inc ebx
cmp ebx, 0x10
jne 0x10291cb0
mov edi, dword [ebp + 8]
mov edx, dword [esi + 0x3c]
mov ebx, dword [esi + 0x28]
lea eax, [ebx + ebx*4]
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + eax*2]
add ecx, 0x60
mov dword [edi], edx
cmp dword [edi + 0x1040], 0
mov al, byte [esi + 0x20]
je 0x10291d36
cmp dword [edi + 0x1044], 2
jne 0x10291d36
cmp al, 2
je 0x10291d36
cmp ebx, 1
ja 0x10291d36
xor eax, eax
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov word [ecx + 8], 0
mov dword [esi + 0x34], ecx
mov word [ecx + 4], 0x1000
mov ecx, dword [edi + 0x904]
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x14], ecx
mov dword [eax + ebx*4], ecx
jmp 0x10291d4d
cmp al, 2
mov edx, dword [esi + 0x2c]
jne 0x10291dd5
mov dword [esi + 0x34], ecx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ebx*4]
mov dword [esi + 0x14], eax
cmp byte [esi + 0x33], 4
setl al
cmp ebx, 2
sete cl
test ebx, ebx
je 0x1029222f
and cl, al
jne 0x1029222f
mov eax, dword [esi + 0xc]
cmp eax, 0x10000
je 0x10292326
cmp dword [esi + 0x14], 0xffffffff
jl 0x10292326
mov ecx, eax
sar ecx, 0x10
mov dword [esi + 0x18], ecx
movzx eax, ax
mov dword [esi + 0x1c], eax
mov eax, 0xfffffffe
sub eax, dword [esi + 0x14]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x48]
lea edx, [ecx + eax*4]
xor ecx, ecx
mov eax, dword [edx + ecx*4]
movsx edi, ax
mov ebx, edi
imul ebx, dword [esi + 0x18]
imul edi, dword [esi + 0x1c]
sar edi, 0x10
add edi, ebx
sar eax, 0xf
inc eax
sar eax, 1
imul eax, dword [esi + 0xc]
add eax, edi
mov dword [edx + ecx*4], eax
dec ecx
cmp dword [esi + 0x20], ecx
jne 0x10291da6
jmp 0x10292326
mov ecx, dword [edi + 0x91c]
mov dword [esi + 0x1c], edx
mov eax, dword [esi + 0x10]
test ecx, ecx
jle 0x102921e3
movsx eax, word [esi + 0x90]
mov dword [esi + 0x34], eax
movsx eax, word [esi + 0x92]
mov dword [esi + 0x8c], eax
movsx eax, word [esi + 0x94]
mov dword [esi + 0x88], eax
mov ecx, dword [esi + 0x3c]
mov eax, ecx
shr eax, 6
cwde
mov dword [esi + 0x84], eax
sar ecx, 0x15
inc ecx
sar ecx, 1
mov dword [esi + 0x3c], ecx
movsx eax, word [esi + 0x96]
mov dword [esi + 0x80], eax
movsx eax, word [esi + 0x98]
mov dword [esi + 0x7c], eax
movsx eax, word [esi + 0x9a]
mov dword [esi + 0x78], eax
movsx eax, word [esi + 0x9c]
mov dword [esi + 0x74], eax
movsx eax, word [esi + 0x9e]
mov dword [esi + 0x70], eax
movsx eax, word [esi + 0xa0]
mov dword [esi + 0x6c], eax
movsx eax, word [esi + 0xa2]
mov dword [esi + 0x68], eax
movsx eax, word [esi + 0xa4]
mov dword [esi + 0x64], eax
movsx eax, word [esi + 0xa6]
mov dword [esi + 0x20], eax
movsx eax, word [esi + 0xa8]
mov dword [esi + 0x14], eax
movsx eax, word [esi + 0xaa]
mov dword [esi + 0x38], eax
movsx eax, word [esi + 0xac]
mov dword [esi + 0x24], eax
movsx eax, word [esi + 0xae]
mov dword [esi + 0x60], eax
xor ebx, ebx
mov eax, dword [edi + 0x924]
cmp eax, 0xa
mov dword [esi + 0xc], ebx
je 0x10291edc
cmp eax, 0x10
je 0x10291edc
push 0xc7
push 0x102fbcf1
push str.assertion_failed:_psDec__LPC_order__10__psDec__LPC_order__16
call fcn.1028ab20
add esp, 0xc
mov eax, dword [edi + 0x924]
mov dword [esi + 0x18], eax
mov edi, eax
sar edi, 1
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov ecx, dword [edx + eax*4 + 0x3c]
mov ebx, edx
mov edx, ecx
sar edx, 0x10
mov eax, dword [esi + 0x34]
imul edx, eax
add edx, edi
mov edi, 0xffff
and ecx, edi
imul ecx, eax
sar ecx, 0x10
add ecx, edx
mov eax, dword [esi + 0xc]
mov edx, dword [ebx + eax*4 + 0x38]
mov edi, edx
sar edi, 0x10
mov eax, dword [esi + 0x8c]
imul edi, eax
add edi, ecx
mov ebx, 0xffff
and edx, ebx
imul edx, eax
sar edx, 0x10
add edx, edi
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov ecx, dword [ecx + eax*4 + 0x34]
mov edi, ecx
sar edi, 0x10
mov eax, dword [esi + 0x88]
imul edi, eax
add edi, edx
and ecx, ebx
imul ecx, eax
sar ecx, 0x10
add ecx, edi
mov ebx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov edx, dword [eax + ebx*4 + 0x30]
mov edi, edx
sar edi, 0x10
mov eax, dword [esi + 0x80]
imul edi, eax
add edi, ecx
mov ecx, 0xffff
and edx, ecx
imul edx, eax
sar edx, 0x10
add edx, edi
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + ebx*4 + 0x2c]
mov edi, ecx
sar edi, 0x10
mov eax, dword [esi + 0x7c]
imul edi, eax
add edi, edx
mov edx, 0xffff
and ecx, edx
imul ecx, eax
sar ecx, 0x10
add ecx, edi
mov eax, dword [esi + 0x10]
mov edx, dword [eax + ebx*4 + 0x28]
mov edi, edx
sar edi, 0x10
mov eax, dword [esi + 0x78]
imul edi, eax
add edi, ecx
mov ecx, 0xffff
and edx, ecx
imul edx, eax
sar edx, 0x10
add edx, edi
mov eax, dword [esi + 0x10]
mov edi, dword [eax + ebx*4 + 0x24]
mov ecx, edi
sar ecx, 0x10
mov eax, dword [esi + 0x74]
imul ecx, eax
add ecx, edx
mov edx, 0xffff
and edi, edx
imul edi, eax
sar edi, 0x10
add edi, ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + ebx*4 + 0x20]
mov edx, ecx
sar edx, 0x10
mov eax, dword [esi + 0x70]
imul edx, eax
add edx, edi
mov edi, 0xffff
and ecx, edi
imul ecx, eax
sar ecx, 0x10
add ecx, edx
mov eax, dword [esi + 0x10]
mov edx, dword [eax + ebx*4 + 0x1c]
mov edi, edx
sar edi, 0x10
mov eax, dword [esi + 0x6c]
imul edi, eax
add edi, ecx
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + ebx*4 + 0x18]
mov ebx, 0xffff
and edx, ebx
imul edx, eax
sar edx, 0x10
add edx, edi
mov edi, ecx
sar edi, 0x10
mov eax, dword [esi + 0x68]
imul edi, eax
add edi, edx
mov edx, 0xffff
and ecx, edx
imul ecx, eax
sar ecx, 0x10
add ecx, edi
cmp dword [esi + 0x18], 0x10
jne 0x10292134
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [eax + edx*4 + 0x14]
mov eax, ebx
sar eax, 0x10
mov edi, dword [esi + 0x64]
imul eax, edi
mov edx, 0xffff
and ebx, edx
imul ebx, edi
sar ebx, 0x10
add eax, ecx
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + ecx*4 + 0x10]
add eax, ebx
mov edx, ecx
sar edx, 0x10
imul edx, dword [esi + 0x20]
mov ebx, 0xffff
and ecx, ebx
imul ecx, dword [esi + 0x20]
sar ecx, 0x10
add eax, edx
mov edx, dword [esi + 0xc]
mov edx, dword [edi + edx*4 + 0xc]
add eax, ecx
mov ecx, edx
sar ecx, 0x10
imul ecx, dword [esi + 0x14]
mov ebx, 0xffff
and edx, ebx
imul edx, dword [esi + 0x14]
sar edx, 0x10
add eax, ecx
mov ecx, dword [esi + 0xc]
mov ecx, dword [edi + ecx*4 + 8]
add eax, edx
mov edx, ecx
sar edx, 0x10
imul edx, dword [esi + 0x38]
mov ebx, 0xffff
and ecx, ebx
imul ecx, dword [esi + 0x38]
sar ecx, 0x10
add eax, edx
mov edx, dword [esi + 0xc]
mov edx, dword [edi + edx*4 + 4]
add eax, ecx
mov ecx, edx
sar ecx, 0x10
imul ecx, dword [esi + 0x24]
add eax, ecx
mov ecx, dword [esi + 0xc]
mov ecx, dword [edi + ecx*4]
mov ebx, dword [esi + 0xc]
mov edi, 0xffff
and edx, edi
imul edx, dword [esi + 0x24]
sar edx, 0x10
add eax, edx
mov edx, ecx
sar edx, 0x10
mov edi, dword [esi + 0x60]
imul edx, edi
add eax, edx
mov edx, 0xffff
and ecx, edx
imul ecx, edi
sar ecx, 0x10
add eax, ecx
mov ecx, eax
jmp 0x10292137
mov ebx, dword [esi + 0xc]
mov eax, dword [esi + 0x1c]
mov edx, dword [eax + ebx*4]
cmp ecx, 0xf8000001
jge 0x1029214a
mov ecx, 0xf8000000
mov eax, 0x7ffffff
cmp ecx, eax
jl 0x10292158
mov ecx, 0x7ffffff
shl ecx, 4
mov eax, ecx
add eax, edx
js 0x1029216c
test ecx, edx
jns 0x10292179
mov eax, 0x80000000
jmp 0x10292179
or ecx, edx
mov ecx, 0x7fffffff
jns 0x10292177
mov ecx, eax
mov eax, ecx
mov ecx, dword [esi + 0x10]
mov dword [ecx + ebx*4 + 0x40], eax
mov ecx, eax
sar ecx, 0x10
mov edi, dword [esi + 0x84]
imul ecx, edi
movzx edx, ax
imul eax, dword [esi + 0x3c]
add eax, ecx
imul edx, edi
sar edx, 0x10
add eax, edx
mov ecx, 0x8000
cmp eax, 0xff7fff80
jl 0x102921b3
mov ecx, eax
shr ecx, 7
inc ecx
shr ecx, 1
mov edx, 0x7fff
cmp eax, 0x7fff80
mov edi, dword [ebp + 8]
jge 0x102921c4
mov edx, ecx
mov eax, dword [esi + 0x44]
mov word [eax + ebx*2], dx
inc ebx
mov ecx, dword [edi + 0x91c]
cmp ebx, ecx
jl 0x10291eac
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x2c]
mov ebx, dword [esi + 0x28]
mov dword [esi + 0x20], ecx
movups xmm0, xmmword [eax + ecx*4 + 0x30]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [eax + ecx*4 + 0x20]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [eax + ecx*4]
movups xmm1, xmmword [eax + ecx*4 + 0x10]
lea edx, [edx + ecx*4]
mov dword [esi + 0x2c], edx
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x20]
lea ecx, [ecx + edx*2]
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x44], ecx
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax], xmm0
inc ebx
cmp ebx, dword [edi + 0x914]
jl 0x10291add
jmp 0x102924a6
mov ebx, dword [edi + 0x920]
mov eax, dword [edi + 0x924]
add eax, dword [esi + 0x14]
sub ebx, eax
cmp ebx, 2
jg 0x1029225c
push 0x90
push 0x102fbcf1
push str.assertion_failed:_start_idx___0
call fcn.1028ab20
add esp, 0xc
add ebx, 0xfffffffe
cmp dword [esi + 0x28], 2
jne 0x1029228a
mov eax, dword [edi + 0x91c]
mov ecx, dword [edi + 0x920]
lea ecx, [edi + ecx*2]
add ecx, 0x544
shl eax, 2
push eax
push dword [ebp + 0x10]
push ecx
call fcn.10132610
add esp, 0xc
mov eax, dword [edi + 0x920]
sub eax, ebx
mov ecx, dword [edi + 0x91c]
imul ecx, dword [esi + 0x28]
add ecx, ebx
lea ecx, [edi + ecx*2]
add ecx, 0x544
mov edx, dword [esi + 0x4c]
lea edx, [edx + ebx*2]
push dword [ebp + 0x18]
push dword [edi + 0x924]
push eax
push dword [esi + 0x38]
push ecx
push edx
call fcn.1028abb0
add esp, 0x18
cmp dword [esi + 0x28], 0
je 0x1029247e
mov edx, dword [esi + 0x24]
cmp dword [esi + 0x14], 0xffffffff
jl 0x10292326
mov eax, edx
sar eax, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x920]
movzx ecx, dx
mov dword [esi + 0x18], ecx
mov ecx, 0xfffffffe
sub ecx, dword [esi + 0x14]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0x5c]
lea edi, [ecx + eax*2]
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x48]
lea ebx, [ecx + eax*4]
xor eax, eax
movsx ecx, word [edi + eax*2]
mov edx, dword [esi + 0xc]
imul edx, ecx
imul ecx, dword [esi + 0x18]
sar ecx, 0x10
add ecx, edx
mov dword [ebx + eax*4], ecx
dec eax
cmp dword [esi + 0x1c], eax
jne 0x1029230a
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x91c]
test ecx, ecx
jle 0x102921da
mov eax, dword [esi + 0x34]
movsx edx, word [eax]
mov dword [esi + 0x1c], edx
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 0x40]
lea edx, [ecx*4]
mov edi, dword [esi + 0x14]
shl edi, 2
sub edx, edi
movsx edi, word [eax + 2]
mov dword [esi + 0x14], edi
movsx edi, word [eax + 4]
mov dword [esi + 0x38], edi
movsx edi, word [eax + 6]
mov dword [esi + 0x18], edi
movsx eax, word [eax + 8]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x50]
add edx, eax
mov dword [esi + 0xc], edx
lea eax, [eax + ecx*4]
mov dword [esi + 0x34], eax
xor ebx, ebx
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + ebx*4 + 8]
mov eax, ecx
sar eax, 0x10
mov edi, dword [esi + 0x1c]
imul eax, edi
mov edx, 0xffff
and ecx, edx
imul ecx, edi
sar ecx, 0x10
add ecx, eax
mov eax, dword [esi + 0xc]
mov edi, dword [eax + ebx*4 + 4]
mov eax, edi
sar eax, 0x10
mov edx, dword [esi + 0x14]
imul eax, edx
add eax, ecx
mov ecx, 0xffff
and edi, ecx
imul edi, edx
sar edi, 0x10
add edi, eax
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + ebx*4]
mov eax, ecx
sar eax, 0x10
mov edx, dword [esi + 0x38]
imul eax, edx
add eax, edi
mov edi, 0xffff
and ecx, edi
imul ecx, edx
sar ecx, 0x10
add ecx, eax
mov eax, dword [esi + 0xc]
mov edi, dword [eax + ebx*4 - 4]
mov eax, edi
sar eax, 0x10
imul eax, dword [esi + 0x18]
add eax, ecx
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx + ebx*4 - 8]
mov edx, 0xffff
and edi, edx
imul edi, dword [esi + 0x18]
sar edi, 0x10
add edi, eax
mov eax, ecx
sar eax, 0x10
mov edx, dword [esi + 0x24]
imul eax, edx
add eax, edi
mov edi, 0xffff
and ecx, edi
imul ecx, edx
sar ecx, 0x10
add ecx, eax
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + ebx*4]
lea edi, [eax + ecx*2]
lea eax, [eax + ecx*2]
add eax, 4
mov ecx, dword [esi + 0x54]
mov dword [ecx + ebx*4], eax
lea eax, [edi + edi]
add eax, 8
mov ecx, dword [esi + 0x34]
mov dword [ecx + ebx*4], eax
inc ebx
cmp dword [esi + 0x20], ebx
jne 0x10292381
add dword [esi + 0x40], ebx
mov eax, dword [esi + 0x54]
mov dword [esi + 0x1c], eax
mov edi, dword [ebp + 8]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x2c]
mov ebx, dword [esi + 0x28]
mov ecx, dword [esi + 0x20]
jmp 0x10291de1
mov eax, 0x20
jmp 0x10291c06
mov edx, dword [esi + 0x24]
mov eax, edx
sar eax, 0x10
mov ecx, dword [ebp + 0xc]
movsx ecx, word [ecx + 0x88]
imul eax, ecx
movzx edx, dx
imul edx, ecx
sar edx, 0x10
add edx, eax
shl edx, 2
jmp 0x102922d1
movups xmm0, xmmword [eax + 0x30]
mov ecx, dword [esi + 0x58]
movups xmmword [ecx + 0x30], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ecx + 0x20], xmm0
movups xmm0, xmmword [eax]
movups xmm1, xmmword [eax + 0x10]
movups xmmword [ecx + 0x10], xmm1
movups xmmword [ecx], xmm0
mov ecx, dword [esi + 0xb8]
xor ecx, ebp
call fcn.10130483
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret