Function at 0x10010802
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, ecx
mov eax, dword [ecx + 0x40]
lea ecx, [ecx + 0x14]
mov bl, byte [esi + 0x19]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], eax
call fcn.1000f50c
mov edi, dword [ebp + 0xc]
test bl, bl
je 0x1001083e
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
cmp edx, ecx
cmovl edx, ecx
imul eax, edx
test edi, edi
mov dword [esp], eax
mov dword [esp + 4], esi
je 0x100108ea
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov dword [esp + 0x20], eax
mov eax, dword [eax + 0x40]
mov bh, byte [esi + 0x14]
lea ecx, [edi + 0x14]
mov dword [esp + 8], ecx
mov dword [esp + 0x18], eax
mov al, byte [esi + 0x15]
mov dword [esp + 0xc], eax
mov al, byte [esi + 0x17]
mov dword [esp + 0x28], eax
mov al, byte [esi + 0x18]
mov dword [esp + 0x24], eax
mov al, byte [esi + 0x19]
mov dword [esp + 0x44], eax
movzx eax, word [esi + 0x2a]
mov word [esp + 0x80], ax
movsd xmm0, qword [esi + 0x22]
movsd qword [esp + 0x78], xmm0
movsd xmm0, qword [esi + 0x1a]
movsd qword [esp + 0x70], xmm0
movsd xmm0, qword [esi + 0x38]
mov eax, dword [esi + 0x2c]
movsd qword [esp + 0x58], xmm0
mov dword [esp + 0x10], eax
movsd xmm0, qword [esi + 0x30]
movsd qword [esp + 0x50], xmm0
mov bl, byte [edi + 0x19]
call fcn.1000f50c
test bl, bl
mov byte [esp + 0x1f], bh
je 0x10010959
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x20]
mov ebx, edi
cmp ecx, edx
cmovl ecx, edx
imul eax, ecx
jmp 0x1001095b
mov edi, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mov eax, edi
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov esi, eax
test edi, edi
je 0x10010927
lea eax, [esi + edi*8]
mov ecx, esi
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, eax
jne 0x10010916
mov eax, dword [esp + 4]
lea ecx, [esp + 0x70]
mov bl, byte [eax + 0x14]
lea eax, [eax + 0x15]
push 0x2b
push eax
push ecx
call fcn.1019f110
mov edx, dword [esp + 0xc]
add esp, 0xc
test edx, edx
je 0x10010a70
mov ecx, dword [ebp + 8]
xor edi, edi
mov bh, bl
jmp 0x10010cf0
mov ebx, edi
mov ecx, dword [esp]
cmp ecx, 2
jb 0x10010a47
cmp eax, 1
jne 0x10010a47
mov ebx, esi
lea eax, [esi + 0x1a]
mov esi, dword [esp]
xor ecx, ecx
mov edx, 8
mov dword [esp + 0x18], eax
dec ecx
lea ebx, [ebx + 0x30]
mov eax, esi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.100241ca
mov ecx, eax
push edi
call fcn.1002435a
mov edi, eax
lea eax, [eax + esi*8]
mov ecx, edi
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, eax
jne 0x100109a4
test esi, esi
mov esi, dword [esp + 0x20]
je 0x100109d3
mov eax, dword [esp]
mov ecx, edi
mov edx, dword [esi + 0x40]
movsd xmm0, qword [edx]
movsd qword [ecx], xmm0
add ecx, 8
dec eax
jne 0x100109c2
mov esi, dword [esp + 4]
mov edx, dword [esp + 0x18]
mov al, byte [esi + 0x14]
mov byte [esp + 0x1f], al
mov al, byte [esi + 0x15]
mov dword [esp + 0xc], eax
mov al, byte [esi + 0x17]
mov dword [esp + 0x28], eax
mov al, byte [esi + 0x18]
mov dword [esp + 0x24], eax
mov al, byte [esi + 0x19]
mov dword [esp + 0x44], eax
movzx eax, word [edx + 0x10]
mov word [esp + 0x80], ax
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
mov edx, dword [esp]
movsd qword [esp + 0x78], xmm1
movsd qword [esp + 0x70], xmm0
mov eax, dword [esi + 0x2c]
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
movsd qword [esp + 0x58], xmm1
movsd qword [esp + 0x50], xmm0
jmp 0x10010bc3
mov al, byte [ebx + 0x19]
mov ecx, dword [esp + 8]
mov byte [esp + 0x48], al
call fcn.1000f50c
cmp byte [esp + 0x48], 0
je 0x10010a77
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x20]
mov edi, ebx
cmp ecx, edx
cmovl ecx, edx
imul eax, ecx
jmp 0x10010a79
mov bh, bl
jmp 0x10011140
mov edi, ebx
mov edx, dword [esp]
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebp + 8]
cmp edx, 1
jne 0x10010bc8
cmp eax, 2
jb 0x10010bc8
mov ecx, dword [esp + 8]
mov bl, byte [edi + 0x19]
mov esi, edi
call fcn.1000f50c
mov edi, eax
test bl, bl
je 0x10010ab7
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
cmp eax, ecx
cmovl eax, ecx
imul edi, eax
xor ecx, ecx
mov edx, 8
mov eax, edi
mov ebx, esi
dec ecx
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
test edi, edi
je 0x10010af1
lea edx, [eax + edi*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, edx
jne 0x10010ae0
mov edi, eax
xor esi, esi
jmp 0x10010b0a
mov eax, dword [esp + 4]
mov ecx, edi
mov eax, dword [eax + 0x40]
movsd xmm0, qword [eax]
movsd qword [edi + esi*8], xmm0
inc esi
mov al, byte [ebx + 0x19]
mov ecx, dword [esp + 8]
mov byte [esp], al
call fcn.1000f50c
cmp byte [esp], 0
je 0x10010b2d
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x20]
cmp ecx, edx
cmovl ecx, edx
imul eax, ecx
cmp esi, eax
jb 0x10010af7
mov ecx, dword [esp + 0x20]
mov esi, ebx
mov al, byte [ecx + 0x14]
mov byte [esp + 0x1f], al
mov al, byte [ecx + 0x15]
mov dword [esp + 0xc], eax
mov al, byte [ecx + 0x17]
mov dword [esp + 0x28], eax
mov al, byte [ecx + 0x18]
mov dword [esp + 0x24], eax
mov al, byte [ecx + 0x19]
mov dword [esp + 0x44], eax
movzx eax, word [ecx + 0x2a]
mov word [esp + 0x80], ax
movsd xmm0, qword [ecx + 0x22]
movsd qword [esp + 0x78], xmm0
movsd xmm0, qword [ecx + 0x1a]
movsd qword [esp + 0x70], xmm0
movsd xmm0, qword [ecx + 0x38]
mov eax, dword [ecx + 0x2c]
movsd qword [esp + 0x58], xmm0
mov dword [esp + 0x10], eax
movsd xmm0, qword [ecx + 0x30]
mov ecx, dword [esp + 8]
movsd qword [esp + 0x50], xmm0
mov bl, byte [ebx + 0x19]
call fcn.1000f50c
mov edx, eax
test bl, bl
je 0x10010bb9
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
cmp eax, ecx
cmovl eax, ecx
imul edx, eax
mov ebx, edi
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x18]
mov ecx, dword [ebp + 8]
jmp 0x10010bcc
mov edi, dword [esp + 0x18]
lea eax, [ecx - 0x10]
mov dword [esp + 0x18], edi
cmp eax, 0x43
ja case.default.0x10010be5
mov dword [esp + 0x14], ebx
mov dword [esp], edx
xor ecx, ecx
jmp dword [eax*4 + 0x101c8d24]
mov eax, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
mov dword [esp + 8], eax
test edx, edx
je 0x100124ed
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x10010c1f
mov esi, dword [esp + 4]
test edx, edx
je 0x100124f1
xor eax, eax
mov cl, byte [ebx + eax*8 + 4]
cmp cl, 1
je 0x10010c62
cmp cl, 3
je 0x10010c74
cmp cl, 2
mov ecx, 0
mov edx, 0
jne 0x10010c7d
mov ecx, dword [edi + eax*8]
mov dl, 2
jmp 0x10010c79
movss xmm0, dword [ebx + eax*8]
mov dl, 1
mulss xmm0, dword [edi + eax*8]
movd ecx, xmm0
jmp 0x10010c7d
mov ecx, dword [edi + eax*8]
mov dl, 3
imul ecx, dword [ebx + eax*8]
mov edi, dword [esp + 8]
mov dword [edi + eax*8], ecx
mov byte [edi + eax*8 + 4], dl
inc eax
mov edi, dword [esp + 0x18]
cmp dword [esp], eax
jne 0x10010c3e
jmp 0x100124f1
sub esp, 8
movsd qword [esp], xmm0
call fcn.101b1770
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 8]
add esp, 8
fstp qword [esp + 0xb0]
movsd xmm0, qword [esp + 0xb0]
movss xmm1, dword [0x101c8d00]
cvtsd2ss xmm0, xmm0
mov al, 1
divss xmm1, xmm0
movss dword [esi + edi*8], xmm1
jmp 0x10011133
mov ecx, dword [esp + 0x14]
xor eax, eax
sub eax, dword [ecx + edi*8]
mov ecx, dword [ebp + 8]
mov dword [esi + edi*8], eax
mov al, 2
jmp 0x10011133
cmp ecx, 0x32
jle 0x10010d27
lea eax, [ecx - 0x33]
cmp eax, 0x2a
ja case.0x10010d01.65
jmp dword [eax*4 + 0x101c8e34]
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
movss xmm0, dword [eax + edi*8]
mulss xmm0, dword [0x101c8d0c]
jmp 0x1001112c
cmp ecx, 8
je 0x100110b4
cmp ecx, 9
je 0x100110d8
cmp ecx, 0xb
jne case.0x10010d01.65
cmp bl, 3
je 0x100110f1
cmp bl, 2
jne 0x100111a0
mov eax, dword [esp + 0x14]
mov eax, dword [eax + edi*8]
not eax
jmp 0x10010ce6
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
movss xmm0, dword [eax + edi*8]
mulss xmm0, dword [0x101c8d08]
jmp 0x1001112c
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
cvtss2sd xmm0, dword [eax + edi*8]
sub esp, 8
movsd qword [esp], xmm0
call fcn.101b1710
jmp 0x10010f8c
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
cvtss2sd xmm0, dword [eax + edi*8]
sub esp, 8
movsd qword [esp], xmm0
call fcn.101af0b0
jmp 0x10010f8c
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
cvtss2sd xmm0, dword [eax + edi*8]
sub esp, 8
movsd qword [esp], xmm0
call fcn.101b1e00
jmp 0x10010f8c
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
cvtss2sd xmm0, dword [eax + edi*8]
sub esp, 8
movsd qword [esp], xmm0
call fcn.101ada60
jmp 0x10010f8c
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
cvtss2sd xmm0, dword [eax + edi*8]
sub esp, 8
movsd qword [esp], xmm0
call fcn.101ad940
jmp 0x10010f8c
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
cvtss2sd xmm0, dword [eax + edi*8]
sub esp, 8
movsd qword [esp], xmm0
call fcn.101adb60
jmp 0x10010f8c
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
cvtss2sd xmm0, dword [eax + edi*8]
sub esp, 8
movsd qword [esp], xmm0
call fcn.101b1760
jmp 0x10010f8c
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
cvtss2sd xmm0, dword [eax + edi*8]
sub esp, 8
movsd qword [esp], xmm0
call fcn.101af100
jmp 0x10010f8c
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
cvtss2sd xmm0, dword [eax + edi*8]
sub esp, 8
movsd qword [esp], xmm0
call fcn.101b1e50
jmp 0x10010f8c
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
movss xmm0, dword [eax + edi*8]
sub esp, 4
movss dword [esp], xmm0
call fcn.101adaa3
jmp 0x10010fb7
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
movss xmm0, dword [eax + edi*8]
sub esp, 4
movss dword [esp], xmm0
call fcn.101ad983
jmp 0x10010fb7
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
movss xmm0, dword [eax + edi*8]
sub esp, 4
movss dword [esp], xmm0
call fcn.101adba3
jmp 0x10010fb7
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
cvtss2sd xmm0, dword [eax + edi*8]
sub esp, 8
movsd qword [esp], xmm0
call fcn.101af110
jmp 0x10010f8c
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
cvtss2sd xmm0, dword [eax + edi*8]
sub esp, 8
movsd qword [esp], xmm0
call fcn.101b0900
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 8]
add esp, 8
jmp 0x10010fc1
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
movss xmm0, dword [eax + edi*8]
sub esp, 4
movss dword [esp], xmm0
call fcn.101af3a3
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 4]
add esp, 4
fstp dword [esi + edi*8]
jmp 0x10011131
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
cvtss2sd xmm0, dword [eax + edi*8]
sub esp, 8
movsd qword [esp], xmm0
call fcn.101b0900
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 8]
add esp, 8
fstp dword [esp + 0xa4]
movss xmm0, dword [esp + 0xa4]
mulss xmm0, dword [0x101c8d04]
jmp 0x1001112c
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtss2sd xmm0, dword [eax + edi*8]
ucomisd xmm0, xmm1
jb 0x10011101
sqrtsd xmm0, xmm0
jmp 0x10011128
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtss2sd xmm0, dword [eax + edi*8]
ucomisd xmm0, xmm1
jb 0x10010c97
sqrtsd xmm0, xmm0
jmp 0x10010cbe
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
mov bh, 2
mov eax, dword [eax + edi*8]
jmp 0x10010ce6
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
mov bh, 3
mov eax, dword [eax + edi*8]
jmp 0x100110fa
cmp bl, 2
je 0x100110a6
jmp 0x100111a0
cmp bl, 3
jne 0x100111a0
mov eax, dword [esp + 0x14]
mov bh, 1
mov eax, dword [eax + edi*8]
mov dword [esi + edi*8], eax
jmp 0x10011131
cmp bl, 2
je 0x10010cda
cmp bl, 1
jne 0x100111a0
mov eax, dword [esp + 0x14]
movss xmm0, dword [eax + edi*8]
xorps xmm0, xmmword [0x101c8d10]
jmp 0x1001112c
cmp bl, 4
jne 0x100111a0
mov eax, dword [esp + 0x14]
mov al, byte [eax + edi*8]
xor al, 1
mov byte [esi + edi*8], al
mov al, 4
jmp 0x10011133
mov eax, dword [esp + 0x14]
mov eax, dword [eax + edi*8]
not eax
mov dword [esi + edi*8], eax
mov al, 3
jmp 0x10011133
sub esp, 8
movsd qword [esp], xmm0
call fcn.101b1770
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 8]
add esp, 8
fstp qword [esp + 0xa8]
movsd xmm0, qword [esp + 0xa8]
cvtsd2ss xmm0, xmm0
movss dword [esi + edi*8], xmm0
mov al, 1
mov byte [esi + edi*8 + 4], al
inc edi
cmp edi, edx
jb 0x10010cf0
call fcn.100241ca
mov ecx, eax
push 0x44
call fcn.1002435a
mov edi, eax
xor eax, eax
mov dword [edi + 8], eax
mov dword [edi + 4], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0xc], eax
mov byte [edi + 0x14], bh
lea eax, [edi + 0x15]
push 0x2b
lea ecx, [esp + 0x74]
push ecx
push eax
call fcn.1019f110
mov ecx, edi
add esp, 0xc
mov eax, dword [esp + 4]
mov dword [edi], 0x101c92f0
mov dword [edi + 0x40], esi
mov byte [edi + 0x16], 2
movsd xmm0, qword [eax + 4]
movsd xmm1, qword [eax + 0xc]
movsd qword [edi + 0xc], xmm1
movsd qword [edi + 4], xmm0
jmp case.0x10010be5.22
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 4]
mov eax, 4
push dword [edx + 0x10]
push dword [edx + 0xc]
push dword [edx + 8]
push dword [edx + 4]
push str.Unary_operation_not_folded_into_constant
push eax
call fcn.10009610
xor ecx, ecx
jmp case.0x10010be5.22
mov eax, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
mov dword [esp + 8], eax
test edx, edx
je 0x100124ed
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x100111fd
test edx, edx
je 0x100124ed
xor esi, esi
mov eax, dword [esp + 0x2c]
mov al, byte [eax]
cmp al, 3
je 0x10011298
cmp al, 2
je 0x100112c1
cmp al, 1
jne 0x100124c3
movss xmm0, dword [edi + esi*8]
ucomiss xmm0, dword [0x101c8d20]
jne 0x100112ed
jp 0x100112ed
mov edi, dword [esp + 4]
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
sub esp, 0x18
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
mov dword [esp + 4], str.Divide_by_zero_error_during_constant_folding
mov dword [esp], 2
call fcn.10009610
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov dword [ecx + esi*8], 0x7f7fffff
jmp 0x100112ff
mov ecx, dword [edi + esi*8]
test ecx, ecx
je 0x10011306
cmp dword [ebp + 8], 0x13
mov eax, dword [ebx + esi*8]
jne 0x100113a6
xor edx, edx
div ecx
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov dword [ecx + esi*8], eax
mov al, 3
jmp 0x100113c0
mov ecx, dword [edi + esi*8]
test ecx, ecx
je 0x10011356
mov eax, dword [ebx + esi*8]
cmp dword [ebp + 8], 0x13
cdq
jne 0x100113b2
idiv ecx
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov dword [ecx + esi*8], eax
mov al, 2
jmp 0x100113c0
movss xmm1, dword [ebx + esi*8]
mov ecx, dword [esp + 8]
divss xmm1, xmm0
movss dword [ecx + esi*8], xmm1
mov al, 1
jmp 0x100113c0
mov edi, dword [esp + 4]
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
sub esp, 0x18
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
mov dword [esp + 4], str.Divide_by_zero_error_during_constant_folding
mov dword [esp], 2
call fcn.10009610
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov al, 3
mov dword [ecx + esi*8], 0xffffffff
jmp 0x100113c0
mov edi, dword [esp + 4]
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
sub esp, 0x18
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
mov dword [esp + 4], str.Divide_by_zero_error_during_constant_folding
mov dword [esp], 2
call fcn.10009610
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov al, 2
mov dword [ecx + esi*8], accept
jmp 0x100113c0
xor edx, edx
div ecx
mov ecx, dword [esp + 8]
mov al, 3
jmp 0x100113ba
idiv ecx
mov ecx, dword [esp + 8]
mov al, 2
mov dword [ecx + esi*8], edx
mov edx, dword [esp]
mov byte [ecx + esi*8 + 4], al
inc esi
cmp esi, edx
jb 0x10011218
jmp 0x100124ed
cmp ecx, 0x6f
jne case.0x10010d01.65
mov eax, dword [esp + 0x2c]
cmp byte [eax], 1
jne 0x100123df
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x14], 1
jne 0x100123df
mov ecx, dword [esp + 0x20]
movzx eax, byte [esi + 0x17]
movzx edx, byte [ecx + 0x18]
mov dword [esp + 0x48], eax
cmp al, dl
mov dword [esp + 0x6c], edx
jne 0x100123df
mov al, byte [esi + 0x18]
movzx edx, al
mov dword [esp + 0x24], eax
mov al, byte [ecx + 0x17]
mov dword [esp + 0x4c], edx
movzx esi, al
mov dword [esp + 0x28], eax
mov dword [esp + 0xa0], esi
imul esi, edx
lea edi, [esi*8]
call fcn.100241ca
mov ecx, eax
push edi
call fcn.1002435a
test esi, esi
mov dword [esp + 8], eax
je 0x10011468
mov ecx, dword [esp + 8]
lea eax, [ecx + esi*8]
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, eax
jne 0x10011457
cmp byte [esp + 0x24], 0
mov dword [esp + 0x20], 0
je 0x100124b9
mov eax, dword [esp + 0x4c]
shl dword [esp + 0x6c], 3
lea ecx, [eax*8]
mov eax, dword [esp + 8]
cmp byte [esp + 0x28], 0
mov dword [esp + 0x14], ebx
je 0x1001150b
mov esi, dword [esp + 0x18]
xor edx, edx
mov dword [esp], esi
mov dword [esp + 0x2c], edx
imul edx, dword [esp + 0x4c]
mov ebx, eax
add edx, dword [esp + 0x20]
cmp byte [esp + 0x48], 0
mov dword [eax + edx*8], 0
mov byte [eax + edx*8 + 4], 1
je 0x100114f1
mov esi, dword [esp]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
xorps xmm0, xmm0
movss xmm1, dword [edi]
add edi, ecx
mulss xmm1, dword [esi]
add esi, 8
dec eax
addss xmm0, xmm1
movss dword [ebx + edx*8], xmm0
mov byte [ebx + edx*8 + 4], 1
jne 0x100114d3
mov edx, dword [esp + 0x2c]
mov eax, dword [esp]
add eax, dword [esp + 0x6c]
inc edx
cmp edx, dword [esp + 0xa0]
mov dword [esp], eax
mov eax, ebx
jne 0x100114a3
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
inc edx
add ebx, 8
cmp edx, dword [esp + 0x4c]
mov dword [esp + 0x20], edx
jne 0x1001148f
jmp 0x100124ed
mov eax, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
mov dword [esp + 8], eax
test edx, edx
je 0x100124ed
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x1001155d
mov esi, dword [esp + 4]
test edx, edx
je 0x100124f1
xor eax, eax
mov cl, byte [ebx + eax*8 + 4]
cmp cl, 1
je 0x100115a0
cmp cl, 3
je 0x100115b2
cmp cl, 2
mov ecx, 0
mov edx, 0
jne 0x100115ba
mov ecx, dword [edi + eax*8]
mov dl, 2
jmp 0x100115b7
movss xmm0, dword [ebx + eax*8]
mov dl, 1
addss xmm0, dword [edi + eax*8]
movd ecx, xmm0
jmp 0x100115ba
mov ecx, dword [edi + eax*8]
mov dl, 3
add ecx, dword [ebx + eax*8]
mov edi, dword [esp + 8]
mov dword [edi + eax*8], ecx
mov byte [edi + eax*8 + 4], dl
inc eax
mov edi, dword [esp + 0x18]
cmp dword [esp], eax
jne 0x1001157c
jmp 0x100124f1
mov eax, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
mov dword [esp + 8], eax
test edx, edx
je 0x100124ed
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x10011607
mov esi, dword [esp + 4]
test edx, edx
je 0x100124f1
xor eax, eax
mov cl, byte [ebx + eax*8 + 4]
cmp cl, 1
je 0x1001164a
cmp cl, 3
je 0x1001165c
cmp cl, 2
mov ecx, 0
mov edx, 0
jne 0x10011664
mov ecx, dword [ebx + eax*8]
mov dl, 2
jmp 0x10011661
movss xmm0, dword [ebx + eax*8]
mov dl, 1
subss xmm0, dword [edi + eax*8]
movd ecx, xmm0
jmp 0x10011664
mov ecx, dword [ebx + eax*8]
mov dl, 3
sub ecx, dword [edi + eax*8]
mov edi, dword [esp + 8]
mov dword [edi + eax*8], ecx
mov byte [edi + eax*8 + 4], dl
inc eax
mov edi, dword [esp + 0x18]
cmp dword [esp], eax
jne 0x10011626
jmp 0x100124f1
call fcn.100241ca
mov ecx, eax
push 8
call fcn.1002435a
mov ecx, dword [esp + 0x2c]
mov dword [eax], 0
mov byte [eax + 4], 0
mov edi, eax
cmp byte [ecx], 0x25
jne 0x100123fd
mov ecx, dword [esp + 0x20]
mov eax, ecx
add eax, 0x14
push ebx
push dword [ecx + 0x40]
push eax
call fcn.10013497
add esp, 0xc
jmp 0x100125b0
call fcn.100241ca
mov ecx, eax
push 8
call fcn.1002435a
mov ecx, dword [esp + 0x2c]
mov dword [eax], 0
mov byte [eax + 4], 0
mov dword [esp + 8], eax
cmp byte [ecx], 0x25
jne 0x10012442
mov ecx, dword [esp + 0x20]
mov eax, ecx
add eax, 0x14
push ebx
push dword [ecx + 0x40]
push eax
call fcn.10013497
add esp, 0xc
xor al, 1
jmp 0x100125ac
xor edi, edi
mov ecx, 8
mov eax, edx
dec edi
mul ecx
mov esi, eax
cmovo esi, edi
mov edi, dword [esp + 0x18]
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
test edx, edx
je 0x10011953
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x10011738
test edx, edx
je 0x10011953
xor esi, esi
mov cl, byte [ebx + esi*8 + 4]
cmp cl, 1
je 0x10011771
cmp cl, 3
je 0x1001177f
cmp cl, 2
jne 0x1001178a
mov ecx, dword [ebx + esi*8]
cmp ecx, dword [edi + esi*8]
setl cl
jmp 0x1001178c
movss xmm0, dword [edi + esi*8]
ucomiss xmm0, dword [ebx + esi*8]
seta cl
jmp 0x1001178c
mov ecx, dword [ebx + esi*8]
cmp ecx, dword [edi + esi*8]
setb cl
jmp 0x1001178c
xor ecx, ecx
mov byte [eax + esi*8], cl
mov byte [eax + esi*8 + 4], 4
inc esi
cmp edx, esi
jne 0x10011753
jmp 0x10011953
xor edi, edi
mov ecx, 8
mov eax, edx
dec edi
mul ecx
mov esi, eax
cmovo esi, edi
mov edi, dword [esp + 0x18]
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
test edx, edx
je 0x10011953
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x100117d0
test edx, edx
je 0x10011953
xor esi, esi
mov cl, byte [ebx + esi*8 + 4]
cmp cl, 1
je 0x10011809
cmp cl, 3
je 0x10011814
cmp cl, 2
jne 0x1001181f
mov ecx, dword [ebx + esi*8]
cmp ecx, dword [edi + esi*8]
setg cl
jmp 0x10011821
movss xmm0, dword [ebx + esi*8]
ucomiss xmm0, dword [edi + esi*8]
jmp 0x1001181a
mov ecx, dword [ebx + esi*8]
cmp ecx, dword [edi + esi*8]
seta cl
jmp 0x10011821
xor ecx, ecx
mov byte [eax + esi*8], cl
mov byte [eax + esi*8 + 4], 4
inc esi
cmp edx, esi
jne 0x100117eb
jmp 0x10011953
xor edi, edi
mov ecx, 8
mov eax, edx
dec edi
mul ecx
mov esi, eax
cmovo esi, edi
mov edi, dword [esp + 0x18]
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
test edx, edx
je 0x10011953
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x10011865
test edx, edx
je 0x10011953
xor esi, esi
mov cl, byte [ebx + esi*8 + 4]
cmp cl, 1
je 0x1001189e
cmp cl, 3
je 0x100118ac
cmp cl, 2
jne 0x100118b7
mov ecx, dword [ebx + esi*8]
cmp ecx, dword [edi + esi*8]
setle cl
jmp 0x100118b9
movss xmm0, dword [edi + esi*8]
ucomiss xmm0, dword [ebx + esi*8]
setae cl
jmp 0x100118b9
mov ecx, dword [ebx + esi*8]
cmp ecx, dword [edi + esi*8]
setbe cl
jmp 0x100118b9
xor ecx, ecx
mov byte [eax + esi*8], cl
mov byte [eax + esi*8 + 4], 4
inc esi
cmp edx, esi
jne 0x10011880
jmp 0x10011953
xor edi, edi
mov ecx, 8
mov eax, edx
dec edi
mul ecx
mov esi, eax
cmovo esi, edi
mov edi, dword [esp + 0x18]
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
test edx, edx
je 0x10011953
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x100118f9
test edx, edx
je 0x10011953
xor esi, esi
mov cl, byte [ebx + esi*8 + 4]
cmp cl, 1
je 0x1001192e
cmp cl, 3
je 0x10011939
cmp cl, 2
jne 0x10011944
mov ecx, dword [ebx + esi*8]
cmp ecx, dword [edi + esi*8]
setge cl
jmp 0x10011946
movss xmm0, dword [ebx + esi*8]
ucomiss xmm0, dword [edi + esi*8]
jmp 0x1001193f
mov ecx, dword [ebx + esi*8]
cmp ecx, dword [edi + esi*8]
setae cl
jmp 0x10011946
xor ecx, ecx
mov byte [eax + esi*8], cl
mov byte [eax + esi*8 + 4], 4
inc esi
cmp edx, esi
jne 0x10011910
xor ebx, ebx
xorps xmm0, xmm0
mov dword [esp + 8], eax
mov esi, dword [esp + 4]
xor edi, edi
mov byte [esp + 0x1f], 4
mov dword [esp + 0x28], edx
mov dword [esp + 0x44], 0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebx
movaps xmmword [esp + 0x50], xmm0
dec edi
movsd xmm0, qword [esp + 0x32]
movsd xmm1, qword [esp + 0x3a]
movzx eax, word [esp + 0x42]
movsd qword [esp + 0x70], xmm0
movsd qword [esp + 0x78], xmm1
mov word [esp + 0x80], ax
mov al, 1
mov dword [esp + 0x24], eax
jmp 0x100124f9
mov al, byte [esi + 0x17]
movzx ecx, al
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], ecx
mov al, byte [eax + 0x17]
movzx esi, al
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], esi
imul esi, ecx
lea edi, [esi*8]
call fcn.100241ca
mov ecx, eax
push edi
call fcn.1002435a
test esi, esi
mov dword [esp + 8], eax
je 0x10011a10
mov ecx, dword [esp + 8]
lea eax, [ecx + esi*8]
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, eax
jne 0x100119ff
xor eax, eax
cmp byte [esp + 0x24], 0
je 0x100124b9
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x2c]
add esi, 4
lea edx, [ecx*8]
cmp byte [esp + 0x28], 0
mov dword [esp], esi
mov edi, esi
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
je 0x10011a60
movss xmm0, dword [ecx + eax*8]
mulss xmm0, dword [esi]
add esi, 8
movss dword [edi - 4], xmm0
mov byte [edi], 1
add edi, edx
dec ebx
jne 0x10011a47
mov esi, dword [esp]
inc eax
add esi, 8
cmp eax, dword [esp + 0x2c]
jne 0x10011a2f
jmp 0x100124ed
mov ecx, dword [esp + 0x20]
mov al, byte [ecx + 0x17]
mov cl, byte [ecx + 0x18]
movzx edx, al
movzx esi, cl
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], esi
imul esi, edx
mov dword [esp + 0x14], edx
lea edi, [esi*8]
call fcn.100241ca
mov ecx, eax
push edi
call fcn.1002435a
test esi, esi
mov dword [esp + 8], eax
je 0x10011ac9
mov ecx, dword [esp + 8]
lea eax, [ecx + esi*8]
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, eax
jne 0x10011ab8
xor ecx, ecx
cmp byte [esp + 0x28], 0
je 0x100124e5
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 8]
lea edx, [eax*8]
mov eax, dword [esp + 0x14]
add ebx, 4
lea eax, [eax*8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
cmp byte [esp + 0x24], 0
mov esi, dword [esp + 0x14]
mov dword [esp], ecx
mov edi, eax
mov ecx, ebx
mov dword [esp + 0x18], eax
je 0x10011b21
mov eax, dword [edi]
add edi, 8
mov dword [ecx - 4], eax
mov byte [ecx], 1
add ecx, edx
dec esi
jne 0x10011b11
mov ecx, dword [esp]
mov eax, dword [esp + 0x18]
add ebx, 8
inc ecx
add eax, dword [esp + 0x20]
cmp ecx, dword [esp + 0x2c]
jne 0x10011afb
jmp 0x100124ed
call fcn.100241ca
mov ecx, eax
push 8
call fcn.1002435a
mov dword [eax], 0
mov ebx, eax
mov byte [eax + 4], 0
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + 0x17]
push edi
push eax
call fcn.100136e4
add esp, 8
mov al, 1
fstp dword [ebx]
mov dword [esp + 8], ebx
mov byte [ebx + 4], 1
mov dword [esp + 0x28], eax
mov al, 1
mov dword [esp + 0x24], eax
jmp 0x100124f1
push edi
push dword [esp + 0x24]
call fcn.100138b4
add esp, 8
test eax, eax
mov dword [esp + 8], eax
jne 0x100124f1
mov edi, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mov eax, edi
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, edi
test edi, edi
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp + 8], eax
je 0x1001264c
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x10011bd7
mov esi, dword [esp + 4]
test edx, edx
je 0x100124f9
xor eax, eax
mov ecx, dword [esp + 0x18]
movsd xmm0, qword [ecx + eax*8]
mov ecx, dword [esp + 8]
movsd qword [ecx + eax*8], xmm0
inc eax
cmp edx, eax
jne 0x10011bf6
jmp 0x100124f9
mov eax, dword [esp + 0x2c]
cmp byte [eax], 1
jne 0x1001247d
movzx esi, byte [esi + 0x17]
lea edi, [esi*8]
call fcn.100241ca
mov ecx, eax
push edi
call fcn.1002435a
test esi, esi
mov dword [esp + 8], eax
je 0x10011c57
mov ecx, dword [esp + 8]
lea eax, [ecx + esi*8]
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, eax
jne 0x10011c46
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x18]
movzx eax, byte [esi + 0x17]
test eax, eax
je 0x100124f1
lea ecx, [eax*8]
xor edx, edx
mov dword [esp], eax
mov eax, dword [esp + 8]
xorps xmm0, xmm0
xor esi, esi
mov dword [eax + edx*8], 0
mov byte [eax + edx*8 + 4], 1
movss xmm1, dword [ebx + esi]
mulss xmm1, dword [edi + esi]
add esi, 8
cmp ecx, esi
addss xmm0, xmm1
movss dword [eax + edx*8], xmm0
mov byte [eax + edx*8 + 4], 1
jne 0x10011c8c
mov eax, dword [esp]
inc edx
add edi, ecx
cmp edx, eax
jne 0x10011c77
jmp 0x100124ed
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x14], 1
jne 0x1001249b
movzx esi, byte [esi + 0x17]
lea edi, [esi*8]
call fcn.100241ca
mov ecx, eax
push edi
call fcn.1002435a
mov ebx, eax
test esi, esi
je 0x10011cfc
lea eax, [ebx + esi*8]
mov ecx, ebx
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, eax
jne 0x10011ceb
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x14]
add dword [esp + 0x20], 0x14
movzx ecx, byte [eax + 0x17]
test ecx, ecx
mov eax, ecx
mov dword [esp], ecx
je 0x10011d68
mov eax, dword [esp]
xor edx, edx
lea ecx, [eax*8]
mov eax, dword [esp + 0x18]
xorps xmm0, xmm0
xor edi, edi
mov dword [ebx + edx*8], 0
mov byte [ebx + edx*8 + 4], 1
mov dword [esp + 0x14], esi
movss xmm1, dword [esi]
add esi, ecx
mulss xmm1, dword [eax + edi]
add edi, 8
cmp ecx, edi
addss xmm0, xmm1
movss dword [ebx + edx*8], xmm0
mov byte [ebx + edx*8 + 4], 1
jne 0x10011d3b
mov esi, dword [esp + 0x14]
inc edx
add esi, 8
cmp edx, dword [esp]
jne 0x10011d22
call fcn.100241ca
mov ecx, eax
push 0x44
call fcn.1002435a
mov esi, dword [esp + 0x20]
xor ecx, ecx
lea edi, [eax + 0x14]
mov dword [eax + 8], ecx
mov dword [eax + 4], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0xc], ecx
mov dword [eax], method.std::_Facet_base.virtual_4
mov ecx, 0xb
rep movsd dword es:[edi], dword [esi]
mov dword [eax], 0x101c92f0
mov dword [eax + 0x40], ebx
mov ecx, eax
mov byte [eax + 0x16], 2
mov eax, dword [esp + 4]
movsd xmm0, qword [eax + 4]
movsd xmm1, qword [eax + 0xc]
jmp 0x1001258c
mov eax, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
mov dword [esp + 8], eax
test edx, edx
je 0x100124ed
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x10011ded
test edx, edx
je 0x100124ed
xor eax, eax
xor ecx, ecx
cmp byte [ebx + ecx*8 + 4], 4
jne 0x10011e2b
mov bl, byte [edi + ecx*8]
mov esi, dword [esp + 0x14]
xor edx, edx
or bl, byte [esi + ecx*8]
mov ebx, dword [esp + 0x14]
mov esi, 4
setne dl
jmp 0x10011e2f
xor esi, esi
xor edx, edx
mov edi, eax
or edi, edx
mov edx, dword [esp + 8]
mov dword [edx + ecx*8], edi
mov dword [edx + ecx*8 + 4], esi
inc ecx
mov edi, dword [esp + 0x18]
cmp dword [esp], ecx
jne 0x10011e0a
jmp 0x100124ed
mov eax, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
mov dword [esp + 8], eax
test edx, edx
je 0x100124ed
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x10011e80
test edx, edx
je 0x100124ed
mov esi, eax
add esi, 4
mov eax, dword [esp + 0x2c]
cmp byte [eax], 4
jne 0x10011ec3
mov ecx, ebx
push edi
mov dword [esp + 0x1c], edi
mov edi, edx
call fcn.1001425c
mov edx, edi
mov edi, dword [esp + 0x18]
xor al, 1
mov byte [esi - 4], al
mov byte [esi], 4
add esi, 8
add ebx, 8
add edi, 8
dec edx
jne 0x10011e9e
jmp 0x100124ed
mov eax, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
mov dword [esp + 8], eax
test edx, edx
je 0x100124ed
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x10011f07
test edx, edx
je 0x100124ed
xor eax, eax
xor ecx, ecx
cmp byte [ebx + ecx*8 + 4], 4
jne 0x10011f43
cmp byte [ebx + ecx*8], al
setne dl
cmp byte [edi + ecx*8], al
setne dh
and dh, dl
movzx esi, dh
mov edx, 4
jmp 0x10011f47
xor edx, edx
xor esi, esi
mov edi, eax
or edi, esi
mov esi, dword [esp + 8]
mov dword [esi + ecx*8], edi
mov dword [esi + ecx*8 + 4], edx
inc ecx
mov edi, dword [esp + 0x18]
cmp dword [esp], ecx
jne 0x10011f24
jmp 0x100124ed
mov eax, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
mov dword [esp + 8], eax
test edx, edx
je 0x100124ed
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x10011f98
test edx, edx
je 0x100124ed
xor eax, eax
xor edx, edx
mov cl, byte [ebx + edx*8 + 4]
mov esi, 2
cmp cl, 2
je 0x10011fcd
cmp cl, 3
jne 0x10011fdb
mov esi, 3
mov ecx, edi
mov edi, dword [ebx + edx*8]
mov cl, byte [ecx + edx*8]
shl edi, cl
mov ecx, eax
jmp 0x10011fe1
xor edi, edi
xor ecx, ecx
xor esi, esi
or edi, ecx
mov ecx, dword [esp + 8]
mov dword [ecx + edx*8], edi
mov dword [ecx + edx*8 + 4], esi
inc edx
mov edi, dword [esp + 0x18]
cmp dword [esp], edx
jne 0x10011fb5
jmp 0x100124ed
mov eax, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
mov dword [esp + 8], eax
test edx, edx
je 0x100124ed
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x10012030
test edx, edx
je 0x100124ed
xor eax, eax
mov dl, 3
xor esi, esi
mov cl, byte [ebx + esi*8 + 4]
cmp cl, dl
je 0x1001206b
cmp cl, 2
jne 0x1001207a
mov ebx, dword [ebx + esi*8]
mov cl, byte [edi + esi*8]
sar ebx, cl
mov ecx, 2
jmp 0x1001207e
mov ebx, dword [ebx + esi*8]
mov cl, byte [edi + esi*8]
shr ebx, cl
mov ecx, 3
jmp 0x1001207e
xor ebx, ebx
xor ecx, ecx
mov edi, dword [esp + 8]
or ebx, eax
mov dword [edi + esi*8], ebx
mov dword [edi + esi*8 + 4], ecx
inc esi
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
cmp dword [esp], esi
jne 0x1001204f
jmp 0x100124ed
mov eax, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
mov dword [esp + 8], eax
test edx, edx
je 0x100124ed
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x100120d1
mov esi, dword [esp + 4]
test edx, edx
je 0x100124f1
xor eax, eax
xor ecx, ecx
mov bl, byte [ebx + ecx*8 + 4]
mov edx, 2
cmp bl, 2
je 0x1001210a
cmp bl, 3
jne 0x10012118
mov edx, 3
mov esi, dword [edi + ecx*8]
mov ebx, dword [esp + 0x14]
mov edi, eax
and esi, dword [ebx + ecx*8]
jmp 0x10012122
mov ebx, dword [esp + 0x14]
xor esi, esi
xor edi, edi
xor edx, edx
or esi, edi
mov edi, dword [esp + 8]
mov dword [edi + ecx*8], esi
mov dword [edi + ecx*8 + 4], edx
inc ecx
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x18]
cmp dword [esp], ecx
jne 0x100120f2
jmp 0x100124f1
mov eax, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
mov dword [esp + 8], eax
test edx, edx
je 0x100124ed
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x10012175
mov esi, dword [esp + 4]
test edx, edx
je 0x100124f1
xor eax, eax
xor ecx, ecx
mov bl, byte [ebx + ecx*8 + 4]
mov edx, 2
cmp bl, 2
je 0x100121ae
cmp bl, 3
jne 0x100121bc
mov edx, 3
mov esi, dword [edi + ecx*8]
mov ebx, dword [esp + 0x14]
mov edi, eax
xor esi, dword [ebx + ecx*8]
jmp 0x100121c6
mov ebx, dword [esp + 0x14]
xor esi, esi
xor edi, edi
xor edx, edx
or esi, edi
mov edi, dword [esp + 8]
mov dword [edi + ecx*8], esi
mov dword [edi + ecx*8 + 4], edx
inc ecx
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x18]
cmp dword [esp], ecx
jne 0x10012196
jmp 0x100124f1
mov eax, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
mov dword [esp + 8], eax
test edx, edx
je 0x100124ed
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x10012219
mov esi, dword [esp + 4]
test edx, edx
je 0x100124f1
xor eax, eax
xor ecx, ecx
mov bl, byte [ebx + ecx*8 + 4]
mov edx, 2
cmp bl, 2
je 0x10012252
cmp bl, 3
jne 0x10012260
mov edx, 3
mov esi, dword [edi + ecx*8]
mov ebx, dword [esp + 0x14]
mov edi, eax
or esi, dword [ebx + ecx*8]
jmp 0x1001226a
mov ebx, dword [esp + 0x14]
xor esi, esi
xor edi, edi
xor edx, edx
or esi, edi
mov edi, dword [esp + 8]
mov dword [edi + ecx*8], esi
mov dword [edi + ecx*8 + 4], edx
inc ecx
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x18]
cmp dword [esp], ecx
jne 0x1001223a
jmp 0x100124f1
mov eax, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
mov dword [esp + 8], eax
test edx, edx
je 0x100124ed
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x100122bd
mov esi, dword [esp + 4]
test edx, edx
je 0x100124f1
xor eax, eax
mov dl, byte [ebx + 4]
lea ecx, [edi + eax*8]
cmp dl, 1
je 0x100122fd
cmp dl, 2
je 0x1001230c
cmp dl, 3
jne 0x1001231a
mov edx, dword [ebx]
cmp edx, dword [edi + eax*8]
mov edx, dword [esp]
jb 0x10012316
jmp 0x1001231d
movss xmm0, dword [edi + eax*8]
mov edx, dword [esp]
ucomiss xmm0, dword [ebx]
ja 0x10012316
jmp 0x1001231d
mov edx, dword [ebx]
cmp edx, dword [edi + eax*8]
mov edx, dword [esp]
jge 0x1001231d
mov ecx, ebx
jmp 0x1001231d
mov edx, dword [esp]
movsd xmm0, qword [ecx]
mov ecx, dword [esp + 8]
add ebx, 8
movsd qword [ecx + eax*8], xmm0
inc eax
cmp edx, eax
jne 0x100122dc
jmp 0x100124f1
mov eax, dword [esp]
xor ecx, ecx
mov edx, 8
dec ecx
mul edx
mov esi, eax
cmovo esi, ecx
call fcn.100241ca
mov ecx, eax
push esi
call fcn.1002435a
mov edx, dword [esp]
mov dword [esp + 8], eax
test edx, edx
je 0x100124ed
lea esi, [eax + edx*8]
mov ecx, eax
mov dword [ecx], 0
mov byte [ecx + 4], 0
add ecx, 8
cmp ecx, esi
jne 0x1001236a
mov esi, dword [esp + 4]
test edx, edx
je 0x100124f1
xor eax, eax
mov dl, byte [ebx + 4]
lea ecx, [edi + eax*8]
cmp dl, 1
je 0x100123a5
cmp dl, 2
je 0x100123b4
cmp dl, 3
jne 0x100123c2
mov edx, dword [ebx]
cmp edx, dword [edi + eax*8]
jmp 0x100123ad
movss xmm0, dword [ebx]
ucomiss xmm0, dword [edi + eax*8]
mov edx, dword [esp]
ja 0x100123be
jmp 0x100123c5
mov edx, dword [ebx]
cmp edx, dword [edi + eax*8]
mov edx, dword [esp]
jle 0x100123c5
mov ecx, ebx
jmp 0x100123c5
mov edx, dword [esp]
movsd xmm0, qword [ecx]
mov ecx, dword [esp + 8]
add ebx, 8
movsd qword [ecx + eax*8], xmm0
inc eax
cmp edx, eax
jne 0x10012389
jmp 0x100124f1
mov ecx, dword [ebp + 0x10]
mov eax, 4
push dword [esi + 0x10]
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 4]
push str.Constant_Folding_cannot_be_done_for_matrix_multiply
jmp 0x100111bd
cmp dword [esp], 0
mov al, 1
je 0x100125b0
mov dword [esp + 8], edi
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
xor esi, esi
mov ecx, ebx
push edi
call fcn.1001425c
test al, al
je 0x100125a2
inc esi
add ebx, 8
add edi, 8
cmp esi, dword [esp]
jb 0x10012417
mov esi, dword [esp + 4]
mov edi, dword [esp + 8]
mov al, 1
jmp 0x100125b0
xor eax, eax
cmp dword [esp], 0
je 0x100125ac
mov ebx, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 4], eax
mov ecx, edi
push ebx
call fcn.1001425c
test al, al
je 0x100125aa
mov eax, dword [esp + 4]
add edi, 8
add ebx, 8
inc eax
cmp eax, dword [esp]
jb 0x10012454
jmp 0x100125a6
mov ecx, dword [ebp + 0x10]
mov eax, 4
push dword [esi + 0x10]
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 4]
push str.Constant_Folding_cannot_be_done_for_vector_times_matrix
jmp 0x100111bd
mov ecx, dword [ebp + 0x10]
mov eax, 4
push dword [esi + 0x10]
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 4]
push str.Constant_Folding_cannot_be_done_for_matrix_times_vector
jmp 0x100111bd
mov dword [esp + 0x24], 0
jmp 0x100124ed
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 4]
mov eax, 4
push dword [edx + 0x10]
push dword [edx + 0xc]
push dword [edx + 8]
push dword [edx + 4]
push str.Constant_folding_cannot_be_done_for____
jmp 0x100111bd
mov dword [esp + 0x28], 0
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
call fcn.100241ca
mov ecx, eax
push 0x44
call fcn.1002435a
mov ecx, eax
xor eax, eax
mov dword [ecx + 8], eax
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0xc], eax
mov al, byte [esp + 0x1f]
mov byte [ecx + 0x14], al
mov eax, dword [esp + 0x28]
mov byte [ecx + 0x15], bl
mov byte [ecx + 0x17], al
mov eax, dword [esp + 0x24]
mov byte [ecx + 0x18], al
mov eax, dword [esp + 0x44]
mov byte [ecx + 0x19], al
movzx eax, word [esp + 0x80]
mov word [ecx + 0x2a], ax
mov eax, dword [esp + 8]
movsd xmm0, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x78]
movsd qword [ecx + 0x22], xmm1
movsd qword [ecx + 0x1a], xmm0
mov dword [ecx + 0x2c], edi
movsd xmm0, qword [esp + 0x50]
movsd xmm1, qword [esp + 0x58]
movsd qword [ecx + 0x30], xmm0
movsd qword [ecx + 0x38], xmm1
mov dword [ecx], 0x101c92f0
mov dword [ecx + 0x40], eax
mov byte [ecx + 0x16], 2
movsd xmm0, qword [esi + 4]
movsd xmm1, qword [esi + 0xc]
movsd qword [ecx + 0xc], xmm1
movsd qword [ecx + 4], xmm0
mov eax, ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
mov esi, dword [esp + 4]
xor eax, eax
jmp 0x100125ac
mov al, 1
mov edi, dword [esp + 8]
mov byte [edi], al
mov byte [edi + 4], 4
call fcn.100241ca
mov ecx, eax
push 0x44
call fcn.1002435a
xor edx, edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], edx
mov dword [eax + 8], edx
mov dword [eax + 4], edx
mov dword [eax + 0x10], edx
mov dword [eax + 0xc], edx
mov word [eax + 0x14], 4
mov word [eax + 0x17], 0x101
mov byte [eax + 0x19], 0
movzx ecx, word [esp + 0x42]
mov word [eax + 0x2a], cx
mov ecx, eax
movsd xmm0, qword [esp + 0x32]
movsd xmm1, qword [esp + 0x3a]
movsd qword [eax + 0x22], xmm1
movsd qword [eax + 0x1a], xmm0
mov dword [eax + 0x2c], 0xffffffff
mov dword [eax + 0x34], edx
mov dword [eax + 0x30], edx
mov dword [eax + 0x3c], edx
mov dword [eax + 0x38], edx
mov dword [eax], 0x101c92f0
mov dword [eax + 0x40], edi
mov byte [eax + 0x16], 2
movsd xmm0, qword [esi + 4]
movsd xmm1, qword [esi + 0xc]
movsd qword [eax + 0xc], xmm1
movsd qword [eax + 4], xmm0
jmp case.0x10010be5.22
mov esi, dword [esp + 4]
jmp 0x100124f9